我正在使用Ubuntu 16.04,并且可以从命令行正常使用MySql。我可以创建数据库,添加表,向表添加行,获取查询等。
我不能做的是编写一个sql文件并运行它。
我从常规终端切换到包含脚本test.sql
的目录
然后我运行mysql -u root -p > test.mysql
,并要求我输入密码。如果输入了错误的密码,则会出错,如果输入正确的密码,则什么也不会发生,终端的行为就好像它在期待进一步的输入一样。
如果我已经启动MySql并且愿意
mysql>SOURCE /home/ryan/MYSQL_Scripts/test.sql
我得到Failed to open file '/home/ryan/MYSQL Scripts/test.sql', error: 2
我知道这意味着无法从资源管理器中找到该文件或假定该文件尚不存在,我右键单击该文件以获取有关其路径的信息,因此我认为该路径是可以的。
我认为我的脚本没有任何问题,因为我可以从mysql提示符下分别运行命令。这是我的脚本:
USE first_db;
CREATE TABLE Department(id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL);
CREATE TABLE Employees(id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
department_id INT(6) NOT NULL);
INSERT INTO Department (name) VALUES ("Fire");
SELECT * FROM Department;
我当然有一个数据库,first_db,已经创建,并且能够从mysql提示符进行交互,我只需要使用mysql脚本的帮助即可。
一些建议将不胜感激。谢谢!
`
答案 0 :(得分:0)
JNevill的方法立即起作用,mysql -u root -p < test1.sql
是从命令行执行mysql脚本的正确命令。
Robert Harvey正在使用路径引用。尚不确定为什么我使用的路径不正确。