【问题标题】:What is the correct syntax for the SOURCE command in SQLSQL中SOURCE命令的正确语法是什么
【发布时间】:2017-02-13 18:16:58
【问题描述】:

在 codeAnywhere 中,我尝试运行预先编写的脚本文件来创建表。使用 codeAnywhere 时,必须先将文件导入 shell 以获取代码,正如我所做的那样。但是我一直无法使用SOURCE 命令来运行这些文件。我目前尝试过这种语法:

USE exams SOURCE students.txt;

这里的正确语法是什么?我需要在语法中命名数据库吗? 是否有其他命令可以运行包含代码的文本文件?

编辑:我尝试使用这种语法,结果如下:

错误:无法打开文件“exams(question5.txt)”,错误:2

【问题讨论】:

  • MySQL 没有任何名为source 的命令/语句,因此您无法让它在那里工作。您需要将文本数据导入 MySQL 中的表才能从那里使用它。我真的不明白你想通过这个问题达到什么目的。
  • @Shadow 我正在尝试运行一个包含创建表所需代码的脚本。
  • 正在使用 \.一个选项?
  • @Shadow "MySQL 没有任何名为 source 的命令/语句..." 这来自文档:"如果您已经在运行 mysql,则可以使用 source 命令执行 SQL 脚本文件或 \. 命令:mysql> 源文件名”。它至少从 5.6(2013 年)开始就存在了
  • @jbobbins 就像你正在混合 mysql 服务器和 mysql 命令行工具的 OP。

标签: mysql codeanywhere


【解决方案1】:

将命令放在单独的行中,shell 命令不使用分号,如果这不起作用,那么也可以使用 \ 前缀(我不需要在我的设置中,但它在文档):

USE exams

SOURCE students.txt

https://dev.mysql.com/doc/mysql-shell-excerpt/5.7/en/mysql-shell-commands.html

【讨论】:

    【解决方案2】:

    在 shell 上,您可以使用以下命令从文本文件执行查询:

    mysql db_name < text_file
    

    提示:如果在文本文件中指定了USE 命令(具有正确的数据库名称),则无需指定数据库。 SOURCE 命令在 MySQL 上不可用,您需要 &lt;

    您可以在此处找到有关从文本文件执行查询的更多信息: https://dev.mysql.com/doc/refman/5.7/en/mysql-batch-commands.html

    【讨论】:

      猜你喜欢
      • 2019-06-10
      • 2018-11-14
      • 2011-08-30
      • 2021-11-11
      • 2014-04-12
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多