一、MySQL表结构变更语句
1. 新增字段
语法:
(1)在末尾添加字段 ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]; (2)在开头添加字段 ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST; (3)在中间位置添加字段 ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;
-- 举例
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. 删除字段
语法:ALTER TABLE <表名> DROP <字段名>;
举例:ALTER TABLE student_info DROP version;
3. 修改字段名称用change
语法: ALTER TABLE <表名> 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 <表名> 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 '贷款本金总和';
二、索引相关
主键索引又叫聚簇索引吗?
查询的结果集主键索引和二级索引都有时,优先二级索引,因为二级索引的B+树小。
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';