改变数据表的结构:
alter table tb_name action,[action,action](使用alter table 之前,需要查看数据表的当前定义,需要执行show create table 语句 )
alter table tb_name modify columns+数据类型
alter table tb_name change column_name column_new_name+数据类型
change 能够改变表名和数据类型,modfy只能改变数据类型
你也可以改变字符集:alter table tb_name modify t char(20) character set usc2
对于数据列来说,当两个数据列具有相同的数据列的时候,比较的时候速度会快许多
t1.name char(20)与t2.name char(15) 比t1.name char(20)与t2.name char(20)的比较会更慢
改变储存引擎:
alter table table_name engine=engine_name如果数据列包括blob数据列,那么不能转化为memory引擎,
因为memory引擎不支持blob,
当InnoDB定义外检约束的时候,在转换储存引擎的时候,外键会丢失,只有InnoDB支持外键
重新命名一个数据表
(1)alter table tb1_name rename to new_tb1_name
(2)rename table tb1_name to new_tb1_name
alter table 一次只能修改一个数据表,但是rename ...to 可以是多个一起修改的:rename table t1 to t2,t2 to t3,...
如果在重命名的时候加上数据库的前缀,可以把数据表从一个数据库迁移到另一个数据库里
alter table a.tb1_name rename to b.tb1_name 或rename table a.tb1_name to b.tb1_name