mysql - 复制表

理论:

如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用create table ... select 命令,是无法实现的。
本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下:
	1、使用 show create table 命令获取创建数据表(create table) 语句,该语句包含了原数据表的结构,索引等。
	2、复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。
	3、如果你想复制表的内容,你就可以使用 insert into ... select 语句来实现。

  

实践:

select version();
-- 5.7.31-log

use mysql_study;

-- 获取建表语句
show create table employee;

-- 赋值修改表名
CREATE TABLE `employee_1` (
  `emp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `emp_name` varchar(20) NOT NULL,
  `emp_age` int(11) NOT NULL,
  `emp_no` varchar(20) DEFAULT NULL,
  `emp_email` varchar(50) DEFAULT NULL,
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `emp_sex` tinyint(4) DEFAULT NULL,
  `is_delete` tinyint(3) unsigned DEFAULT NULL,
  PRIMARY KEY (`emp_id`),
  UNIQUE KEY `emp_no` (`emp_no`),
  KEY `emp_sex` (`emp_sex`),
  KEY `indexName` (`emp_email`,`emp_age`)
) ENGINE=InnoDB AUTO_INCREMENT=2654326 DEFAULT CHARSET=utf8

-- 添加10条语句
insert into employee_1 select * from employee limit 10;

select * from employee_1;

  

posted @ 2020-09-18 16:40  gygtech  Views(337)  Comments(0Edit  收藏  举报