1、使用mysql命令行客户端,连接时要加允许导入文件后缀--local-infile=1
mysql -u root -p --local-infile=1
2、服务端也要临时开启local_infile = ON
SET GLOBAL local_infile = ON;
3、然后执行导入
LOAD DATA LOCAL INFILE '/usr/local/mysql-8.2.0-macos13-arm64/data/device.data.txt' INTO TABLE device_data FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
如果有非varchar的字段,要对字段做转换,如:
LOAD DATA LOCAL INFILE 'data.txt'
INTO TABLE my_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(column1, @var1, column3, ...)
SET column2 = STR_TO_DATE(@var1, '%Y-%m-%d %H:%i:%s');
这种繁琐的工作完全可以交个AI:
- 用工具生成你的建表语句喂给AI
- 直接拿AI生成的语句,换个文件路径去执行就行了