MySQL数据库迁移快速导出导入大量数据

2019-07-18  本文已影响0人  张磊_e325

一:导出语句(INTO OUTFILE)

SELECT * FROM ${tabName} 
INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\${tabName}.csv' 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n';

二:导入语句(LOAD DATA INFILE)
1、语法

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char' ]
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...)]

2、示例

LOAD DATA INFILE 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\${tabName}.csv' 
INTO TABLE ${tabName} 
CHARACTER SET utf8
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n';

3、只载入一个表的部分列

LOAD DATA LOCAL INFILE 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\${tabName}.csv' INTO TABLE ${tabName}(col1,col2)

参数:
FIELDS TERMINATED BY ',' :字段分隔符号

OPTIONALLY ENCLOSED BY '"' :字段包围符号

LINES TERMINATED BY '\r\n' :记录分隔符号

备注:
1、导入语句的LOCAL 关键字
当文本文件在本地,需要载入到远程mysql,可以增加此关键字
2、有个小坑、、、2700w数据导入以后发现乱码了,csv文件转码以后还是乱码,最后在INTO TABLE ${tabName} 后加上character set utf8,就不乱码了

上一篇下一篇

猜你喜欢

热点阅读