博客
关于我
MySQL复制表结构create table as与like的区别
阅读量:797 次
发布时间:2023-03-22

本文共 1626 字,大约阅读时间需要 5 分钟。

MySQL 数据库表结构和数据复制指南

在 MySQL 中,复制表结构和数据是常见的操作,可以通过 AS 和 LIKE 语句实现。以下是详细的操作步骤和区别说明。

1. 使用 AS 复制表结构

AS 语句用于创建与源表结构相同的新表,但不复制数据。以下是使用 AS 的示例:

CREATE TABLE table_name AS SELECT * FROM other_table WHERE 1=2;

说明:

  • WHERE 1=2 用于跳过数据插入,仅创建表结构。
  • LIMIT 0 也可以用于同样的目的。

示例:

CREATE TABLE table_name AS SELECT * FROM book;

复制后的表 table_name 结构与 book 表相同,但没有数据。

2. 使用 LIKE 复制表结构

LIKE 语句用于创建与源表结构和索引完全一致的新表,适用于需要同时复制数据的场景。以下是使用 LIKE 的示例:

CREATE TABLE table_name LIKE book;

说明:

  • CREATE TABLE table_name LIKE book 会创建与 book 表完全相同的结构,包括索引和约束。

示例:

CREATE TABLE table_name LIKE book;

复制后的表 table_name 结构和索引与 book 表一致。

3. 复制表数据

使用 INSERT INTO 语句可以将源表的数据复制到目标表中。以下是两种常见方式:

复制全部数据:

INSERT INTO table_name SELECT * FROM other_table;

复制指定列:

INSERT INTO table_name (column1, column2, ...)
SELECT column1, column2, ...
FROM other_table;

示例:

INSERT INTO table_name SELECT * FROM book;

4. AS 与 LIKE 的区别

特性 AS LIKE
表结构 只创建表结构,不复制数据 创建表结构和索引,复制数据
数据复制 可选(通过 WHERE 或 LIMIT 控制) 弹性复制数据(可选择是否复制)
索引 不复制索引信息 复制源表的全部索引信息
兼容性 Oracle 支持 AS Oracle 不支持 LIKE

5. 查看表结构

使用 SHOW CREATE TABLE 语句可以查看表的创建语句。

SHOW CREATE TABLE book;

输出示例:

CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`author` varchar(20) NOT NULL,
`info` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `author` (`author`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

6. 示例总结

使用 AS 复制表结构:

CREATE TABLE table_name AS SELECT * FROM book;

使用 LIKE 复制表结构和数据:

CREATE TABLE table_name LIKE book;
INSERT INTO table_name SELECT * FROM book;

注意事项:

  • AS 和 LIKE 在索引复制方面有明显区别,AS 不复制索引信息。
  • Oracle 不支持 LIKE 语法,因此需要使用其他方法复制表结构。

通过以上方法,您可以根据具体需求选择适合的复制方式。

转载地址:http://kxqfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现普通矩阵A和B的乘积(附完整源码)
查看>>
Objective-C实现更新数字指定偏移量上的值updateBit算法(附完整源码)
查看>>
Objective-C实现最大类间方差法OTSU算法(附完整源码)
查看>>
Objective-C实现最大非相邻和算法(附完整源码)
查看>>
Objective-C实现最小二乘多项式曲线拟合(附完整源码)
查看>>
Objective-C实现最小路径和算法(附完整源码)
查看>>
Objective-C实现最快的归并排序算法(附完整源码)
查看>>
Objective-C实现最长公共子序列算法(附完整源码)
查看>>
Objective-C实现最长回文子串算法(附完整源码)
查看>>
Objective-C实现最长回文子序列算法(附完整源码)
查看>>
Objective-C实现最长子数组算法(附完整源码)
查看>>
Objective-C实现最长字符串链(附完整源码)
查看>>
Objective-C实现最长递增子序列算法(附完整源码)
查看>>
Objective-C实现有序表查找算法(附完整源码)
查看>>
Objective-C实现有限状态机(附完整源码)
查看>>
Objective-C实现有限状态自动机FSM(附完整源码)
查看>>
Objective-C实现有限集上给定关系的自反关系矩阵和对称闭包关系矩阵(附完整源码)
查看>>
Objective-C实现服务端客户端聊天室(附完整源码)
查看>>
Objective-C实现朴素贝叶斯算法(附完整源码)
查看>>
Objective-C实现杰卡德距离算法(附完整源码)
查看>>