返回顶部
首页 > 资讯 > 数据库 >我们如何制作 MySQL 克隆表?
  • 675
分享到

我们如何制作 MySQL 克隆表?

2023-10-22 10:10:50 675人浏览 独家记忆
摘要

有时可能会出现这样的情况:我们需要表格的精确副本,而 CREATE TABLE ... SELECT 不适合我们的目的,因为该副本必须包含相同的索引、默认值等。您可以按照以下步骤处理这种情况,创建表的克隆,如下所示 -使用 SHOW

有时可能会出现这样的情况:我们需要表格的精确副本,而 CREATE TABLE ... SELECT 不适合我们的目的,因为该副本必须包含相同的索引、默认值等。

您可以按照以下步骤处理这种情况,创建表的克隆,如下所示 -

  • 使用 SHOW CREATE TABLE 获取 CREATE TABLE 语句,该语句指定源表的结构、索引等。
  • 修改该语句,将表名更改为克隆表的表名,然后执行该语句。这样,我们将获得精确的克隆表。
  • 或者,如果我们还需要复制表内容,也可以发出 INSERT INTO ... SELECT 语句。

示例

在以下示例中,我们将为tutorials_tbl 创建克隆表。

步骤 1  

获取表的完整结构。

Mysql> SHOW CREATE TABLE tutorials_tbl \G;

*************************** 1. row ***************************
Table: tutorials_tbl
Create Table: CREATE TABLE `tutorials_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 tutorials_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3 Duplicates: 0 Warnings: 0

最后,我们将拥有一个与您想要的完全相同的克隆表。

您可能感兴趣的文档:

--结束END--

本文标题: 我们如何制作 MySQL 克隆表?

本文链接: https://lsjlt.com/news/438297.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 我们如何制作 MySQL 克隆表?
    有时可能会出现这样的情况:我们需要表格的精确副本,而 CREATE TABLE ... SELECT 不适合我们的目的,因为该副本必须包含相同的索引、默认值等。您可以按照以下步骤处理这种情况,创建表的克隆,如下所示 -使用 SHOW...
    99+
    2023-10-22
  • 我们如何修改MySQL表的列?
    通过使用 MODIFY 关键字和 ALTER TABLE 命令,我们可以修改 MySQL 表的列。其语法如下;语法Alter table table_name MODIFY column_name1 datatype, MODIFY col...
    99+
    2023-10-22
  • 我们如何更新 MySQL 表中的值?
    借助 UPDATE 语句和 WHERE 子句,我们可以更新表中单行或多行的值。 MySQL 根据 WHERE 子句中指定的条件更新值。例如,假设在“employee”表中我们想要更改 id 为 1 的员工的“name...
    99+
    2023-10-22
  • 我们如何更改 MySQL 表的名称?
    RENAME命令用于更改MySQL表的名称。其语法如下 -RENAME table old_tablename to new_tablename2;示例在下面的示例中,我们将表“testing”重命名为“test”。mysql> RE...
    99+
    2023-10-22
  • 什么是 MySQL 临时表?我们如何创建它们?
    顾名思义,临时表是我们可以保存临时数据的表。关于临时表最重要的是,当当前客户端会话终止时它们将被删除。它可以在 CREATE 语句的帮助下创建,但我们在创建它时必须使用关键字“Temporary”。为了说明临时表的创建,我们使用以下示例 -...
    99+
    2023-10-22
  • 我们如何向 MySQL 表中插入数据?
    要将数据插入 MySQL 表,我们需要使用 INSERT INTO 命令。我们必须在 INSERT INTO 命令中指定表中所有列的值。语法INSERT INTO table_name values(value1,value2,&helli...
    99+
    2023-10-22
  • 我们如何从MySQL表中删除一列?
    要从MySQL表中删除列,我们可以使用ALTER TABLE命令和DROP关键字。语法如下:Alter Table table_name DROP Column Column_name;以下是一个示例来演示它mysql> Alter ...
    99+
    2023-10-22
  • 我们如何向 MySQL 表中插入新行?
    借助 INSERT INTO 命令,可以将新行插入到表中。语法INSERT INTO table_name values(value1,value2,…)示例假设我们有一个名为“Employee”的表,其中包含三列“Emp_i...
    99+
    2023-10-22
  • 我们如何向 MySQL 表的列添加值?
    INSERT 命令用于向 MySQL 表的列添加值。我们需要在 INSERT 命令中为所有列指定值,如下所示 -语法INSERT INTO table_name values(value1,value2,…)示例假设我们有一个...
    99+
    2023-10-22
  • 我们如何从 MySQL 表中删除多行?
    我们可以使用 DELETE 语句和 WHERE 子句(该子句标识这些多行)来从 MySQL 表中删除多行。示例mysql> Select * from names; +------+-----------+ | id ...
    99+
    2023-10-22
  • 如何实现centos复制克隆改网卡
    这篇文章主要讲解了“如何实现centos复制克隆改网卡”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现centos复制克隆改网卡”吧!备份etc/udev/rules.d/70-per...
    99+
    2023-06-10
  • 我们如何为不同类型的 MySQL 事件制定时间表?
    基本上,我们需要为两种事件指定时间表:一次性事件一次性事件意味着它将在特定时间表上仅执行一次。如果我们想创建一个一次性事件,那么我们需要在 ON SCHEDULE 子句之后放置以下语法:AT Timestamp[+INTERVAL]重复事件...
    99+
    2023-10-22
  • 我们如何获取现有 MySQL 表中的列列表?
    假设我们忘记了现有表中的列名,那么我们可以使用 SHOWCOLUMNS 语句来获取列的列表 -mysql> SHOW COLUMNS from Employee\G *************************** 1. ro...
    99+
    2023-10-22
  • 如何绕过强制门户克隆 MAC 地址
    本篇文章给大家分享的是有关如何绕过强制门户克隆 MAC 地址,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。强制门户是新设备连接到网络时显示的网页。当用户首次访问互联网时,门户网...
    99+
    2023-06-05
  • 我们如何比较两个 MySQL 表中的数据?
    有时我们需要找出两个表中不匹配的数据,尤其是在数据迁移的情况下。可以通过比较表格来完成。考虑下面的示例,其中我们有两个名为“students”和“student1”的表。mysql> Select * from studen...
    99+
    2023-10-22
  • 我们如何通过MySQL存储过程访问表?
    我们可以从 MySQL 存储过程访问一个或所有表。以下是一个示例,其中我们创建了一个存储过程,它将接受表的名称作为参数,并在调用它后,将生成包含表中所有详细信息的结果集。示例mysql> Delimiter // mysql> ...
    99+
    2023-10-22
  • 我们如何从 MySQL 表中获取一列或多列作为输出?
    SELECT 命令可用于从 MySQL 表中获取一列或多列作为输出。下面给出了一个示例来获取一列或多列mysql> Select * from Student; +------+---------+---------+---...
    99+
    2023-10-22
  • 我们如何实现MySQL事务?
    我们知道,在事务中,语句是作为一个单元执行的。如果事务内的任何操作失败,则整个事务将失败并应回滚;否则,语句所做的任何更改都会保存到数据库中。为了实现事务,MySQL 提供了以下语句 -START TRANSACTION顾名思义,事务从此语...
    99+
    2023-10-22
  • 如何克隆MAC地址来绕过强制门户
    这篇文章给大家介绍如何克隆MAC地址来绕过强制门户,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。如果你曾经在家和办公室之外连接到  WiFi,那么通常会看到一个门户页面。它可能会要求你接受服务条款或其他协议才...
    99+
    2023-06-16
  • 我们如何创建带有列列表的 MySQL 视图?
    As we know that while creating a view, providing the list of columns is optional. But if we are providing the name of th...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作