设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL中常见的约束类别是什么

发布时间:2022-01-14 15:05 所属栏目:[MySql教程] 来源:互联网
导读:这篇文章给大家分享的是有关MySQL中常见的约束类型是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 约束的字面意思就是规定或者限制某个事该如何去做,在MySQL中,约束就是对数据表中数据指定规则,也就是对数据进行限制
       这篇文章给大家分享的是有关MySQL中常见的约束类型是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
 
 
     约束的字面意思就是规定或者限制某个事该如何去做,在MySQL中,约束就是对数据表中数据指定规则,也就是对数据进行限制,以此来确保可靠性,比如不允许某列出现Null值,实际中我们会遇到以下类型的约束。
 
NOT NULL : 确保列不能有NULL值
CHECK : 确保列中的值满足特定条件
UNIQUE : 确保一列中的所有值都不同
PRIMARY KEY: NOT NULL和UNIQUE组合,唯一标识表中的每一行
FOREIGN KEY : 外键约束
DEFAULT : 如果未指定值,则为列设置默认值
约束
1.NULL
MySQL中通过使用NOT NULL确保列中不会出现Null值,创建表时候格式如下:
 
mysql> create table user(name varchar(255)not null);
Query OK, 0 rows affected (0.06 sec)
如果试图插入一个null值,则会抛出异常。
 
mysql> insert user values(null);
ERROR 1048 (23000): Column 'name' cannot be null
或者在现有表上新增NOT NULL约束。
  
mysql> create table user(age int(11) check(age>18 and age <80));
Query OK, 0 rows affected, 1 warning (0.06 sec)
插入测试,可以发现9、81在插入的时候抛出异常。
 
mysql> insert user values(9);
ERROR 3819 (HY000): Check constraint 'user_chk_1' is violated.
 
mysql> insert user values(19);
Query OK, 1 row affected (0.01 sec)
 
mysql> insert user values(81);
ERROR 3819 (HY000): Check constraint 'user_chk_1' is violated.
mysql>
也可以进行多列约束,如年龄必须大于18,城市必须为中国。

(编辑:ASP站长网)

    网友评论
    推荐文章