-- 复制表
-- 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的。
-- 如何完整的复制MySQL数据表,步骤如下:
-- 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
-- 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令将完全的复制数据表结构。
-- 如果你想复制表的内容,你就可以使用 INSERT INTO ... SELECT 语句来实现。
-- 以student表为列
show CREATE table student
-- 复制结果
CREATE TABLE `student` (
`s_id` varchar(10) DEFAULT NULL,
`s_name` varchar(20) DEFAULT NULL,
`s_age` date DEFAULT NULL,
`s_sex` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
-- 修改上述表为复制表并执行
CREATE TABLE `clone_student` (
`s_id` varchar(10) DEFAULT NULL,
`s_name` varchar(20) DEFAULT NULL,
`s_age` date DEFAULT NULL,
`s_sex` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
-- 通过insert into ... select 来复制数据
INSERT into `clone_student` (
`s_id` ,
`s_name` ,
`s_age`,
`s_sex`
)
SELECT s_id,s_name,s_age,s_sex FROM student
-- 查看复制结果
select * from clone_student