1.1主键
主键 (PRIMARY KEY)用于约束表中的一行,作为这一行的唯一标识符;在一张表中通过主键就能准确定位到一行。主键不能有重复并且不能为空。
一般可以这样定义主键:create table <表名>(<列名> <数据类型> primary key);
或者create table <表名>(<列名> <数据类型>,...,constrain <自定义主键名> primary key(<要定为主键的列名>);
复合主键-可以由表中的两列或者多列来共同标识;constrain <自定义主键名> primary key<要定为主键的列名1,要定位主键的列名2,...>;
1.2默认值约束
默认值约束(default)规定,有default约束的列,当插入数据为空时,使用默认值。
一般可以这样定义默认值约束:create table <表名>(<列名> <数据类型> default <自己选取的默认值>);
DEFAULT 约束只会在使用 INSERT 语句时体现出来,INSERT语句中,如果被 DEFAULT 约束的位置没有值,那么这个位置将会被 DEFAULT 的值填充。
1.3唯一约束
唯一约束 (unique) ,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。
一般可以这样定义:create table <表名>(<列名> <数据类型>,unique (<被唯一约束的列名>);
当 insert 语句新插入的数据和已有数据重复时,如果有 UNIQUE约束,则 INSERT 失败。
1.4外键约束
外键(foreign key)可以表名表之间的关系。
一个表可以有多个外键,每个外键必须 参考(references ) 另一个表的主键;被外键约束的列,取值必须在它参考的列中 有对应值。
一般可以这样定义外键约束:create table <表名>(<列名> <数据类型>,constrain <自定义外键名> foreign key(<被约束的列名即外键>) references <参考表>(<参考表中的列名>);或者create table <表名>(<列名> <数据类型> references <参考表>(<参考表中的列名>);
1.5非空约束
被非空约束(not null)的列,在插入值时必须为非空。
一般可以这样定义非空约束:create table <表名>(<列名> <数据类型> not null);