永发信息网

在sql中怎样设置主键语法

答案:4  悬赏:60  手机版
解决时间 2021-11-08 13:29
  • 提问者网友:萌卜娃娃
  • 2021-11-07 17:19
在sql中怎样设置主键语法
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-11-07 17:28
创建表

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

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

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

示例:
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);
全部回答
  • 1楼网友:深街酒徒
  • 2021-11-07 21:02
如果只是简单需要主键约束,其实可以直接写在你要设置字段后面就可以了。
  • 2楼网友:低血压的长颈鹿
  • 2021-11-07 20:00
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);
  • 3楼网友:佘樂
  • 2021-11-07 18:38
create table table_name
(
column1 data_type,
column2 data_type,
column3 data_type
......
primary key (column_name1,column_name2...)
)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯