MySQL复制表3种方式

article/2025/8/26 14:34:34

本节目标

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)

全部复制过来了


http://chatgpt.dhexx.cn/article/mb8dbmMf.shtml

相关文章

MySQL:如何复制表的部分或全部数据到其他表里?

文章目录 复制表分三种情况:1、复制原有表t_test的结构到另一张表t_testx(x1,2,......),2、复制原有表t_test的数据到表t_testx(x1,2,......),有两种情况,3、复制原有表t_test的结构及数据到另一张表t_testx(x1,2,......)&#xf…

mysql 复制表的几种方式

1. 下面这个语句会拷贝表结构到新表newadmin中。 (不会拷贝表中的数据) CREATE TABLE newadmin LIKE admin 2. 下面这个语句会拷贝数据到新表中。 注意:这个语句其实只是把select语句的结果建一个表。所以newadmin这个表不会有主键,索引。 CREATE TAB…

MySQL中复制表的方式你知道几种

mysql 想必大家比较熟悉了, 我们常见的crud sql 想必大家也是手到拈来。 但是我在今儿上数据库课的时候,我好像连mysql中复制表的基础写法 都不会。 可能工作中不常用,但作为基础 还是想写出来分享给大家。 这里 我介绍四种常用的复制表的方…

mysql复制表的几种方式

mysql复制表的几种方式 所描述的方法还请实际测试一下再使用. 1、复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。 新表中没有了旧表的primary key、Ex…

无线WiFi怎样实现实名认证?

不管是企业内网的私有WiFi,还是公共WiFi网络;出于安全性需要以及相关政策法规的要求,都要对WiFi无线上网的用户进行实名认证。本文中,我将结合WSG上网行为管理网关介绍如何实现无线WiFi的实名认证。 1. 微信连WiFi 腾讯从2014年退…

无线技术—安全认证技术

1、为什么要保护WLAN网络? 1)防止信息窃取: 通过软件侦听无线信息 通信内容反向解密 2)防止未经过授权的访问: 非法用户接入 越权访问资源 3)提供稳定高效的无线接入: 非法AP等信息干扰导致信号…

论校园网如何实现免认证

一般学校都有校园网(尤其是大学):就是认证类的WiFi,没有密码就可以连接的那种,但是连上不能上网,需要账号密码认证。 一般都几个不同的校园网,这些校园网的来源一般都是学校安装的,或者校园网运…

WLAN认证技术

WLAN安全的发展历程 WLAN认证方式 开放系统认证 开放系统认证 Open system authentication 是缺省使用的认证机制,是最简单的认证算法,即不认证。 认证过程: 客户端发送一个认证请求给选定的AP 该AP发送一个认证成功响应报文给客户端确认该认…

校园网免认证登录连接

嫌校园卡套餐贵,就用GaoYun云,不需要认证登陆也可以使用校园网先用流量安装路线,连上校园网之后不要认证,连接软件。成功的话就是可以破解校园网。蓝奏云:https://wwa.lanzouy.com/iJvbP01erpng

wifi网络接入原理(中)——认证Authentication

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 还是用手机来举例,扫描完成后,我们会选择想要加入的WIFI热点。此时,大部分都会弹出一个输入密码的窗口,当然也有不用输入密码的。这个过程叫做…

无线网络 EAP 认证

本文作者 98,擅长无线安全,过往文章:《wifi渗透-狸猫换太子》、《无线渗透--‘钓鱼’wifi》,完成 3 篇文章,欢迎加入我们的作者大军,争取为大家带来更多更好的关于无线攻防的文章。最后欢迎不同研究安全不同…

如何配置无线WiFi短信认证登录?

公共场所提供wifi上网服务,需要对用户进行实名认证,那如何配置无线WiFi短信认证登录? 本文将详细介绍无线wifi短信认证登录的流程及方法。 一、 短信验证码连接WiFi的功能怎么使用 要实现访客无线上网短信认证功能,需要借助上网…

iOS 系统校园无线WIFI认证上网指南

无为WiFi介绍一下IOS手机怎么连接校园网,本介绍为普通途径连接使用校园网,想了解绕过校园网请看其他贴文。 1. 打开无线网络(WLAN)开关 2. 连接校园无线WiFi网络 进入“设置”->“无线局域网”->在无线WiFi信号列表中选择“…

学校wifi需要认证登录怎么解决

一般学校都有校园网,就是认证类的WiFi,没有密码就可以连接的那种,但是连上不能上网,需要账号密码认证,一般都有几个或者10几个不同的校园网,这些校园网的来源一般都是学校安装的,或者校园网运营…

信锐(SUNDRAY)无线控制器wifi无线上网短信认证设置流程

信锐网科(SUNDRAY)的无线控制器及网管中心设备,基本都适配互亿无线wifi上网短信认证平台,用户只需要进行简单的配置,就可实现访客wifi上网短信认证功能。 本文就信锐无线上网设备配置wifi短信认证功能作详细的说明。 …

无线认证解决方案

1、认证方式 目前平台有支持手机短信认证,微信公众号认证,钉钉账号认证,账号密码认证(支持关联LDAP、AD域,API接口认证),员工授权认证,二维码识别认证,其他第三方数据源…

WLAN认证详解

今天继续给大家介绍WLAN,本文主要内容是WLAN的认证。 一、开放系统认证 开放系统认证,即Open System Authentication,是缺省使用的认证机制,简单来说,就是不进行认证,当STA向AP发送认证请求帧时&#xff…

WiFi 的认证方法

认证方法 认证方法有两种:Open system authentication 与 Shared key authentication。 Open system authentication: 开放系统认证是缺省使用的认证机制,即不认证。如果认证类型设置为开放系统认证,则所有请求认证的客户端都会通过认证。开…

WiFi认证—分析从连接WiFi到上网的全过程(一)

WiFi认证—分析从连接WiFi到上网的全过程(一) - 墨天轮 1 聊一聊网络分析那些事 在我们的业务当中,RPC为各个节点之间的交互提供了通信保障。节点间通信作为整个体系中至关重要的一环,对整体的业务具有不可忽视的影响;通信速率是影响业务直…

金蝶K3开发-工业单据显示物料图片

金蝶K3工业单据单据体实现当鼠标移动到物料代码字段区域时,自动显示对应分录的物料图片,鼠标移动到其他区域时,窗体会自动消失。