当前位置: 首页 > 面试题库 >

MySQL-SELECT * INTO OUTFILE LOCAL?

融烨华
2023-03-14
问题内容

MySQL很棒!我目前参与大型服务器迁移,以前,我们的小型数据库曾经托管在与客户端相同的服务器上。
所以我们曾经这样做:SELECT * INTO OUTFILE .... LOAD DATA INFILE ....

现在,我们将数据库移至另一台服务器,并且SELECT * INTO OUTFILE ....不再工作,这是可以理解的-
我认为是安全原因。但是,有趣的LOAD DATA INFILE ....是,可以将其更改为LOAD DATA LOCAL INFILE ....bam,并且可以使用。

我没有抱怨,也没有对MySQL表示厌恶。替代方法是添加两行额外的代码和一个系统调用以形成一个.sql脚本。我只想知道为什么会LOAD DATA LOCAL INFILE起作用,为什么没有这样的东西SELECT INTO OUTFILE LOCAL

我做了作业,找不到上面问题的直接答案。我也找不到@ MySQL的功能请求。如果有人可以清除它,那就太好了!

MariaDB是否可以处理此问题?


问题答案:

在手册中:The SELECT ... INTO OUTFILE语句主要用于使您非常快速地将表转储到服务器计算机上的文本文件中。如果要在服务器主机以外的其他客户端主机上创建结果文件,则不能使用SELECT ... INTO OUTFILE。在这种情况下,您应该改用命令,例如mysql -e "SELECT ..." > file_name在客户端主机上生成文件。”

http://dev.mysql.com/doc/refman/5.0/en/select.html

一个例子:

mysql -h my.db.com -u usrname--password=pass db_name -e 'SELECT foo FROM bar' > /tmp/myfile.txt


 类似资料:
  • 本文向大家介绍MySQL SELECT WHERE,包括了MySQL SELECT WHERE的使用技巧和注意事项,需要的朋友参考一下 示例 询问 结果 使用WHERE子句中的嵌套SELECT查询 该WHERE子句可以包含任何有效的SELECT语句以编写更复杂的查询。这是一个“嵌套”查询 询问 嵌套查询通常用于从查询中返回单个原子值以进行比较。 选择所有没有电子邮件地址的用户名 免责声明:比较整个

  • 本文向大家介绍MySQL SELECT...LIKE (%),包括了MySQL SELECT...LIKE (%)的使用技巧和注意事项,需要的朋友参考一下 示例 任意位置的“ adm”: 以“ adm”开头: 以“ adm”结尾: 正如%一个字符LIKE条款任意数目的字符匹配,_匹配字符一个字符。例如, 性能说明如果上有一个索引username,则 LIKE 'adm' 执行与`='adm'相同的

  • 问题内容: 我在理解如何执行一些INSERT SELECT时有些困难。 例如我有两个表。 现在,假设我要向表网站添加另一个查询。我得到两个变量,可以说: 我想从用户表中选择John的ID,然后在一条语句中将其插入网站表中。 我该怎么做? 问题答案: 假设您的变量已经正确地转义并且没有注入:

  • 问题内容: 假设我在MySQL数据库的表中有列。我想要做的是选择表中所有这4列的所有唯一值(仅唯一值)。我尝试了类似的东西: 这些都不起作用。有人可以帮忙吗? 谢谢 注意 我想要分别显示各列的不同值。不是价值的独特组合 问题答案: 能帮上忙吗?

  • 使用PreparedStatement生成如下所示的查询。。。 ...不知道in语句中的字符串数 构造一个字符串就像... ...用ps.setString()传递它会导致: 这可能是一件好事,但它使这种解决我问题的方法毫无用处。 关于如何在不动态创建查询字符串的情况下将未知数量的值传递到JDBC PreparedStatement中(这个查询保存在一个文件中,以便于重用,我希望保持这种方式),有

  • 问题内容: 我正在创建一个使用两次来自同一表的数据的视图。结果,相同的列名出现两次。 因此,我需要给这些列起别名。如果我要这样做,我会写成: 但这是行不通的。谢谢你的帮助! 编辑: 这是我实际上得到的数据: 这是我想获取的数据(同时仍使用): 问题答案: 您不能使用别名。别名可用于单个列。 您必须改为为每列加上别名。 因此,不幸的是,如果您有很多列,则需要执行以下操作: