SQL语法CONSTRAINT约束操作详情


Posted in MySQL onJanuary 18, 2022

CONSTRAINT约束,即对数据库表中的数据进行约束,以保证数据记录的完整性和有效性。

比较常用的是,创建表时添加约束,但是为了整理记录,这里把所有的用法都写下来,但是大家按照最常见的重点掌握。

1.主键约束 primary key

#主键约束 primary key

#添加主键 添加后系统会默认为对应的列添加索引 提高检索速度 
#方法一(单列主键):id int PRIMARY KEY //方法一是创建表时 当前定义字段后 方法二是创建表时 所有定义字段后
#方法二(单|多列主键):CONSTRAINT pk1 PRIMARY KEY(name,deptId) //CONSTRAINT pk1可以省略 pk1是索引名 可以任意取
#方法三(创建表后添加):ALTER TABLE emp1 ADD PRIMARY KEY(eid) //可以是单列也可以是多列

#删除主键
#ALTER TABLE emp1 DROP PRIMARY KEY //每个表只有一个主键 删除的时候不分单列主键还是联合主键

#主键作用是主键约束的列是唯一且非空

2.自增长约束 auto_increment

#自增长约束 auto_increment 

#一般用来实现主键的自增长约束 用户就不再需要为其赋值 数据库自动赋值 默认从1开始
#id int PRIMARY KEY auto_increment

#创建表时可以指定自增长初始值
/*CREATE TABLE IF NOT EXISTS mydb1.employee(
        id int,
        name varchar(20),
        gender varchar(10),
        salary double
)auto_increment=100;*/

#创建表后可以添加自增长初始值
#ALTER TABLE emp2 auto_increment=100

#delete 后默认自增长从断点开始
#truncate 后默认自增长从1开始(无论有无初始值)

3.非空约束 not null

#非空约束 not null  //真正的空是NULL 而不是'NULL'或者''

#添加约束
#方法一:name varchar(20) not null
#方法二:ALTER TABLE emp3 MODIFY name varchar(20) not null (创建表后添加)

#删除约束
#ALTER TABLE emp3 MODIFY name varchar(20)

4.唯一约束 unique

#唯一约束 unique

#添加约束  //在mysql中NULL和任何值都不相同 包括它自己
#方法一:name varchar(20) unique
#方法二:ALTER TABLE emp4 ADD CONSTRAINT unique_pn unique(name) (创建表后添加)

#删除约束
#ALTER TABLE emp4 DROP INDEX unique_pn // unique_pn 是约束名 若没有名字 则默认是使用的列名

5.默认约束 default

#默认约束 default

#添加约束
#方法一:address varchar(20) DEFAULT '北京'
#方法二:ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT '北京' (创建表后添加)

#删除约束
#ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT NULL

6.零填充约束 zerofill

#零填充约束 zerofill (显示效果) 了解即可

#添加约束
#address varchar(20) zerofill

#删除约束
#ALTER TABLE emp6 MODIFY id int 

到此这篇关于SQL语法CONSTRAINT约束操作详情的文章就介绍到这了,更多相关SQL语法CONSTRAINT约束操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
Mysql - 常用函数 每天积极向上
Apr 05 MySQL
MySQL时间盲注的五种延时方法实现
May 18 MySQL
MySQL库表名大小写的选择
Jun 05 MySQL
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
Jun 26 MySQL
QT连接MYSQL数据库的详细步骤
Jul 07 MySQL
mysql脏页是什么
Jul 26 MySQL
为什么MySQL选择Repeatable Read作为默认隔离级别
Jul 26 MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
Jan 22 MySQL
分享MySQL常用 内核 Debug 几种常见方法
Mar 17 MySQL
MySQL事务操作的四大特性以及并发事务问题
Apr 12 MySQL
MySQL数据库如何使用Shell进行连接
Apr 12 MySQL
mysql查找连续出现n次以上的数字
May 11 MySQL
MySQL笔记 —SQL运算符
Jan 18 #MySQL
Mysql中一千万条数据怎么快速查询
Dec 06 #MySQL
Mysql中有关Datetime和Timestamp的使用总结
Dec 06 #MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
Dec 06 #MySQL
mysql中整数数据类型tinyint详解
Dec 06 #MySQL
SQL注入详解及防范方法
Dec 06 #MySQL
防止web项目中的SQL注入
Dec 06 #MySQL
You might like
杏林同学录(七)
2006/10/09 PHP
php集成动态口令认证
2016/07/21 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
jquery实现图片预加载
2015/12/25 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
javascript之Array 数组对象详解
2016/06/07 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
python xml解析实例详解
2016/11/14 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
Python线程协作threading.Condition实现过程解析
2020/03/12 Python
python属于跨平台语言码
2020/06/09 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
火车的故事教学反思
2014/02/11 职场文书
优秀教导主任事迹材料
2014/05/09 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书