SQL——五大约束

简介: SQL——五大约束

数据库的五大约束

主键约束(PRIMARY KEY):确保某列必须要有唯一的标识符

唯一约束(UNIQUE):唯一性,可以空,但只能有一个

默认约束(DEFAULT):该数据的默认值

外键约束(FOREIGN KEY):需要建立两表间的关系

非空约束(NOT NULL):设置非空约束,该字段不能为空

主键

1、主键的注意事项

主键默认非空,默认唯一性约束,只有主键才能设置自动增长,自动增长一定是主键,主键不一定需要自动增长

2、设置主键的方式

在定义列时设置:ID INT PRIMARY KEY

在列定义完之后设置:primary KEY(id)

外键

1、外键的注意事项

只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB 外键必须与参照列的数据类型必须相同,(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同)

2、设置外键的语法

CONSTRAINT 外键名 FOREIGN KEY (外键字段)REFERENCES 参照表 (参照字段)    ON DELETE SET NULL ON UPDATE CASCADE 设置参照完整性

3、外键约束的参照操作

参照表的完整性操作:当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对;

参照操作可选值:

  • RESTRICT拒绝参照表删除或更新参照字段;              
  • RESTRICT和NO ACTION相同,但这个指令只在mysql生效;                
  • CASCADE删除或更新参照表的参照字段时,外键表的记录同步删除更新;              
  • SET NULL 删除或更新参照表的参照字段时,外键表的外键设为NULL;

语法示例

1、添加主键约束

Alter table 表名

add Constraint 主键名

Primary key (字段)

2、 添加唯一约束

Alter table 表名

add Constraint 约束名

unique(字段)

3、添加默认约束

Alter table 表名

add Constraint 约束名

defaulf(默认内容)

for(字段名)

4、添加检查约束

Alter table 表名

add Constraint 约束名

check(字段表达)

5、添加外键约束

Alter table 表名

add Constraint 约束名

foreign key(字段)

references 表名(字段名)

 


相关文章
|
6天前
|
SQL 数据库
如何应用SQL约束条件?
【10月更文挑战第28天】如何应用SQL约束条件?
21 11
|
6天前
|
SQL 存储 Oracle
sql约束条件
【10月更文挑战第28天】sql约束条件
23 8
|
27天前
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
27 1
|
1月前
|
数据库
SQL_语句常见的操作创建,使用,删除表和表级约束
SQL_语句常见的操作创建,使用,删除表和表级约束
28 0
|
3月前
|
SQL 数据采集 关系型数据库
7、SQL约束
7、SQL约束
46 0
|
4月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL FOREIGN KEY 约束
【7月更文挑战第24天】CREATE TABLE 时的 SQL FOREIGN KEY 约束。
50 5
|
4月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL FOREIGN KEY 约束
【7月更文挑战第19天】CREATE TABLE 时的 SQL FOREIGN KEY 约束
40 8
|
4月前
|
SQL Oracle 关系型数据库
ALTER TABLE 时的 SQL PRIMARY KEY 约束
【7月更文挑战第24天】ALTER TABLE 时的 SQL PRIMARY KEY 约束。
38 3
|
4月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL PRIMARY KEY 约束
【7月更文挑战第24天】CREATE TABLE 时的 SQL PRIMARY KEY 约束。
42 2
|
4月前
|
SQL Oracle 关系型数据库
SQL UNIQUE 约束
【7月更文挑战第18天】SQL UNIQUE 约束。
45 6