【问题标题】:run mySql commands from .txt file从 .txt 文件运行 mySql 命令
【发布时间】: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 脚本”菜单。您只需更改默认扩展名列表即可查看所有文件。

标签: mysql sql database file text-files


【解决方案1】:

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

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

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

【讨论】:

  • 不是我的发明,但你对限制是正确的,这就是我所需要的,谢谢:)
  • 我觉得load data语句可以用,load-data
  • @HaiZi,加载数据无法执行SQL脚本。充其量,它会将 SQL 脚本的文本作为字符串加载,而不是执行 SQL。
猜你喜欢
  • 2012-11-14
  • 2021-11-11
  • 2018-06-15
  • 2019-12-08
  • 2013-10-01
  • 1970-01-01
  • 2018-07-27
  • 2015-01-06
  • 1970-01-01
相关资源
最近更新 更多