关于 SELECT INTO

跟 SQLServer 不同,MySQL不支持 SELECT INTO 语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下。

一、MySQL不支持 SELECT INTO

  1. 方法一

    MYSQL不支持:

    1
    Select * Into new_table_name from old_table_name;

    替代方法:

    1
    Create table new_table_name (Select * from old_table_name);
  1. 方法二

    1. 先备份表结构和数据

      1
      2
      #导出命令 -u用户名 -p密码 -h主机IP地址 数据库名 表名1   > 导出文件.sql
      mysqldump -uroot -proot -h192.168.1.3 target_db target_db2 > db_export.sql
    2. 修改备份表的名字

    3. 登录MySQL

    4. 选择数据库

    5. 执行: source db_export.sql

二、SQLServer支持 SLECT INTO

备份表直接执行如下就可以了。

1
Select * Into new_table_name from old_table_name;

三、MySQL SELECT INTO FILE 用于导出指定的查询数据到文件

导出表中所有数据到 outfile.sql 中如下:

1
Select * into outfile '/path/to/outfile.sql' from test;