mysql07 SQL约束
Posted 清醒吧!兄弟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql07 SQL约束相关的知识,希望对你有一定的参考价值。
约束是一种限制,它是对表的行列做的限制,来确保数据的完整性和唯一性。
表的约束类型 | 主键 | 默认 | 唯一 | 外键 | 非空 |
关键字 | primary key | default | unique | foregin | not null |
一、主键约束(primary)
(PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过
主键就能准确定位到一行,因此主键十分重要,主键不能有重复记录且不能为空。
create table employee ( id int(10) primary key,#主键 name char(20) )
还可以自定义主键:
people_num int(10) default \'10\', constraint dpt_pk Primary key(dpt_name) );
还有一种特殊的主键---复合主键。主键不仅可以是1列,可以两列,也可以是多列。
constraint dpt_pk Primary key(pro_num,pro_name) );
二、默认值约束(default)
当有default列,插入的数据为空时,将使用默认值。
people_num int(10) default 10,
三、唯一约束(unique)
规定一张表中指定的一列的值不能有重复值,即这列值都是唯一的。
四、外键约束(foreign key)
外键既能确保数据的完整性,也能表现表之间的关系。
例如:
有用户表和文章表,给文章表添加一个指向用户id的外键,表示这篇文章所属用户。
如果你想删除一个用户,这个用户的文章还在数据库存在,就会删除报错。
一个表可以有多个外键,每个外键必须 REFERENCES (参考) 另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值
constrint emp_fk foreign key (in_dpt) references department(dpt_name) );
五、非空约束(not null)
在插入值时,必须非空。
以上是关于mysql07 SQL约束的主要内容,如果未能解决你的问题,请参考以下文章