下面是代码
可以保存随时更改调用
-- 单列约束主键
-- 第一种方式
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;
代码可以直接复制
如果有啥问题可以问我看到一定会回复大家,如果大家喜欢可以作者点赞和关注
大家的支持是我创作下去的最大动力!