SQL 主键和外键的定义以及使用

主键=主码:某个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)

关系数据库依赖于主键—它是数据库物理模式的基石。

  唯一性:一个数据表只能有一个主键
  标识性:一个数据表的所有记录都具有不同的主键取值
  非空性:不能为空
  人为的选取某个候选码为主码
  作为一个可以被外键有效引用的对象。

主键约束:

  • 表外添加
格式为:
alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)

例子:
alter table student add constraint sno primary key (id);
  • 表内添加:
列名 type类型 primary key not  NULL
例:
 sno  char(10) primary key   NOT NULL

删除主键约束:

PS:主键一般不会修改的

alter table products drop primary key;

外键约束:

  • 表外添加:
格式:
alert table 表名 add constraint 外键的名称 foreign key(外键字段名) references 外表表名(主键字段名) 
 (列名)
例子:
alter table student add constraint spno foreign key (spno) references spon_table (spno);
  • 表内添加
   列名 char(8) foreign key references 外表表名(主键字段名) NULL
   例:
	  spno	char(8) foreign key references spon_table(spno)   NULL

删除外键约束:

alter table 表名 drop foreign key 外键名;

主键和外键的意义:

主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和可用性都有着决定性的影响。

你可能感兴趣的:(SQL)