MySQL的约束公式

本文介绍了SQL中单列、联合主键,自增长、非空、唯一、默认和零填充约束的创建、修改和删除方法,以及如何在实际数据库操作中使用这些约束来维护数据完整性。
摘要由CSDN通过智能技术生成

下面是代码

可以保存随时更改调用

-- 		单列约束主键
-- 		第一种方式
			CREATE TABLE emp1(
			eid int PRIMARY KEY,
			name VARCHAR(20),
			deptID int,
			salary DOUBLE
			);
			USE emp1;
-- 		第二种方式
			USE emp2
			CREATE TABLE emp2(
						eid INT,
						NAME VARCHAR(20),
						deptID INT,
						salary DOUBLE, 
						CONSTRAINT pk1 PRIMARY key(eid)
			);
			INSERT into emp1(eid,name,deptID,salary) VALUES(1001,'张三',10,5000);
			INSERT INTO emp1(eid,name,deptID,salary) VALUES(1002   ,'李四',30,8000);
-- 		联合主键约束
			USE emp3
			CREATE TABLE emp3(
			name VARCHAR(20),
			deptID int,
			salary DOUBLE,
			);
			CONSTRAINT pk4 PRIMARY KEY(name,deptID)
			INSERT INTO emp3 VALUES('张三',10,4000);
			INSERT into emp3 VALUES('利丰',20,3999);
-- 		联合主键约束的两个的值不能为空的   
-- 		还可以先建表后设置主键约束
			CREATE TABLE emp4(
						eid int,
						NAME VARCHAR(20),
						deptID int,
						salary DOUBLE
			);
			ALTER TABLE emp4 add PRIMARY KEY(NAME,deptID);
-- 		删除主键约束 单列和多列一样
			ALTER table emp4 DROP PRIMARY key;
			
-- 		自增长约束
			CREATE TABLE user1(
						id int PRIMARY KEY auto_increment,
						name VARCHAR(20)
			);
			INSERT INTO user1 VALUES(NULL,'张大帅');
			INSERT INTO user1(name) VALUES('老刘');
			DELETE FROM user1;#这个清空数据后还是按照清空前的顺序 
			TRUNCATE user1;#这个清空后自增顺序从头开始
		
-- 		指定自增长的初始值
			CREATE TABLE user2 (
						id int PRIMARY KEY auto_increment,
						NAME VARCHAR(20)
			)auto_increment = 100;
			
			INSERT INTO user2 VALUES(NULL,'张三');  
			
-- 		非空约束
-- 		添加非空约束
			CREATE TABLE user3(
						id int, 
						name VARCHAR(20)
			);
			ALTER TABLE user3 MODIFY NAME VARCHAR(20) NOT NULL;
-- 		删除非空约束
			ALTER TABLE user3 MODIFY id VARCHAR(20);
-- 		查看desc表格
			DESC user3;
-- 		唯一约束
			CREATE TABLE user4(						
						id int,
						NAME VARCHAR(20),
						phone_number VARCHAR(20) UNIQUE
			);
			INSERT INTO user4 VALUES(1002,'钟爱',129);
			INSERT INTO user4 VALUES(1004,'李白',129);
			#这个就不能添加了因为nuber这个是唯一的
			INSERT INTO user4 VALUES(1002,'钟爱2',NULL);
			#这个null可以插入,null与任何值都不同,与自己也不同。
-- 		修改唯一约束	
			ALTER TABLE user4 add CONSISTENT uniquename UNIQUE(phone_number);
			
-- 		默认约束
			CREATE TABLE user5(
							id int,
							NAME VARCHAR(20),
							address VARCHAR(20) DEFAULT '北京'
			);
			INSERT INTO user5(id,name) VALUES(1001,'小王');
-- 		修改默认约束
			CREATE TABLE user6(
							id int,
							NAME VARCHAR(20),
							address VARCHAR(20)
			);
			INSERT INTO user6(id,name) VALUES(1001,'小王');
			ALTER TABLE user6 MODIFY address VARCHAR(20) DEFAULT '菏泽';
				
			#默认约束原来的表不变以后新建的会更改为最新默认。
-- 		删除默认约束
			ALTER TABLE user6 MODIFY address VARCHAR(20) DEFAULT NULL;
			
-- 		零填充约束
			
			CREATE TABLE user7(
							id int ZEROFILL,
							name VARCHAR(20)
			);
			INSERT INTO user7 VALUES(123,'李白');
-- 		删除零填充约束
			ALTER TABLE user7 MODIFY id int;
			

代码可以直接复制

如果有啥问题可以问我看到一定会回复大家,如果大家喜欢可以作者点赞和关注

大家的支持是我创作下去的最大动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值