如何复制、克隆或复制数据、结构、,并将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};
当前回答
要复制表及其结构,而不从其他数据库复制数据,请使用此选项。关于新的数据库sql类型
创建表格currentdatabase.tablename与旧数据库.tablename相似
其他回答
我发现了同样的情况,我采取的方法如下:
执行SHOW CREATE TABLE<TABLE name to clone>:这将为您提供要克隆的表的CREATE TABLE语法通过更改表名来克隆表,从而运行CREATE TABLE查询。
这将创建要与索引一起克隆的表的精确副本。然后,您只需要重命名索引(如果需要)。
简单克隆:它从另一个表创建一个表,而不考虑任何列属性和索引。
CREATE TABLE new_table SELECT * FROM original_table;
浅层克隆:这将仅基于原始表的结构创建一个空表
CREATE TABLE new_table LIKE original_table;
以下命令将在原始表的基础上创建一个空表。
CREATE TABLE adminUsers LIKE users;
深度克隆:这意味着新表将具有现有表的每列和索引的所有属性。如果要维护现有表的索引和属性,这非常有用。
CREATE TABLE new_table LIKE original_table;
INSERT INTO new_table SELECT * FROM original_table;
https://towardsdatascience.com/how-to-clone-tables-in-sql-dd29586ec89c
试试看:
`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列,并制作了一个新表。
要复制表及其结构,而不从其他数据库复制数据,请使用此选项。关于新的数据库sql类型
创建表格currentdatabase.tablename与旧数据库.tablename相似
// To copy specific column data use this one:
CREATE TABLE ut_axis_existrec LIKE ut_karvy_annexure; // To create new table
INSERT INTO ut_axis_existrec
(funding_ac,micr_no, warrant_no,
amount,invname,mfundcode,funding_dt,status,remarks1,amc_remark,created_at)
SELECT
t1.funding_ac,
t1.micr_no,
t1.warrant_no,
t1.amount,
t1.invname,
t1.mfund_code,
t1.funding_dt,
t1.status,
t1.remarks1,
t1.created_at
from ut_axis_karvy
inner join
ut_axis_karvy_master as t2
on t1.micr_no = t2.micr_no;