mysql 导入导出_mysql数据导入导出总结

mysql文件导入导出有2种方式:

1. 导入导出操作SQL文件,通过执行SQL语句来完成操作,文件中包含建表语句和一系列的插入语句;

2. 导入导出操作特定格式的文本数据,该方式文件中仅包含数据,注意文件的编码和数据库编码要兼容,文件编码应该和character_set_database一致,而与set names charaset的charset无任何关系;

这里只是方式2的操作方法:

导出到文件:

select * from custom into outfile 'e:\custom.txt' FIELDS TERMINATED BY ',' optionally enclosed by '"';

从文件导入:

load data infile 'e:\custom.txt' replace into table custom;

load data infile 'e:\custom.txt' replace into table custom fields terminated by ',' optionally enclosed by '"';

从库中其他表导入:

insert into tablename1 select * from tablename2;

/ 导入导出给定列 ///

load data infile 'e:\custom.txt' replace into table custom fields terminated by ',' optionally enclosed by

'"'(customid,name,sex);

select customid,name,sex from custom into outfile 'e:\acustom.txt' fields terminated by ',' optionally enclosed

by '"';

MYSQL的主键是放主存的,第一次的时候执行max获取最大编号,如果插入的时候没有就自增,如果插入的时候指定了主键,则判

断是否大于max,是则设置主键为max,并插入记录,否则替换或出错;如果自增主键为null,则仍是自增;

所以导入的时候,自增主键也可以直接导入;

如果导入的时候出现:truncated字样,则是SQL_MODE问题,修改sql_mode就可以了;

show variables like '%sql_mode%';

set sql_mode='no_auto_create_user,no_engine_substitution';

如出现错误:ERROR 1262 (01000): Row 6737 was truncated; it contained more data than there were input columns.

如:文件中出现,,空字符,正常情况下会出错,需要修改sql_mode后才能导入(会有正常警告);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值