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;