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;