将数据导出到 MySQL 中的 Outfile
在某些情况下,用户希望在输出文件或某些本地存储中捕获操作。存储可以是 CSV 文件或记事本,其中可以放置 SQL 的内容。
该文件是使用 MySQL 的 outfile
命令生成的。此命令允许用户将 SQL 输出导出并捕获到特定文件中。
select into outfile
命令允许用户在特定列中插入行,并且使用选项允许读取表和输出文件中所需的格式类型。它有助于以用户定义的格式表示文件中的表。
语法:
select * from stu into outfile "outfile.txt";
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option, so it cannot execute this statement
当用户尝试执行命令时,会填充上述错误。错误填充的原因是 MySQL 服务器安装,默认配置为 .ini
文件中的 --secure-file-priv
。
该选项不允许出于安全目的导入和导出库。此变量存在于限制用户将数据共享到外部文件的 sqld
文件下。
可以使用以下命令查看为变量 --secure-file-priv
设置的当前路径:
SHOWVARIABLESLIKE"secure_file_priv";
使用带有变量名称的路径更改配置变量值。遍历到变量中显示的目的地。
在该位置找到 my.ini
。搜索 secure_file_priv
变量并将值替换为空值。
下面是默认情况下图像变量值如何呈现的屏幕截图。
导航到变量存在的路径。用户将能够找到 my.ini
文件。
更改相同变量的配置并再次保存文件。重新启动服务器以查看错误是否消失。
上述命令的变化如下:
SELECTstu_id,stu_name,stu_age,stu_addINTOOUTFILE'outfile.csv'FIELDSTERMINATEDBY','OPTIONALLYENCLOSEDBY'"'LINESTERMINATEDBY'\n'FROMtablename;
该命令允许用户指定表中存在的转义序列。表格内的列由逗号、,
或管道|
或制表符分隔。
可以在插入时使用上述命令和特定命令对其进行配置。
上述命令的详细阐述如下。
SELECT *
命令用于选择特定表的所有记录。INTO OUTFILE
关键字向服务器表明特定命令将对文件进行输出操作。filename
说明了插入输出的文件。FIELDS TERMINATED BY
选项允许用户指定列和属性分隔所需的字符。它增加了文件的可读性。关键字允许用户转义 CSV 文件中的特殊字符。OPTIONALLY ENCLOSED BY
选项不是一个应该提供的强制性选项。它允许用户提供字符串格式的序列。LINES TERMINATED BY
选项允许将\n
转义序列视为输出文件中的换行符。此选项有助于更好地理解输出文件中的表格和解释。- 最后,可以提供一个表名,它包含了整个命令。上面给出的所有选项都被包装并限制在 table_name 上。需要对以下语句执行操作。
下面提供了 MySQL 命令提示符的图像。
它显示了在本地 MySQL 命令提示符下执行的命令。
现在,上面的输出是使用 outfile
命令创建的文件中存在的记录。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。