我尝试从http://examples.oreilly.com/9780596527082/加载代码示例。 This方法对我不起作用:
可以在recipies / tables中找到Limbs.sql(这是本书中的示例)。
我在ver上工作。 5.6.24(localhost)和Windows 7。
答案 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