服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - SQL语法CONSTRAINT约束操作详情

SQL语法CONSTRAINT约束操作详情

2022-09-02 14:47雾里看花花里看雾 Mysql

这篇文章主要介绍了SQL语法CONSTRAINT约束操作详情,CONSTRAINT,约束,即对数据库表中的数据进行约束,以保证数据记录的完整性和有效性。下面来看看文章的学习介绍吧

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

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

1.主键约束 primary key

?
1
2
3
4
5
6
7
8
9
10
11
#主键约束 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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#自增长约束 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

?
1
2
3
4
5
6
7
8
#非空约束 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

?
1
2
3
4
5
6
7
8
#唯一约束 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

?
1
2
3
4
5
6
7
8
#默认约束 default
 
#添加约束
#方法一:address varchar(20) DEFAULT '北京'
#方法二:ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT '北京' (创建表后添加)
 
#删除约束
#ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT NULL

6.零填充约束 zerofill

?
1
2
3
4
5
6
7
#零填充约束 zerofill (显示效果) 了解即可
 
#添加约束
#address varchar(20) zerofill
 
#删除约束
#ALTER TABLE emp6 MODIFY id int

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

原文链接:https://blog.csdn.net/qq_43779149/article/details/122393630

延伸 · 阅读

精彩推荐