①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) )
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名)
前提是原先没有设置主键。
2.外键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) )
②修改时:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列]
3.使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) )
②修改时:alter table tb_name add primary key (字段1,字段2,字段3)
前提是原来表中没有设置主键,若原先已有主键则会报错。
使用primary key(字段1, 字段2, ...)的语句进行设置。一个表中最多只能有一个主键,也可以没有。一个主键既可以是单一的字段构成,也可以是多个字段联合构成,如果是单一字段,只需在该字段后面标记primary key即可,如果是多个字段联合构成,则需要采用最开始介绍的那种方式设置。
在部分数据库的图形化工具中(如Access、SQL Server等),在表设计的界面上,可以按住Ctrl键,然后选择要设置为联合主键的字段,都选好之后再按右键选择“设置为主键”。
根据你的问题,可以这样做:1、在已经建好的表上添加主键:altertable
b
add
constrant
id_pk
primary
key(id)2、在创建表时就设置好主键:create
table
b
(id
number(2),
number
varchar2(10),
age
number(3),
grade
varchar2(3),
constraint
id_pk
primary
key(id))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)