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事务的隔离级别与MVCC
Apr 22 MySQL
为什么mysql字段要使用NOT NULL
May 13 MySQL
MySQL中出现乱码问题的终极解决宝典
May 26 MySQL
SQL语法CONSTRAINT约束操作详情
Jan 18 MySQL
mysql下的max_allowed_packet参数设置详解
Feb 12 MySQL
一文弄懂MySQL中redo log与binlog的区别
Feb 15 MySQL
Mysql外键约束的创建与删除的使用
Mar 03 MySQL
MySQL数据库如何使用Shell进行连接
Apr 12 MySQL
MySQL提取JSON字段数据实现查询
Apr 22 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
May 06 MySQL
MySQL数据库安装方法与图形化管理工具介绍
May 30 MySQL
Mysql的Table doesn't exist问题及解决
Dec 24 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
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
jquery 表单进行客户端验证demo
2009/08/24 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
python中的多线程实例教程
2014/08/27 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
Python函数的周期性执行实现方法
2016/08/13 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
python和php哪个容易学
2020/06/19 Python
python如何调用java类
2020/07/05 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
.NET remoting的两种通道是什么
2016/05/31 面试题
母亲80寿诞答谢词
2014/01/16 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
迁户口计划生育证明
2014/10/19 职场文书
创业计划书详解
2019/07/19 职场文书