从 .txt 文件运行 mySql 命令

分享于2022年07月17日 database file mysql sql text-files 问答
【问题标题】:从 .txt 文件运行 mySql 命令(run mySql commands from .txt file)
【发布时间】:2022-01-25 15:01:23
【问题描述】:

我有一个文本文件,其中包含大约 302 个要由 mySql 服务器执行的命令,所有这些命令都在一个 .txt 文件中,排列方式相同:

USE Plate;
INSERT INTO B (S, P) values ("BI","Bia")

USE Plate;
INSERT INTO B (S, P) values ("BS","Suw")

USE Plate;
INSERT INTO B (S, P) values ("BL","Lom")

我怎样才能(因为将它们复制并粘贴到 mySQL 工作台中似乎不是最明智的想法)一次完成所有这些?

附加信息(只是为了确保我猜):

USE Plate;
INSERT INTO B (S, P) values ("BL","Lom")

这些应该一起执行。

  • 将它们复制并粘贴到 mySQL 工作台中似乎不是最明智的想法 ” 呃,为什么不,确切地说……?您提出此主张的依据是什么?
  • 另外,这里多余的 USE 语句的目的是什么?
  • 最后,您能否提供一些理由说明这 不是 stackoverflow.com/questions/8940230/… 的重复?
  • 旁注:不要习惯在字符串或日期文字中使用双引号。是的,遗憾的是 MySQL 接受了这一点,但在 SQL 中,双引号通常用于标识符,例如列名。如果您曾经使用过另一个 DBMS(或者未来的 MySQL 版本对此更加清醒),您可能会收到“无效的对象名称”错误。始终对字符串或日期文字使用单引号。
  • MySQL Workbench 有一个“文件/打开 SQL 脚本”菜单。您只需更改默认扩展名列表即可查看所有文件。

【解决方案1】:

您似乎是在自己发明的限制下工作。

没有理由一次只将一行粘贴到 MySQL Workbench。撇开其他加载文件的方法不谈,只需将整个文件、多余的 USE 语句和所有内容复制并粘贴到 Workbench 查询窗口中,然后点击 Execute 按钮。

MySQL Workbench 将愉快地逐行执行整个脚本。

  • 不是我的发明,但你对限制是正确的,这就是我所需要的,谢谢:)
  • 我觉得 load data 语句可以用, load-data
  • @HaiZi,加载数据无法执行SQL脚本。充其量,它会将 SQL 脚本的文本作为字符串加载,而不是执行 SQL。