阅读 1443

SQL中常用的约束条件使用(sql约束表达式大全)

前言

  在我们的世界中充满各种各样的规则,然儿其实规则有很多种不同的定义,也有很多种不同层次的规则,规则约束着行为也保护着受体。那么在SQL中也是有约束条件的,本文将简单了解一下SQL中的常用约束条件。

SQL约束

  在我们的SQL中的约束,一般是指规定表中的数据规则,当我们在操作数据表中的数据时,如果违反了约束的数据行为,将进行的行为将会被约束禁止。

  常用的约束有以下几个:

  • NOT NULL:非空。

  • UNIQUE:唯一索引。

  • PRIMARY KEY:主键。

  • FOREIGN KEY:外键。

  • CHECK:检查。

  • DEFAULT:默认值。

测试使用数据表:

CREATE TABLE `s_user` (   `userid` int(11) NOT NULL AUTO_INCREMENT,   `nick_name` varchar(50) DEFAULT NULL,   `name` varchar(255) DEFAULT NULL,   `email` varchar(50) DEFAULT NULL COMMENT '邮箱',   `pass_word` varchar(255) DEFAULT NULL,   `state` tinyint(3) DEFAULT NULL,   `create_time` datetime DEFAULT NULL,   PRIMARY KEY (`userid`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; 复制代码

NOT NULL

  NOT NULL表示数据库表中某一列值不能存在NULL值。上面测试表中除了主键userid是非空外。其他的数据字段都是可以为空的。我们为 pass_word设置为非空。执行的语句如下

ALTER TABLE `s_user` MODIFY s_user.pass_word varchar(255) NOT NULL; 复制代码

执行成功 图片.png 可以看到表中的 pass_word已经是NOT NULL了。 图片.png   下面进行验证,插入一条数据,默认 pass_word为空,看是否可以插入成功。可以看到 已经提示 pass_word子弹不能为空了。如果将 pass_word字段的NULL换成其他值,则可以新增数据成功。

INSERT INTO `test`.`s_user`( `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time`) VALUES ('小张', '小张', '123@qq.com', NULL, 1, '2022-02-10 19:48:43'); 复制代码

执行失败。 图片.png

INSERT INTO `test`.`s_user`( `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time`) VALUES ('小张', '小张', '123@qq.com', '789', 1, '2022-02-10 19:48:43'); 复制代码

执行成功 图片.png

UNIQUE

  UNIQUE 约束是指列的唯一索引标识,同一列中,只能有一个值存在,如果相同值存在,则无法插入数据。为列或列集合提供了唯一性的保证。在s_user表中将nick_name昵称名称设置为唯一性,不能够重复。

ALTER TABLE `s_user` ADD UNIQUE (s_user.nick_name) 复制代码

如下图可以看到SQL执行成功 图片.png 再次执行插入数据,nick_name还是使用“小张”。

INSERT INTO `test`.`s_user`( `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time`) VALUES ('小张', '小张', '123@qq.com', '789', 1, '2022-02-10 19:48:43'); 复制代码

可以看到已经存在nick_name为小张的了,不能再次新增相同数据。 图片.png

PRIMARY KEY

  PRIMARY KEY:主键,主键表示 NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。 如下图字段userid是表s_user中的主键,是唯一值,此表中的主键是自动递增AUTO_INCREMENT。

图片.png

FOREIGN KEY

  FOREIGN KEY:外键, 保证一个表中的数据匹配另一个表中的值的保证数据的完整性。外键一般是其他表中的主键,作为其他表中的外键使用。

CHECK

  CHECK:检查, 保证列中的值符合指定的条件。CHECK 约束用于限制列中的值的范围。将数据表s_user中的state字段,设置为只能输入1和2 的正数值,则执行如下SQL

ALTER TABLE `s_user` ADD CHECK (`state`>0 AND `state`<3) 复制代码

执行成功。

图片.png

DEFAULT

  DEFAULT:默认值, 规定没有给列赋值时,该数据列会初始化默认值。将数据表s_user中的email字段,如果插入数据为空时,设置为默认邮箱地址:123@qq.com

ALTER TABLE `s_user` ALTER `email` SET DEFAULT '123@qq.com'; 复制代码

图片.png

执行成功 图片.png

结语

  好了,以上就是SQL中常用的约束条件使用,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。


作者:小阿杰
链接:https://juejin.cn/post/7068298941132963877


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐