SQL中SOURCE命令的正确语法是啥
Posted
技术标签:
【中文标题】SQL中SOURCE命令的正确语法是啥【英文标题】: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。
【参考方案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 上不可用,您需要 <
。
您可以在此处找到有关从文本文件执行查询的更多信息: https://dev.mysql.com/doc/refman/5.7/en/mysql-batch-commands.html
【讨论】:
以上是关于SQL中SOURCE命令的正确语法是啥的主要内容,如果未能解决你的问题,请参考以下文章
给mysql导入.sql文件,用完source命令后,数据库还是空的,没有表,为啥