MySQL 基础+高级篇- 数据库 -sql -尚硅谷130-134章DDL语言完结

#修改表时添加约束
#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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值