1、修改表类型
alter table tablename modify [column] +修改后的内容
2、增加字段
3、删除字段
4、字段改名
alter table stuinfo change age age1 int(10);
5、修改字段的排列顺序
(1)alter table emp add birth date after ename;
(2)alter table emp modify age int(3) first;
6、修改表名
alter table emp rename emp1;
7、修改字符集的步骤
(1);字符集的修改不能直接通过“alter database character set ***”或者“alter table tablename character set ***”命
令进行,这两个命令都没有更新已有记录的字符集,而只是对新创建的表或者记录生效。已
有记录的字符集调整,需要先将数据导出,经过适当的调整重新导入后才可完成。
a:导出表结构:mysqldump -uroot -p --default-character-set=gbk -d databasename> createtab.sql
其中--default-character-set=gbk 表示设置以什么字符集连接,-d 表示只导出表结构,
不导出数据
b:手工修改 createtab.sql 中表结构定义中的字符集为新的字符集
c:mysqldump -uroot -p --quick --no-create-info --extended-insert
--default-character-set=latin1 databasename> data.sql
--quick:该选项用于转储大的表。它强制 mysqldump 从服务器一次一行地检索表中
的行而不是检索所有行,并在输出前将它缓存到内存中。
--extended-insert:使用包括几个 VALUES 列表的多行 INSERT 语法。这样使转储文件
更小,重载文件时可以加速插入。
--no-create-info:不写重新创建每个转储表的 CREATE TABLE 语句。
--default-character-set=latin1:按照原有的字符集导出所有数据,这样导出的文件中,
所有中文都是可见的,不会保存成乱码。
d:打开 data.sql,将 SET NAMES latin1 修改成 SET NAMES gbk
e:使用新的字符集创建新的数据库。
create database databasename default charset gbk;
f:创建表,执行createtab.sql
mysql -uroot -p databasename < createtab.sql
g:导入数据,执行data.sql;
mysql -uroot -p databasename < data.sql