在sql中怎样设置主键语法

 我来答
我又强力了
推荐于2017-12-16 · TA获得超过802个赞
知道小有建树答主
回答量:1058
采纳率:0%
帮助的人:716万
展开全部
创建表

--------------------------------------------------------------------------------

CREATE TABLE TABLE_NAME(
column1 DATATYPE [NOT NULL] [PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
[constraint <约束名> 约束类型 (要约束的字段名)... ]
);
说明:
TABLE_NAME --表名.
column1,column2 --列的名称 不能取关键字 
DATATYPE --是Oracle的数据类型,可以查看附录.
NOT NULL /NULL --不可以/可以允许资料有空的.NULL一般省略.
PRIMARY KEY --是本表的主键。
CONSTRAINT --是对表里的字段添加约束.(约束类型有 Check,Unique,Primary key,not null,Foreign key)。

示例:
CREATE TABLE student(
s_id number(8) PRIMARY KEY,
s_name varchar2(20) NOT NULL,
s_sex varchar2(8) ,
clsid number(8) ,
CONSTRAINT u_1 UNIQUE(s_name),
CONSTRAINT c_1 CHECK (s_sex in ('MALE','FEMALE'))
);

表级约束
如 设置 两列不能同时为空
ALTER TABLE tablename ADD CONSTRAINT check_name CHECK (col1 is not null or col2 is not null) ;

复制表

--------------------------------------------------------------------------------

CREATE TABLE TABLE as <SELECT 语句>

(需注意的是复制表不能复制表的约束);

示例:
CREATE TABLE test AS SELECT * FROM emp;
会将表emp的数据一并复制到test中,但约束没有复制.

如果只复制表的结构不复制表的数据则:
CREATE TABLE test as (SELECT * FROM emp WHERE 1=2);
或者
CREATE TABLE test as (SELECT * FROM emp WHERE FALSE);
夏天的风34s
2012-04-11 · TA获得超过117个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:131万
展开全部
如果只是简单需要主键约束,其实可以直接写在你要设置字段后面就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
努力学习数据库
2012-04-10 · TA获得超过169个赞
知道答主
回答量:20
采纳率:0%
帮助的人:11万
展开全部
create table table_name
(
column1 data_type,
column2 data_type,
column3 data_type
......
primary key (column_name1,column_name2...)
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bigwoodhea
2012-04-13
知道答主
回答量:17
采纳率:0%
帮助的人:10.2万
展开全部
CREATE TABLE table_name
(
column1 data_type,
column2 data_type,
column3 data_type
)

CREATE UNIQUE INDEX PK_ table_name ON table_name
(column1 )

ALTER TABLE table_name ADD (
CONSTRAINT PK_table_name
PRIMARY KEY
(column1 )
USING INDEX PK_table_name
ENABLE VALIDATE);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式