如何复制、克隆或复制数据、结构、,并将MySQL表的索引转换为新表?
这是我到目前为止发现的。
这将复制数据和结构,但不包括指数:
create table {new_table} select * from {old_table};
这将复制结构和索引,但不包括数据:
create table {new_table} like {old_table};
如何复制、克隆或复制数据、结构、,并将MySQL表的索引转换为新表?
这是我到目前为止发现的。
这将复制数据和结构,但不包括指数:
create table {new_table} select * from {old_table};
这将复制结构和索引,但不包括数据:
create table {new_table} like {old_table};
当前回答
值得一提的是,检查表之前是否已存在尝试复制它:
CREATE TABLE IF NOT EXISTS new_table LIKE old_table;
INSERT new_table
SELECT * FROM old_table;
正如前面的回答所说,这将复制结构、数据和表的所有从属对象。
请参见MySql教程:
其他回答
试试看:
`CREATE TABLE new-table (id INT(11) auto_increment primary key) SELECT old-table.name, old-table.group, old-table.floor, old-table.age from old-table;`
我从旧表中选择了4列,并制作了一个新表。
值得一提的是,检查表之前是否已存在尝试复制它:
CREATE TABLE IF NOT EXISTS new_table LIKE old_table;
INSERT new_table
SELECT * FROM old_table;
正如前面的回答所说,这将复制结构、数据和表的所有从属对象。
请参见MySql教程:
我发现了同样的情况,我采取的方法如下:
执行SHOW CREATE TABLE<TABLE name to clone>:这将为您提供要克隆的表的CREATE TABLE语法通过更改表名来克隆表,从而运行CREATE TABLE查询。
这将创建要与索引一起克隆的表的精确副本。然后,您只需要重命名索引(如果需要)。
转到phpMyAdmin并选择原始表,然后在“复制表到(database.table)”区域中选择“操作”选项卡。选择要复制的数据库并为新表添加名称。
对于MySQL
CREATE TABLE newtable LIKE oldtable ;
INSERT newtable SELECT * FROM oldtable ;
对于MSSQL使用MyDatabase:
Select * into newCustomersTable from oldCustomersTable;
此SQL用于复制表,此处旧CustomersTable的内容将复制到新CustomersTable。确保数据库中不存在newCustomersTable。