mysql结构修改汇总
字符编码方式
ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
修改数据库字符集:
ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集
ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
只是修改表的默认字符集:
ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
修改字段的字符集:
ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;
查看数据库编码:
SHOW CREATE DATABASE db_name;
查看表编码:
SHOW CREATE TABLE tbl_name;
查看字段编码:
SHOW FULL COLUMNS FROM tbl_name;
查看表结构
SHOW CREATE TABLE 表名; -- 查看表基本结构
DESCRIBE 表名; -- 查看表详细定义
表结构修改
修改表
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 表名 ENGINE = 存储引擎名;
alter table student2 ENGINE = InnoDB;
增加主键、索引
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 UNIQUE 索引名(字段名);
alter table table_a ADD UNIQUE column_a_unique_index (column_a);
4. 添加普通索引
ALTER TABLE 表名 ADD INDEX 索引名 (字段名);
alter table table_a ADD INDEX column_a_index (column_a);
5. 删除索引
ALTER TABLE 表名 DROP INDEX 索引名;

浙公网安备 33010602011771号