MySQL 基础+高级篇- 数据库 -sql -尚硅谷130-134章DDL语言完结
程序员文章站
2022-03-30 09:29:32
#修改表时添加约束#1.添加非空约束/*1.添加列级约束alter table 表名 modify column 字段名 字段类型 新约束2.添加表级约束alter table 表名 add 【constraint 约束名】约束类型()【外键的引用】;*/USE vain;ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20)NOT NULL;DESC stuinfo;ALTER TABLE stuinfo MODIFY COLUMN...
#修改表时添加约束
#1.添加非空约束
/*
1.添加列级约束
alter table 表名 modify column 字段名 字段类型 新约束
2.添加表级约束
alter table 表名 add 【constraint 约束名】约束类型()【外键的引用】;
*/
USE vain;
ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20)NOT NULL;
DESC stuinfo;
ALTER TABLE stuinfo MODIFY COLUMN age INT DEFAULT 18;
ALTER TABLE stuinfo ADD PRIMARY KEY(id);
ALTER TABLE stuinfo ADD UNIQUE(seat);
ALTER TABLE stuinfo ADD FOREIGN KEY(majorid)REFERENCES major(id);
#三:修改表时删除约束
#1.删除非空约束
ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL;
#2.删除默认约束
ALTER TABLE stuinfo MODIFY COLUMN age INT;
#3.删除主键
ALTER TABLE stuinfo DROP PRIMARY KEY;
ALTER TABLE stuinfo ADD PRIMARY KEY(id);
#4.删除唯一键
ALTER TABLE stuinfo DROP INDEX seat;
SHOW INDEX FROM stuinfo;
#5.添加约束
# alter table 表名 add (constraint 别名) foreign key(外键) references 某个表的(主键)
#标识符:
/*
又称位自增长列 auto_increment
含义:可以不用手动插入值,系统提供默认的序列值
*/
#一:创建表时,设置标识符
CREATE TABLE tab_identity
(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR (20));
INSERT INTO `tab_identity`(NAME) VALUES('join');
SELECT * FROM `tab_identity`;
SHOW VARIABLES LIKE '%auto_increment%';
SET auto_increment_increment=1;
INSERT INTO `tab_identity`(NAME) VALUES('join');
/*
标识列不一定和主键搭配,但要求时一个Key
一个表至多可以有一个自增长列
标识列的类型只能是数值型
*/
#二修改表时,设置标识列
ALTER TABLE `tab_identity` MODIFY COLUMN id INT;
DESC `tab_identity`;
ALTER TABLE `tab_identity` MODIFY COLUMN id INT AUTO_INCREMENT;
本文地址:https://blog.csdn.net/yangzijiangac/article/details/107152223