工作中难免要更新MySQL数据表结构,在本地可以使用phpMyadmin之类的工具方便修改,线上库一般没有权限,就需要上服务器手敲sql了。在此总结一下MySQL修改表结构的方法。
1.添加表字段
alter table table1 add transactor varchar(10) not Null;
2.修改表字段
alter table 表名称 change 原字段名 新字段名 字段类型 [是否允许非空]; -- 修改字段名和字段类型
alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; -- 修改字段类型
3.删除表字段
ALTER TABLE mytable DROP 字段名;
4.修改表名
alter table table_name rename table_new_name;
5.修改数据引擎
alter table table_name engine=innodb;
6.查看表属性
desc table; -- 查看表中各列属性
show create table tablename; -- 查看建表语句
7.查看全局默认字符集(charactor set)和字符序(collation)
show global variables like '%charactor%';
show global variables like '%collation%';
8.修改全局默认字符集
在建数据库,建表和设置列的时候都可以指定字符集和字符序,它们逐级覆盖,若都没有指定则使用全局默认字符集和字符序。
修改全局默认字符集可以修改mysql配置文件,在[mysql]和[mysqld]下分别修改客户端和服务端默认字符集
[mysql]
no-auto-rehash
default-character-set=utf8
[mysqld]
port = 3306
character-set-server=utf8