MySQL复制表3种方式
本节目标
1.掌握MySQL复制表的几种方式
复制表,即备份表,给我们在操作表的时候,留一条后路
复制表的三种方式:
1.只复制表结构
create table tableName like someTable;
2.只复制表数据
create table tableName select * from someTable;
3.复制表结构+数据
create table tableName like someTable;
insert into tableName select * from someTable;
实战环节:
0.前期准备
创建一个t1表和索引
create table t1(id int not null auto_increment primary key,name varchar(50)
);
插入两条数据
insert into t1(name) values('张三');
insert into t1(name) values('李四');
假如索引建在名字上
create index idx_name on t1(name);
结果如下:
mysql> create table t1(-> id int not null auto_increment primary key,-> name varchar(50)-> );
Query OK, 0 rows affected (5.73 sec)mysql> insert into t1(name) values('张三');
Query OK, 1 row affected (0.54 sec)mysql> insert into t1(name) values('李四');
Query OK, 1 row affected (0.26 sec)mysql> create index idx_name on t1(name);
Query OK, 0 rows affected (2.34 sec)
Records: 0 Duplicates: 0 Warnings: 0
查看索引
show index from t1;
mysql> show index from t1\G;
*************************** 1. row ***************************Table: t1Non_unique: 0Key_name: PRIMARYSeq_in_index: 1Column_name: idCollation: ACardinality: 2Sub_part: NULLPacked: NULLNull:Index_type: BTREEComment:
Index_comment:Visible: YESExpression: NULL
*************************** 2. row ***************************Table: t1Non_unique: 1Key_name: idx_nameSeq_in_index: 1Column_name: nameCollation: ACardinality: 2Sub_part: NULLPacked: NULLNull: YESIndex_type: BTREEComment:
Index_comment:Visible: YESExpression: NULL
2 rows in set (0.08 sec)ERROR:
No query specified
正题:
1.只复制表结构
create table t2 like t1;
mysql> create table t2 like t1;
Query OK, 0 rows affected (2.77 sec)
使用select * from t2;
发现数据真的没复制过来
mysql> select * from t2;
Empty set (0.17 sec)
索引和表结构如何呢?复制过来没有?我们看一看
show index from t2;
desc t2;
show create table t2;
mysql> show index from t2\G;
*************************** 1. row ***************************Table: t2Non_unique: 0Key_name: PRIMARYSeq_in_index: 1Column_name: idCollation: ACardinality: 0Sub_part: NULLPacked: NULLNull:Index_type: BTREEComment:
Index_comment:Visible: YESExpression: NULL
*************************** 2. row ***************************Table: t2Non_unique: 1Key_name: idx_nameSeq_in_index: 1Column_name: nameCollation: ACardinality: 0Sub_part: NULLPacked: NULLNull: YESIndex_type: BTREEComment:
Index_comment:Visible: YESExpression: NULL
2 rows in set (0.01 sec)ERROR:
No query specifiedmysql> desc t2;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | YES | MUL | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (1.44 sec)mysql> show create table t2;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t2 | CREATE TABLE `t2` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`),KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.05 sec)
我们发现,索引和表结构确确实实复制过来了。
2.仅复制数据
create table t3 select * from t1;
mysql> create table t3 select * from t1;
Query OK, 2 rows affected (1.15 sec)
Records: 2 Duplicates: 0 Warnings: 0
查看表结构,发现主键索引并没有复制过来
mysql> show create table t3;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t3 | CREATE TABLE `t3` (`id` int(11) NOT NULL DEFAULT '0',`name` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.05 sec)
查看索引
mysql> show index from t3;
Empty set (0.05 sec)
查看表数据,发现已经复制成功
mysql> select * from t3;
+----+------+
| id | name |
+----+------+
| 1 | 张三 |
| 2 | 李四 |
+----+------+
2 rows in set (0.00 sec)
3.完整复制
步骤一:复制表结构create table t4 like t1;
步骤二:向新表插入数据insert into t4 select * from t1;
mysql> create table t4 like t1;
Query OK, 0 rows affected (0.82 sec)mysql> insert into t4 select * from t1;
Query OK, 2 rows affected (0.21 sec)
Records: 2 Duplicates: 0 Warnings: 0
查看建表语句
show create table t4;
查看索引
show index from t4;
查看数据
select * from t4;
结果如下:
mysql> show create table t4\G;
*************************** 1. row ***************************Table: t4
Create Table: CREATE TABLE `t4` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`),KEY `idx_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)ERROR:
No query specifiedmysql> show index from t4\G;
*************************** 1. row ***************************Table: t4Non_unique: 0Key_name: PRIMARYSeq_in_index: 1Column_name: idCollation: ACardinality: 2Sub_part: NULLPacked: NULLNull:Index_type: BTREEComment:
Index_comment:Visible: YESExpression: NULL
*************************** 2. row ***************************Table: t4Non_unique: 1Key_name: idx_nameSeq_in_index: 1Column_name: nameCollation: ACardinality: 2Sub_part: NULLPacked: NULLNull: YESIndex_type: BTREEComment:
Index_comment:Visible: YESExpression: NULL
2 rows in set (0.03 sec)ERROR:
No query specifiedmysql> select * from t4;
+----+------+
| id | name |
+----+------+
| 1 | 张三 |
| 2 | 李四 |
+----+------+
2 rows in set (0.00 sec)
全部复制过来了
MySQL复制表3种方式相关推荐
- 【运维面试】面试官: 你能说一下MySQL主从的几种方式吗?
一般面试官问这个问题,都伴随着另外一个问题,叫:小伙子,你说一下MySQL主从原理? 当你回答完原理之后,就会问到关于MySQL主从的几种方式的问题. 一般我们的主从同步,分为:半同步复制和异步复制: ...
- django 不用自带的mysql_21_django配置使用mysql数据库的两种方式
配置django项目使用mysql数据库的两种方式 1. 直接在settings.py 文件中添加数据库配置信息 # 配置数据库的第一种方式 DATABASES = { 'default': { 'E ...
- php连接mysql_PHP连接MySQL数据库的三种方式
本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...
- commvault备份mysql,备份MySQL数据库的4种方式
备份MySQL数据库的4种方式 前言我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, ...
- php连接虚拟机中mysql数据库吗,PHP连接MySQL数据库的三种方式
本篇文章给大家介绍一下PHP连接MysqL数据库的三种方式(MysqL.MysqLi.pdo),结合实例形式分析了PHP基于MysqL.MysqLi.pdo三种方式连接MysqL数据库的相关操作技巧与 ...
- php 复制mysql数据库_PHP连接MySQL数据库的三种方式
本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...
- .net mysql和php mysql数据库连接_浅谈PHP连接MySQL数据库的三种方式
本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...
- mysql排序的四种方式
mysql排序的四种方式 第一种,默认排序 第二种,field函数排序 第三种,条件排序 第四种,多重条件排序 第一种,默认排序 按照 order by 字段1 desc/asc, 字段2 desc/ ...
- 连接MySQL数据库的两种方式
连接MySQL数据库的两种方式 一.通过sqlyog连接 二.通过命令行连接数据库: 命令行连接! 1.mysql -u root -p123456 #连接数据库2.update mysql.user ...
最新文章
- 你不得不看的六篇知识图谱落地好文
- 6 获取数组中最小值_C语言每日一练8——数组中最大值和最小值
- python数据类型和数据运算
- @Value和Hibernate问题
- java pdf无法加载_java - 试图使用iText7合并来合并pdf,但是当我打开最终的合并pdf时,它说无法加载pdf文档 - SO中文参考 - www.soinside.com...
- 内核参数 linux dd,Linux dd命令使用示例
- CoreAnimation-CABasicAnimation
- c语言输出菱形for循环_C语言如何输出菱形
- python pywifi模块——暴力破解wifi
- oracle 汉字转五笔码,芈月传的芈字怎么打?用五笔拆解并输入方法图解
- Java开发的文字RPG游戏,代码开源
- 南京大学计算机学类,南京大学计算机专业厉害吗?
- iOS自动化测试之ipa安装失败的日志分析
- html网页制作比赛要求,校园网页设计大赛活动方案
- 论中职计算机基础课程授课方法,浅论中职《计算机基础》的教法与学法
- 在Ubuntu 18.04上用源码安装GVM 20.08
- 获取HTML中文本框的值并进行比较两者的大小
- chrome android 导航,将 Chrome for Android 的地址栏移动到屏幕下方[Android]
- 南阳农运会于2012年9月16日开幕
- 数字化转型大咖群研讨实录20210506