MySQL笔记(二)约束

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);














猜你喜欢

转载自blog.csdn.net/xiaoxiaoliluo917/article/details/79629086