博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL复制表的常用的两种方法
阅读量:2183 次
发布时间:2019-05-02

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

MySQL复制表的常用的两种方法

 
(2009-08-05 11:42:17)
标签: 

分类: 
MySQL服务的默认引擎是 InnoDB
mysql> show engines;
+------------+---------+--------------
| Engine     | Support | Comment
+------------+---------+--------------
| EXAMPLE    | YES     | Example stora
| CSV        | YES     | CSV storage e
| MyISAM     | YES     | Default engin
| BLACKHOLE | YES     | /dev/null sto
| MRG_MYISAM | YES     | Collection of
InnoDB     | DEFAULT | Supports tran
| ARCHIVE    | YES     | Archive stora
| MEMORY     | YES     | Hash based, s
| FEDERATED | YES     | Federated MyS
+------------+---------+--------------
原表的结构:
mysql> show create table cs;
+-------+-----------------------------------------------------------------------------
| Table | Create Table
+-------+-----------------------------------------------------------------------------
| cs    | CREATE TABLE `cs` (
`cs_id` int(8) NOT NULL AUTO_INCREMENT COMMENT 'id of the student''s course.',
`stu_id` int(8) NOT NULL,
`cs_name` varchar(50) DEFAULT 'vkebb',
PRIMARY KEY (`cs_id`),
KEY `stu_id` (`stu_id`),
CONSTRAINT `cs_ibfk_1` FOREIGN KEY (`stu_id`) REFERENCES `stu` (`stu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+----------------------------------------------------------------------------
(1)说明
我通过下面这条SQL语句快速的建立一个备份表,注意这种做法表的存储引擎也会采用服务器默认的存储引擎而不是源表的存储引擎,此种复制方法把表的内容也一起复制过来了。
注:as 与()可以忽略,但建议使用,因为很其他的SQL产要求使用它们。
mysql> create table cs_bak1 as
    -> (select *
    -> from cs)
    -> ;
mysql> show create table cs_bak1;
+---------+-------------------------------------------------------------------------
| Table   | Create Table
+---------+--------------------------------------------------------------------------
| cs_bak1 | CREATE TABLE `cs_bak1` (
`cs_id` int(8) NOT NULL DEFAULT '0' COMMENT 'id of the student''s course.',
`stu_id` int(8) NOT NULL,
`cs_name` varchar(50) DEFAULT 'vkebb'
ENGINE=InnoDB DEFAULT CHARSET=utf8 | //服务器默认的存储引擎等
+---------+--------------------------------------------------------------------------
(2)说明
使用和cs_bak表相同的结构来创建一个新表,列名、数据类型、空指和索引也将复制,但是表的内容不会被复制。外键和专用的权限也没有被复制。
mysql> create table cs_bak
    -> like cs;
mysql> show create table cs_bak;
+--------+---------------------------------------------------------------------------
| Table | Create Table
+--------+---------------------------------------------------------------------------
| cs_bak | CREATE TABLE `cs_bak` (
`cs_id` int(8) NOT NULL AUTO_INCREMENT COMMENT 'id of the student''s course.',
`stu_id` int(8) NOT NULL,
`cs_name` varchar(50) DEFAULT 'vkebb',
PRIMARY KEY (`cs_id`),
KEY `stu_id` (`stu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 |
+--------+---------------------------------------------------------------------------
http://hi.baidu.com/jcs0611/blog/item/47858a50f4bc01898c54308d.html

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

你可能感兴趣的文章
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>
Leetcode C++ 《第181场周赛-2》 1390. 四因数
查看>>
阿里云《云原生》公开课笔记 第一章 云原生启蒙
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>
linux系统 阿里云源
查看>>
国内外helm源记录
查看>>
牛客网题目1:最大数
查看>>
散落人间知识点记录one
查看>>
Leetcode C++ 随手刷 547.朋友圈
查看>>
手抄笔记:深入理解linux内核-1
查看>>
内存堆与栈
查看>>
Leetcode C++《每日一题》20200621 124.二叉树的最大路径和
查看>>
Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配
查看>>