赞
踩
我们都知道我们经常需要对表进行导出,导入操作,我们对于sql中的用法有时候会需要我们自己来写。我们需要写复制表结构及其数据 的sql,下边我们来说一下这些sql的使用用法。
语法:
create table table_name_new as select * from table_name_old ;
说明:这种复制表结构及其数据使用中需要注意,数据是能够完全导出来的,但是如果表中存在主键,使用这种写法导出新表是不会有主键的。如果要完全导出数据和表结构这种sql写法不建议【主键不会创建出来】。
语法:
create table table_name_new as select * from table_name_old where 1=2 ;
这种写法复制表结构需要注意,新表是不会有主键的。
或者:
create table table_name_new like table_name_old ;
说明:这种复制表结构新表是有主键的。
语法:
insert into table_name_new select * from table_name_old ;
这种写法能够将表数据完全复制。
insert into table_name_new(column1,column2…) select column1,column2… from table_name_old ;
说明:这种写法能够将Old表指定字段的数据复制到New表中,需要注意Old表在写sql时候字段数量要保持一样多。
通过上边的介绍,我们可以使用组合sql的形式来导出复制表结构及其数据。
步骤1:
create table card_type_2 like card_type ;
说明:先把表的正确结构复制。
步骤2:
insert into card_type_2 select * from card_type ;
说明:先把表的数据完全复制。
MySQL 数据库不支持 SELECT … INTO 语句,但支持 INSERT INTO … SELECT 。
我自己使用mysqldump和navicat 的右键方式都用过,但是效果不佳。
mysqldump -h127.0.0.1 -uroot -p密码 -P端口 --add-drop-database=true --lock-tables=false --skip-triggers -t database -w “1=1” table1 table2 >> D:\123.sql
C:**\MySQL5\bin>mysqldump -h127.0.0.1 -uroot -p密码 -P端口 --databases nn
m5 --tables table1 table2 >>C:*\test_en.sql
批量导出指定的表,这种mysqldump 导出的数据格式太乱。至少mysqldump 其他使用方法可自行探索。
比如需要导出某一张数据表的表结构和数据,可以按照下面的步骤:
根据自己需求进行导出数据或者结构。使用工具本地导出速度还可以。
但是当你使用这个工具,连接别人数据库导出表结构和表数据的时候,真的太慢:
不想说啥了,使用这个工具就导出8874条数据,给我搞了23小时,不过这23小时,我尝试上边的方法来代替了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。