一、MySQL复制表的几种方式
我们首先创建表stuents_score,利用SQL语句查看创建表的结构与列名字段。
之后查看students_score表数据,便于之后观察对比。
1、CREATE TABLE table_copy SELECT...FROM table形式
如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的,但是可以复制表的内容。
查看表结果与表的数据。
这里发现ID并没有主键约束,并没有完全copy到表students_score的表结构。
查看表数据
CREATE TABLE table_copy SELECT * FROM table
是有数据的。
2、CREATE TABLE table_copy LIKE table形式
该形式只Copy表的结构,但是不能copy表的内容
查看表结构
这里的ID主键有约束,跟原始表students_score是一样的。
但是是没有数据的。
3、复制完整的(表结构+数据)表形式
该形式就是在形式2的基础上补充的,既可以copy到表的结构,又可以copy到数据。
执行CREATE TABLE table_copy LIKE table之后再利用INSERT INTO table_copy SELECT* FROM table将完整的数据copy到复制表中。
注意这是两个语句,不是一个语句。用“;”封号隔开。
查看数据
数据是完整的。
4、CREATE TABLE table_copy AS (SELECT ... FROM table)的形式
该形式就是第一种形式CREATE TABLE table_copy SELECT ... FROM table的延伸。
该形式是复制一个表中的一些字段。
(1)复制表中一些字段
类似于
同样只是copy了表的数据,并没有copy表的内容
查看表数据
(2)复制表中一些字段的同时对copy的表进行定义。
查看表结构与表数据
这里主键约束并不是从原始表来的,而是copy的时候自定义的。
(3)复制表中某些字段的同时对列名进行重命令
查看表结构
查看表数据
本文由职坐标整理并发布,希望同学们能熟练掌握MySQL复制表的几种方式。
了解更多详情请关注职坐标MySQL数据库频道!