mysql 增量数据导出导入
注:mysql 是安装在linux
1。导出
select *
into OUTFILE 'template_template.txt'
CHARACTER set utf8
FIELDS TERMINATED by '~'
from template_template
where templatename like '%安卓%'
outfile 默认是跟数据库所在路径,例:/var/lib/mysql/template/
也可以绝对路径,例:/home/myuser/
注意用户要有读写文件的权限
2.导入
在window机器
load data local infile 'c:/data/template_template.txt' into table template_template
character set utf8
fields terminated by '~';
注意:是/,而不是\
在linux机器
load data infile '/var/lib/mysql/template/template_template.txt' into table template_template
character set utf8
fields terminated by '~';
区别:在window机器多了local这个关键字
3.其他注意点:
1.字符集要跟数据库,表的字符集一致,建议使用utf8
2.fields terminated by '~' 表示各个字段的数据以~隔个,也可以用其他特殊字符
3.导出的数据在导入时,表结构一定要一致
4.导出数据时,可以用where,子查询等
4.扩展
在做大数据量入库时,程序可先生成数据文件,然后再用load data方式入库。
没有亲自测试load data与insert的性能差距,估计load data的速度应该会比insert快几倍
后续再补充其他优化方法。
注:mysql 是安装在linux
1。导出
select *
into OUTFILE 'template_template.txt'
CHARACTER set utf8
FIELDS TERMINATED by '~'
from template_template
where templatename like '%安卓%'
outfile 默认是跟数据库所在路径,例:/var/lib/mysql/template/
也可以绝对路径,例:/home/myuser/
注意用户要有读写文件的权限
2.导入
在window机器
load data local infile 'c:/data/template_template.txt' into table template_template
character set utf8
fields terminated by '~';
注意:是/,而不是\
在linux机器
load data infile '/var/lib/mysql/template/template_template.txt' into table template_template
character set utf8
fields terminated by '~';
区别:在window机器多了local这个关键字
3.其他注意点:
1.字符集要跟数据库,表的字符集一致,建议使用utf8
2.fields terminated by '~' 表示各个字段的数据以~隔个,也可以用其他特殊字符
3.导出的数据在导入时,表结构一定要一致
4.导出数据时,可以用where,子查询等
4.扩展
在做大数据量入库时,程序可先生成数据文件,然后再用load data方式入库。
没有亲自测试load data与insert的性能差距,估计load data的速度应该会比insert快几倍
后续再补充其他优化方法。