mysql重命名表

593 阅读1分钟

mysql重命名表语法:

rename table old_table_name to new_table_name;

例如:rename table t1 to t4;

rename语句还可以将表移到另一个数据库中,语法如下:

rename table old_database_name.table_name to new_database_name.table_name

例如:rename table test.t1 to activemq.t1;

实战场景:如果一张表数据量级是千万级别以上的,那么,给这张表添加索引,你需要怎么做呢?

我们需要知道一点,给表添加索引的时候,是会对表加锁的。如果不谨慎操作,有可能出现生产事故的,可以参考如下方法: 1.先创建一张跟原表A数据结构相同的新表B。 2.在新表B添加需要加上的新索引。 3.把原表A数据导到新表B。 4.rename新表B为原表的表名A,原表A换别的表名。

复制表结构及数据到新表

CREATE TABLE TABLE_NEW SELECT * FROM TABLE_OLD

复制表结构到新表

CREATE TABLE TABLE_NEW SELECT * FROM TABLE_OLD WHERE 1 = 2

修改字段编码

alter table table_name change column_name new_column_name varchar(255) character set utf8;

MySql从一张表转移数据到另一张表

####### 如果两张表结构完全一样 INSERT INTO NEW_TABLE_NAME SELECT * FROM SOURCE_TABLE_NAME; ####### 如果两张表结构完全一样 INSERT INTO NEW_TABLE_NAME (taget-table-col1, taget-table-col2, ...) SELECT source-table-col1, source-table-col2, ... FROM SOURCE_TABLE_NAME;