mysql之字段约束-第五篇

Posted 长木木弓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql之字段约束-第五篇相关的知识,希望对你有一定的参考价值。

   数据库的完整性约束是为了在数据库应用中保证数据的一致性和正确性。所以在创建数据表时定义其字段的约束是非常有必要的。

主键约束

主键(primary key)是一个列或者列的组合,其值能唯一地标识表中的每一行。且一张表只能定义一个主键。主键是通过PRIMARY KEY 关键字来指定的。

create table employee (
empId INT(11) primary key,
emp_name VARCHAR(25),
orgId INT(11),
salary DECIMAL
);

外键约束

外键用来在两个表的数据之间简历连接,对应着另一张表的主键。

新建一张dept表:

 create table dept
(
id int(11) primary key,
dept_name varchar(22) not null,
location varchar(50)
);

删除之前创建的employee表

drop table if exists employee;

再创建deptId为外键的employee表:

create table employee (
empId INT(11) primary key,
emp_name VARCHAR(25),
orgId INT(11),
salary DECIMAL,
CONSTRAINT emp_dept
FOREIGN key(orgId) REFERENCES dept(id)
);

唯一约束

唯一约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。新建dept1表,指定部门名称唯一:

 create table dept1
(
id int(11) primary key,
dept_name varchar(22) UNIQUE,
location varchar(50)
);

默认值约束

默认值约束指定某列的默认值,创建dept3,指定部门位置为深圳;

 create table dept2
(
id int(11) primary key,
dept_name varchar(22) UNIQUE,
location varchar(50) DEFAULT 深圳
);

非空约束

非空约束在表中,某个列的定义后加上关键字NOT NULL 作为限定词,来约束该列的取值不能为空:

 create table dept3
(
id int(11) primary key,
dept_name varchar(22) not null,
location varchar(50) 
);

 

以上是关于mysql之字段约束-第五篇的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库学习第五篇完整性约束

MySQL还能这样玩---第五篇之视图应该这样玩

MySQL之存储引擎大全 -《从0到1-全面深刻理解MySQL系列-第五篇》

第五篇:模块

分库分表之第五篇

Spring第五篇