MySQL-约束创建、修改、删除的语法格式整理

目录

1、主键约束 PRIMARY KEY

2、外键约束 FOREIGN KEY

3、唯一约束 UNIQUE

4、检查约束 CHECK

5、默认值约束 DEFAULT

6、非空约束 NOT NULL


MySQL中,主要包括6种约束类型:

(1)主键约束

主键是表中能唯一识别表中每条信息的字段。要求:唯一、非空。一个表中只能有1个主键。

(2)外键约束

与主键结合使用,确保数据的一致性。

(3)唯一约束

一个表中可以有多个字段设置唯一约束,允许存在空值。

(4)检查约束

用来检查数据表中,字段值是否有效,减少无效数据的输入。

(5)非空约束

设置了非空约束的字段,不允许出现空值。

(6)默认值约束

设置了默认值约束的字段,在该字段无数据输入时,会自动添加一个默认值。通常和非空约束一起使用。

1、主键约束 PRIMARY KEY

不论是单字段主键还是多字段联合主键都需要满足:

1)主键能唯一标识表中每一行数据,且一个表中只能有1个主键的唯一性;

2)主键不能有NULL值;

3)联合主键中字段名不能重复出现。

设置主键的语法格式:

1)CREATE TABLE 语句中,

#单字段主键:

#在定义字段时,创建约束

CERATE TABLE <表名> (<字段名> <数据类型> PRIMARY KEY [默认值],...)

#定义完所有字段后,在最后创建约束

CERATE TABLE <表名> (<字段名> <数据类型> ,...,[CONSTRAINT <约束名>] PRIMARY KEY [字段名])

#多字段联合主键:

CERATE TABLE <表名> (<字段名> <数据类型> ,...,PRIMARY KEY [字段1,字段2,…,字段n])

2)ALTER TABLE 语句中,

#修改约束:

ALTER TABLE <表名> ADD PRIMARY KEY(<字段名>);

#删除约束:

ALTER TABLE <表名> DROP PRIMARY KEY;

2、外键约束 FOREIGN KEY

外键是与主键一起使用的,用来约束两个表的数据一致性和完整性。主键所在表为主表,外键所在表为从表。

外键需遵守的规则:

1)一个表可以有多个外键,允许有空值;

2)主表已存在于数据库中,或为正创建的表。主表必须已指定主键;

3)外键中字段数目、对应的字段数据类型必须与主键中字段数目、对应的字段数据类型相同。

设置外键的语法格式:

1)CREATE TABLE 语句中,

CERATE TABLE <表名> (<字段名> <数据类型> ,...,[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…])

2)ALTER TABLE 语句中,

#修改外键约束:

ALTER TABLE <表名> ADD CONSTRAINT <外键名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);

#删除外键约束:

ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

3、唯一约束 UNIQUE

设置唯一约束的语法格式:

1)CREATE TABLE 语句中,

CERATE TABLE <表名> (<字段名> <数据类型> UNIQUE,...);

2)ALTER TABLE 语句中,

#修改唯一约束:

ALTER TABLE <表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);

#删除唯一约束:

ALTER TABLE <表名> DROP INDEX <唯一约束名>;

4、检查约束 CHECK

设置检查约束的语法格式:

1)CREATE TABLE 语句中,

CERATE TABLE <表名> (<字段名> <数据类型> ,...,CHECK <检查约束>);

<检查约束>,可以是简单的表达式,也可以是子查询

2)ALTER TABLE 语句中,

#修改检查约束:

ALTER TABLE <表名> ADD CONSTRAINT <检查约束名> CHECK(<检查约束>);

#删除检查约束:

ALTER TABLE <表名> DROP CONSTRAINT <检查约束名>;

5、默认值约束 DEFAULT

设置默认值的语法格式:

1)CREATE TABLE 语句中,

CERATE TABLE <表名> (<字段名> <数据类型> DEFAULT <默认值>,...);

2)ALTER TABLE 语句中,

#修改默认值:

ALTER TABLE <表名>
CHANGE COLUMN <字段名> <数据类型> DEFAULT <默认值>;

#删除默认值:

ALTER TABLE <表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT NULL;

6、非空约束 NOT NULL

设置非空约束的语法格式:

1)CREATE TABLE 语句中,

CERATE TABLE <表名> (<字段名> <数据类型> NOT NULL,...);

2)ALTER TABLE 语句中,

#修改非空约束:

ALTER TABLE <表名> CHANGE COLUMN <字段名>

<字段名> <数据类型> NOT NULL;

#删除非空约束:

ALTER TABLE <表名> CHANGE COLUMN <字段名>

<字段名> <数据类型> NULL;

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值