最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL执行Select语句将结果导出到文件的方法_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 20:01:46
文档

MySQL执行Select语句将结果导出到文件的方法_MySQL

MySQL执行Select语句将结果导出到文件的方法_MySQL:如果是对MySQL整个表数据导出,可以参照文章:http://www.crazyant.net/1355.html然而也会遇到的场景是,需要执行一个SQL语句,然后将SQL语句的结果输出到文件;方法一:使用MySQL的select * into outfile /tmp/rs.txt from
推荐度:
导读MySQL执行Select语句将结果导出到文件的方法_MySQL:如果是对MySQL整个表数据导出,可以参照文章:http://www.crazyant.net/1355.html然而也会遇到的场景是,需要执行一个SQL语句,然后将SQL语句的结果输出到文件;方法一:使用MySQL的select * into outfile /tmp/rs.txt from

如果是对MySQL整个表数据导出,可以参照文章:http://www.crazyant.net/1355.html

然而也会遇到的场景是,需要执行一个SQL语句,然后将SQL语句的结果输出到文件;

方法一:使用MySQL的select * into outfile ‘/tmp/rs.txt’ from tb_name句型

这是个不可行的方法;

举个例子,执行以下的SQL语句:

mysql -h10.10.10.10 -ucrazyant -p123456 -P3306 -e "use test; select * into outfile '/tmp/rs.txt' from tb_test;"

mysql-h10.10.10.10-ucrazyant-p123456-P3306-e"use test; select * into outfile '/tmp/rs.txt' from tb_test;"

这个SQL总会报出下面的错误:

ERROR 1045 (28000) at line 1: Access denied for user 'crazyant'@'10.10.10.10' (using password: YES)

ERROR1045(28000)atline1:Accessdeniedforuser'crazyant'@'10.10.10.10'(usingpassword:YES)

原因是这个语句并不是在MySQL客户端,而是在MySQL的服务器上执行的,通常用于服务器管理员在服务器机器上进行数据备份使用,由于MySQL客户端账号并没有访问服务器机器本身的权限,所以这个SQL执行不会成功。

方法2:直接将SQL执行的结果重定向到文件即可

执行下面的命令,能够将SQL语句执行的结果输出到文件:

mysql -h10.10.10.10 -ucrazyant -p123456 -P3306 -Ne "use test; select * from tb_test;" > /tmp/rs.txt

mysql-h10.10.10.10-ucrazyant-p123456-P3306-Ne"use test; select * from tb_test;">/tmp/rs.txt

其中-Ne是执行这个SQL语句的选项,-N代表输出SQL语句执行结果中不带第一行的字段名称,-e表示要执行SQL语句;

执行下面的命令,则可以执行SQL文件,并把结果输出到文件:

新建一个文件,名称为runsql.sql,内容为:

use test; select * from db_test;

usetest;select *fromdb_test;

然后这样执行命令:

mysql -h10.10.10.10 -ucrazyant -p123456 -P3306 -N < runsql.sql > /tmp/rs.txt

mysql-h10.10.10.10-ucrazyant-p123456-P3306-N/tmp/rs.txt

其中-N命令仍然表示不输出表头字段说明(第一行),小于号表示输入重定向,runsql.sql的文件内容会被发送给mysql的命令,大于号则表示输出重定向,会将命令执行的结果输出到文件;

总结:

  • select into outfile只能在MySQL服务器上执行,客户端上无法执行;
  • mysql -Ne “sql” > rs.txt可以将SQL语句执行后输出为文件
  • mysql -N < runsql.sql > rs.txt可以执行sql文件中的内容,然后将结果输出到文件;
  • mysql -N的选项,表示输出时不带表头
  • 文档

    MySQL执行Select语句将结果导出到文件的方法_MySQL

    MySQL执行Select语句将结果导出到文件的方法_MySQL:如果是对MySQL整个表数据导出,可以参照文章:http://www.crazyant.net/1355.html然而也会遇到的场景是,需要执行一个SQL语句,然后将SQL语句的结果输出到文件;方法一:使用MySQL的select * into outfile /tmp/rs.txt from
    推荐度:
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top