我的编程空间,编程开发者的网络收藏夹
学习永远不晚

我们如何制作 MySQL 克隆表?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

我们如何制作 MySQL 克隆表?

有时可能会出现这样的情况:我们需要表格的精确副本,而 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

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

我们如何制作 MySQL 克隆表?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

我们如何制作 MySQL 克隆表?

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

我们如何修改MySQL表的列?

通过使用 MODIFY 关键字和 ALTER TABLE 命令,我们可以修改 MySQL 表的列。其语法如下;语法Alter table table_name MODIFY column_name1 datatype, MODIFY col
2023-10-22

我们如何更改 MySQL 表的名称?

RENAME命令用于更改MySQL表的名称。其语法如下 -RENAME table old_tablename to new_tablename2;示例在下面的示例中,我们将表“testing”重命名为“test”。mysql> RENAM
2023-10-22

我们如何更新 MySQL 表中的值?

借助 UPDATE 语句和 WHERE 子句,我们可以更新表中单行或多行的值。 MySQL 根据 WHERE 子句中指定的条件更新值。例如,假设在“employee”表中我们想要更改 id 为 1 的员工的“name”和“doj”,那么可以
2023-10-22

什么是 MySQL 临时表?我们如何创建它们?

顾名思义,临时表是我们可以保存临时数据的表。关于临时表最重要的是,当当前客户端会话终止时它们将被删除。它可以在 CREATE 语句的帮助下创建,但我们在创建它时必须使用关键字“Temporary”。为了说明临时表的创建,我们使用以下示例 -
2023-10-22

我们如何向 MySQL 表中插入数据?

要将数据插入 MySQL 表,我们需要使用 INSERT INTO 命令。我们必须在 INSERT INTO 命令中指定表中所有列的值。语法INSERT INTO table_name values(value1,value2,&helli
2023-10-22

我们如何从MySQL表中删除一列?

要从MySQL表中删除列,我们可以使用ALTER TABLE命令和DROP关键字。语法如下:Alter Table table_name DROP Column Column_name;以下是一个示例来演示它mysql> Alter tab
2023-10-22

我们如何从 MySQL 表中删除多行?

我们可以使用 DELETE 语句和 WHERE 子句(该子句标识这些多行)来从 MySQL 表中删除多行。示例mysql> Select * from names;+------+-----------+| id | name
2023-10-22

我们如何向 MySQL 表中插入新行?

借助 INSERT INTO 命令,可以将新行插入到表中。语法INSERT INTO table_name values(value1,value2,…)示例假设我们有一个名为“Employee”的表,其中包含三列“Emp_i
2023-10-22

我们如何向 MySQL 表的列添加值?

INSERT 命令用于向 MySQL 表的列添加值。我们需要在 INSERT 命令中为所有列指定值,如下所示 -语法INSERT INTO table_name values(value1,value2,…)示例假设我们有一个
2023-10-22

我们如何为不同类型的 MySQL 事件制定时间表?

基本上,我们需要为两种事件指定时间表:一次性事件一次性事件意味着它将在特定时间表上仅执行一次。如果我们想创建一个一次性事件,那么我们需要在 ON SCHEDULE 子句之后放置以下语法:AT Timestamp[+INTERVAL]重复事件
2023-10-22

我们如何获取现有 MySQL 表中的列列表?

假设我们忘记了现有表中的列名,那么我们可以使用 SHOWCOLUMNS 语句来获取列的列表 -mysql> SHOW COLUMNS from Employee\G*************************** 1. row ***
2023-10-22

我们如何通过MySQL存储过程访问表?

我们可以从 MySQL 存储过程访问一个或所有表。以下是一个示例,其中我们创建了一个存储过程,它将接受表的名称作为参数,并在调用它后,将生成包含表中所有详细信息的结果集。示例mysql> Delimiter //mysql> Create
2023-10-22

我们如何从 MySQL 表中获取一列或多列作为输出?

SELECT 命令可用于从 MySQL 表中获取一列或多列作为输出。下面给出了一个示例来获取一列或多列mysql> Select * from Student;+------+---------+---------+-----------+
2023-10-22

我们如何比较两个 MySQL 表中的数据?

有时我们需要找出两个表中不匹配的数据,尤其是在数据迁移的情况下。可以通过比较表格来完成。考虑下面的示例,其中我们有两个名为“students”和“student1”的表。mysql> Select * from students;+---
2023-10-22

我们如何创建带有列列表的 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
2023-10-22

我们如何更改表以添加 MySQL 虚拟生成列?

要在表中添加 MySQL 虚拟生成列,我们可以使用与添加列相同的语法,只需在数据类型后添加“AS(表达式)”即可。其语法如下 -语法ALTER TABLE table_nameADD COLUMN column_name AS(expre
2023-10-22

我们如何组合MySQL表中两列或多列的值?

对于合并MySQL表的两个或多个列的值,我们可以使用CONCAT()字符串函数。基本上,MySQL CONCAT()函数用于合并两个或多个字符串。语法CONCAT(String1,String2,…,StringN)在这里,C
2023-10-22

在MySQL中,我们如何将时间值表示为整数?

在 MySQL 中,UNIX 时间戳格式是将时间值表示为整数的方式。代表日期值的整数值将是秒数。计算这些秒数的起始日期是“1970-01-01”。mysql> SELECT UNIX_TIMESTAMP(2017-10-22 04:05:3
2023-10-22

我们如何对 MySQL 表的数据值应用 COALESCE() 函数?

如果我们想在MySQL表的数据值上应用COALESCE()函数,那么我们需要使用列名作为该函数的参数。如果第一列中有NULL值,它将检查下一列,依此类推,直到找到非NULL值。我们使用'employee'表中的数据来演示上述概念,如下所示:
2023-10-22

编程热搜

目录