一、MySQL表结构变更语句
1. 新增字段
-- 举例
ALTER TABLE student_info ADD version tinyint unsigned default 0; -- version不能为负数,取值范围[0,255]
ALTER TABLE student_info ADD version2 tinyint default 0;-- version2可以为负数,取值范围[-128,127]
ALTER TABLE student_info ADD bank_no VARCHAR(50) AFTER family_address;-- bank_no列出现在family_address后面
ALTER TABLE student_info ADD bank_no2 VARCHAR(50) FIRST;-- bank_no2列出现在该表的首列
2. 删除字段
3. 修改字段名称用change
-- 准备需要修改的字段column_old
alter table student_info add column_old varchar(30) comment '旧字段';
-- 将字段名column_old修改为column_new
ALTER TABLE student_info CHANGE column_old column_new decimal(18,4) default null comment '贷款本金总和';
4. 修改字段数据类型用modify
ALTER TABLE student_info MODIFY column column_name varchar(100);
5. 给表字段添加或更新备注用modify
-- 注意字段类型须保持一致
ALTER TABLE student_info MODIFY column column_name decimal(18,4) default null comment '贷款本金总和';
二、索引相关
1. 创建索引
创建唯一索引:
创建普通索引
2. 创建联合索引(复合索引)
3. 删除索引
4. 查询索引
show index from student_info;
show indexes from student_info;
三、其他
1. 快速查询表结构的sql语句
select table_name,column_name,column_type,column_comment from information_schema.COLUMNS where TABLE_NAME like '%student%';
select table_name,column_name,column_type,column_comment from information_schema.COLUMNS where TABLE_NAME = 'student_info';