MySQL - 克隆表

MySQL - 克隆表 首页 / MySQL入门教程 / MySQL - 克隆表

MySQL Copy或Clone表是一个函数,允许无涯教程创建现有表 的 复制表,包括表结构,索引,约束,默认值等。复制在新表中的现有表中的数据在表失败中备份数据的情况下非常有用。例如,当无涯教程需要测试或执行某些东西而不影响原始表的情况,也是有利的,例如,复制生产数据进行测试。

无涯教程可以使用 CREATE TABLESELECT语句将现有表复制到新表中,如下所示:

CREATE TABLE new_table_name
SELECT column1, column2, column3 
FROM existing_table_name;

从上面,首先,它创建一个新表,该表格在Create表语句中。其次,SELECT语句的结果集定义了新表的结构。最后,MYSQL填充从SELECT语句到新创建的表的数据。

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-clone-tables.html

来源:LearnFk无涯教程网

如果需要从现有表中的仅将部分数据复制到新表,请使用 WHERE子句,如下所示:

CREATE TABLE new_table_name
SELECT column1, column2, column3 
FROM existing_table_name
WHERE condition;

无涯教程必须确保要创建的表格不应存在于数据库中。 如果不存在于mysql中的子句允许无涯教程检查数据库中是否存在于数据库之前是否存在。因此,以下声明更清楚地解释:

CREATE TABLE IF NOT EXISTS new_table_name
SELECT column1, column2, column3 
FROM existing_table_name
WHERE condition;

尝试以下示例为 Learnfk_tbl 创建一个克隆表。

第1步 - 获取有关表的完整结构。

无涯教程网

mysql> SHOW CREATE TABLE Learnfk_tbl\G;
*************************** 1. row ***************************
      Table: Learnfk_tbl
Create Table: CREATE TABLE `Learnfk_tbl` (
   `tutorial_id` int(11) NOT NULL auto_increment,
   `tutorial_title` varchar(100) NOT NULL default '',
   `tutorial_author` varchar(40) NOT NULL default '',
   `submission_date` date default NULL,
   PRIMARY KEY  (`tutorial_id`),
   UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
) TYPE = MyISAM
1 row in set (0.00 sec)

ERROR:
No query specified

第2步 - 重命名该表并创建另一个表。

mysql> CREATE TABLE clone_tbl (
   -> tutorial_id int(11) NOT NULL auto_increment,
   -> tutorial_title varchar(100) NOT NULL default '',
   -> tutorial_author varchar(40) NOT NULL default '',
   -> submission_date date default NULL,
   -> PRIMARY KEY  (tutorial_id),
   -> UNIQUE KEY AUTHOR_INDEX (tutorial_author)
-> ) TYPE = MyISAM;
Query OK, 0 rows affected (1.80 sec)

第3步 - 执行第2步之后,您将在数据库中创建一个克隆表,如果要从旧表中复制数据,则可以使用INSERT INTO ... SELECT语句来完成。

mysql> INSERT INTO clone_tbl (tutorial_id,
   -> tutorial_title,
   -> tutorial_author,
   -> submission_date)
   
   -> SELECT tutorial_id,tutorial_title,
   -> tutorial_author,submission_date
   -> FROM Learnfk_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Service Mesh实践指南 -〔周晶〕

深入浅出计算机组成原理 -〔徐文浩〕

Web协议详解与抓包实战 -〔陶辉〕

研发效率破局之道 -〔葛俊〕

.NET Core开发实战 -〔肖伟宇〕

Kafka核心源码解读 -〔胡夕〕

如何读懂一首诗 -〔王天博〕

超级访谈:对话玉伯 -〔玉伯〕

技术领导力实战笔记 2022 -〔TGO 鲲鹏会〕

好记忆不如烂笔头。留下您的足迹吧 :)