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

主键约束

主键(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)
);

最新文章

  1. HTTPS 原理解析
  2. Zookeeper异常ConnectionLossException解决
  3. mysql缓存、存储引擎
  4. 【Qt学习笔记】窗口部件整理
  5. LeetCode OJ-- Scramble String ***@
  6. (转)WPF控件开源资源
  7. 转数据库分库分表(sharding)系列(二) 全局主键生成策略
  8. ubuntu14.04安装wine以及国际版QQ
  9. 【成长之路】【python】python基础1
  10. Linux Framebuffer驱动剖析之二—驱动框架、接口实现和使用
  11. 使用crypto-js对数据进行AES加密、解密
  12. 12. thymeleaf中资源相对路径的解决
  13. CSS3_扇形导航_transitionend 事件
  14. 自己DIY出来一个JSON结构化展示器
  15. 收集几个html和element-ui的录入控件
  16. easy UI的密码长度以及重复输入验证
  17. CentOS 5.5 防火墙开启、关闭以及开放指定端口
  18. 3. 哈工大LTP解析
  19. Entity Framework Code First - Change Tracking
  20. asp.net c# repeater或gridview导出EXCEL的详细代码。

热门文章

  1. ClickHouse 使用
  2. 调度器42—进程exit退出流程
  3. pytest学习总结
  4. superset2 开发环境部署+阿里odps连接
  5. Mamba安装
  6. go new和make区别
  7. javascript【基础】数据类型
  8. under display camera
  9. String intern的理解
  10. 普通java项目打成jar包,引入第三方jar .