美文网首页
MySQL复制表结构,表结构的三种方法

MySQL复制表结构,表结构的三种方法

作者: 码农小杨 | 来源:发表于2017-06-15 14:49 被阅读0次

    我们在操作一张表之前,如果怕误删除数据,可以进行事先备份。

    一:复制表结构

    方法1:

    MySQL [test]> create table csvmy like mycsv;   //仅仅复制表结构
    Query OK, 0 rows affected (0.03 sec)
    MySQL [test]> show  tables;
    +----------------+
    | Tables_in_test |
    +----------------+
    | csvmy          |
    | mycsv          |
    +----------------+
    

    方法2:

    MySQL [test]> create table csv select * from mycsv limit 0;
    Query OK, 0 rows affected (0.03 sec)    //仅仅复制表结构
    Records: 0  Duplicates: 0  Warnings: 0
    
    MySQL [test]> show tables;
    +----------------+
    | Tables_in_test |
    +----------------+
    | csv            |
    | csvmy          |
    | mycsv          |
    +----------------+
    3 rows in set (0.01 sec)
    

    方法3:

    MySQL [test]> show create table mycsv\G;
    *************************** 1. row ***************************
           Table: mycsv
    Create Table: CREATE TABLE `mycsv` (
      `id` int(11) NOT NULL,
      `c1` varchar(10) NOT NULL,
      `c2` char(20) NOT NULL
    ) ENGINE=CSV DEFAULT CHARSET=utf8mb4
    1 row in set (0.00 sec)
    

    获得创建表的sql语句,然后复制语句,修改表名。

    二,复制表结构,以及表数据

    方法1:

    MySQL [test]> create table a select * from mycsv; 
    Query OK, 3 rows affected (0.04 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    
    MySQL [test]> select * from a;
    +----+-----+-----+
    | id | c1  | c2  |
    +----+-----+-----+
    |  1 | aaa | bbb |
    |  2 | ccc | ddd |
    |  3 | eee | fff |
    +----+-----+-----+
    3 rows in set (0.01 sec)
    

    方法2:

    mysql> create table d select user_name,user_pass from users where id=1;  
    Query OK, 1 row affected (0.00 sec)  
    Records: 1  Duplicates: 0  Warnings: 0  
    

    方法3:
    先创建一个空表, INSERT INTO 新表 SELECT * FROM 旧表 ,或者
    INSERT INTO 新表(字段1,字段2,…….) SELECT 字段1,字段2,…… FROM 旧表

    相关文章

      网友评论

          本文标题:MySQL复制表结构,表结构的三种方法

          本文链接:https://www.haomeiwen.com/subject/autlqxtx.html