一、查看表结构及索引
-
SHOW CREATE TABLE 表名; -- 查看表基本结构
-
DESCRIBE 表名; (同desc 表名) -- 查看表详细定义
-
show index from 表名; -- 查看表索引
二、修改表
1. 修改表名
ALTER TABLE 旧表名 RENAME 新表名;
alter table table_a rename table_b;
2. 修改表字段数据类型
ALTER TABLE 表名 MODIFY 字段名 数据类型;
alter table table_a modify column_1 varchar(30);
3. 修改表字段名
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
alter table table_a change column_1 column_2 varchar(40);
4. 修改表字段注释
ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型 COMMENT 新注释;
alter table table_a modify column column_1 varchar(20) comment ‘应用名称’;
5. 增加表字段
ALTER TABLE 表名 ADD 字段名1 数据类型 [完整性约束条件] [FIRST | AFTER 字段名2];
alter table table_a add column_1 varchar(20) not null;
6. 删除表字段
ALTER TABLE 表名 DROP 属性名;
alter table student add teacher_name varchar(20) not null;
7. 更改表的存储引擎
ALTER TABLE 表名 ENGINE = 存储引擎名;
alter table student2 ENGINE = InnoDB;
8. 删除表的外键约束
alter table 表名 drop foreign key 约束名;
三、添加主外键或索引
1. 添加主键
ALTER TABLE 表名 ADD PRIMARY KEY (字段名);
alter table table_a ADD PRIMARY KEY (id);
2. 删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
alter table table_a DROP PRIMARY KEY;
3. 添加外键
alter table 表名 add constraint fk_引用id foreign key(引用id) references 被引用表名 (被引用id)
alter table max_group add constraint fk_parent_id foreign key(`parent_id`) references max_group(`id`)
4. 删除外键
alter table 表名 drop forign key fk_引用id
alter table max_group drop foreign key `fk_parent_id`
5. 添加唯一索引
ALTER TABLE 表名 ADD UNIQUE 索引名(字段名);
alter table table_a ADD UNIQUE column_a_unique_index (column_a);
6. 添加普通索引
ALTER TABLE 表名 ADD INDEX 索引名 (字段名);
alter table table_a ADD INDEX column_a_index (column_a);
7. 删除索引
ALTER TABLE 表名 DROP INDEX 索引名;
alter table table_a DROP INDEX column_a_index;
8.重建索引
REPAIR
TABLE
`表名` QUICK;