使用命令行加载.sql文件

时间:2015-06-08 19:00:10

标签: mysql sql command-line

我尝试从http://examples.oreilly.com/9780596527082/加载代码示例。 This方法对我不起作用:

error error2 error3 users

可以在recipies / tables中找到Limbs.sql(这是本书中的示例)。

我在ver上工作。 5.6.24(localhost)和Windows 7。

2 个答案:

答案 0 :(得分:1)

mysql -u root -p YOUR_PASSWORD test77db< this.sql

-u和-p之后没有空格。那里的空间真的会让mysql感到困惑。

所以它看起来像mysql -uroot -pYOUR_PASSWORD test77db< this.sql

这对test77db运行this.sql

小心使用root

更好的例子是mysql -ujohn -popen_sesame test77db< this.sql

其中user是john,密码= opensesame

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

在我的虚拟数据库中按照下面的说明进行操作:

在我的示例中,test77db是数据库名称。所以我的.sql文件不需要引用dbname,因为你在shell传递它。但无论如何作为使用stmt把它放在那里。我会告诉你

进入mysql,授权创建数据库,可能是root用户,无论如何。

所以现在你处于一个mysql提示符。

数据库test77db中的

以下示例:

use test77db; - 只是为了强调要点

CREATE TABLE bonehead
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
who_is_bonehead VARCHAR(100) NOT NULL
);

你刚创建了这个表,现在退出了mysql

您现在处于操作系统(linux,dos,无论如何)提示

创建this.sql文本文件,它只包含:

use test77db;

insert into bonehead(who_is_bonehead) values('Drew Pierce');

保存。

然后运行(您仍处于操作系统提示符处!)

mysql -uroot -pYOUR_PASSWORD test77db < this.sql

您现在处于mysql提示符下,请输入

use test77db; - 这是数据库名称

select * from bonehead;

答案 1 :(得分:1)

有两种方法可以在数据库上执行外部文件: 1.从命令行 2.从MySQL客户端

首先,要确定您正在使用的应用程序(DOS命令行或MySQL客户端应用程序),请查看您的提示。当你在MySQL客户端内时,你的提示会说:

    mysql>

双击MySQL客户端应用程序即可获得该窗口/提示符。这是我在您提供的屏幕截图中看到的提示。

如果你在windows命令行中,你的提示会说:

    C:\Users\kulis>

通过在Windows开始菜单中键入“cmd”或在“开始”菜单中搜索它来进入Windows命令行。

要在MySQL客户端应用程序中执行外部脚本(您在屏幕截图中的位置),您需要使用“source”命令:

    mysql> source \path\to\your\script\limbs.sql

或者,如果您使用Windows命令行,则可以使用您已经尝试过的命令:

    c:\Users\kulis>  cd D:\Nauka\SQL\bazy\recipes\tables
    D:\Nauka\SQL\bazy\recipes\tables>  mysql -uroot -pcookbook < limbs.sql

来源: http://dev.mysql.com/doc/refman/5.6/en/mysql-batch-commands.html