今天想导出一些数据,是指定表的9月份的数据
SELECT * INTO OUTFILE '/path/to/your_file.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM abc WHERE DATE(你的日期的字段) BETWEEN '2022-09-01' AND '2022-09-30';
结果发现报错了1290的错误,才想起来数据库设置--secure-file-priv选项,这限制了我可以导出到哪些目录。为了解决这个问题,有以下几种选择:
1.查看secure-file-priv允许的路径:
SHOW VARIABLES LIKE 'secure_file_priv';
你也可以修改配置文件(如my.cnf或my.ini)中修改secure-file-priv的设置。可以将其设置为你想要的路径,或者完全禁用它,禁用的话就用下面的命令,但是不推荐
secure-file-priv=""
也可以用第三方工具navicat查询了以后导出查询结果,我相信这是大部分人的最爱
在Navicat中执行SQL查询:
打开Navicat,并连接到你的数据库。选择你的数据库和表例如abc,然后进入SQL编辑视图。执行以下SQL查询,以选取2022年9月的所有数据:
SELECT * FROM abc WHERE DATE(start_stamp) BETWEEN '2022-09-01' AND '2022-09-30';
执行上面的查询后,Navicat会显示查询结果。在查询结果视图中,你应该能找到一个“导出”或“保存为”按钮(取决于Navicat的版本和平台)。点击该按钮,选择“导出为CSV”或类似选项,然后按照提示保存文件。