【问题标题】:Create MySQL Database with .SQL File使用 .SQL 文件创建 MySQL 数据库
【发布时间】:2012-05-26 20:01:41
【问题描述】:

我对 MySQL 了解不多。但我正在尝试使用 Visio 对 MySQL 数据库进行逆向工程。我知道我应该采取哪些步骤来执行此操作,但我无法让我的数据库显示在“数据库”部分(如下所示):

如何使用 .SQL 文件创建 MySQL 数据库并使其显示在此列表中?我试过这段代码: mysql -u 用户名 -p 密码 database_name

【问题讨论】:

  • 运行这个命令是否报错:mysql -u username -p password database_name
  • 它什么也不做,它用箭头跳到下一行。但我不确定我输入的命令是否正确。 database_name 应该是我打算将数据库保存为还是应该已经存在? .sql 文件应该保存在哪里?
  • @Amy 数据库名称应该已经存在。
  • @Michael 好的,谢谢,我明白了。那么我可以创建一个空白数据库并将 .sql 文件导入其中吗?
  • 您可以在任何地方运行此命令,但请确保引用 filename.sql 的正确路径。尝试移动到 filename.sql 所在的文件夹并按原样运行此命令。 database_name 是已经创建的数据库的名称。

标签: mysql mysqldump


【解决方案1】:

1) 创建文件“filename.sql”

2) 在您想要导入此文件的数据库中创建一个数据库。

3) 从命令提示符/终端,移动到您创建“filename.sql”的目录。

4) 运行命令:mysql -u username -p password database_name < filename.sql。 (您还可以提供文件的正确路径并从任何地方运行此命令)。可能是您没有为 MySQL 设置密码。如果是这样,mysql -u username database_name < filename.sql 也可以。

在您的情况下,如果您创建了一个名为 ojs 的数据库,并且还在 C: drive 中创建了一个名为 ojs.sql 的文件然后运行以下命令:

编辑:将路径放在引号内。

mysql -u username -p password ojs < "C:\ojs.sql"

在 mysql 中还有另一种导入表的方法。你也可以这样做:

1) 连接你的数据库

2) 输入命令“use ojs;”

3) 输入命令“source C:/ojs.sql”

【讨论】:

  • 非常感谢。它说“未知命令'\o',所以我将它改为正斜杠。然后它没有给出错误,但仍然没有响应。当命令工作时它应该确认什么吗?
  • 用什么来实际执行这个语句?它只是按Enter吗?因为当我按回车时,它似乎只是跳转到下一行,并没有真正执行该语句。
  • 使用正斜杠执行命令后,您是否看到数据库中要创建的表?
  • 不,根本没有回应。就像语句没有被执行一样。就像它只是跳到该语句的下一行而不是执行它。
  • 你需要用分号结束你的命令。 mysql正在等你继续你的陈述。
【解决方案2】:

大多数创建数据库的 MySQL SQL 文件“即时”创建数据库,因此您通常无需执行任何操作,除了:

  1. 登录

    mysql -u [username] -p[password]

(注意:确保在 -p 和 [密码] 之间不包含空格 (' ') 字符。 MySQL 会认为 [password] 是您要连接的数据库的名称。 “一般”登录(上图)并不假定您要连接到任何特定架构。)

  1. 来源文件(不要在文件名周围使用引号)

    mysql&gt; source [database_creation_file].sql

【讨论】:

    【解决方案3】:

    你可以简单地使用 mysql workbench 来完成它

    1> 创建一个新的查询选项卡 2>CREATE DATABASE database_name; 3>USE database_name; 4> 打开filename.sql文件并执行ctrl + shift + enter 5> filename.sql 中的所有表都已创建

    【讨论】: