【发布时间】:2021-03-23 05:33:27
【问题描述】:
在开源Wikibooks textbook for MySQL中,将大量信息插入MySQL数据库的指南如下:
创建一个空白 .txt 文件并将此信息复制/粘贴到其中, 将其保存为 tenPeople.sql。
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Mary", "Jones", 21, "female");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Jill", "Harrington", 19, "female");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Bob", "Mill", 26, "male");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Alfred", "Jinks", 23, "male");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Sandra", "Tussel", 31, "female");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Mike", "Habraha", 45, "male");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("John", "Murry", 22, "male");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Jake", "Mechowsky", 34, "male");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Hobrah", "Hinbrah", 24, "hermaphrodite");
INSERT INTO peopleInfo (firstName, lastName, age, gender) values ("Laura", "Smith", 17, "female");
非常好。现在我们 想把所有这些人都放在我们的桌子上。退出 MySQL 并转到 保存 tenPeople.sql 文件的目录。 在那里,要将所有数据放入数据库,请键入:
mysql -u ted -p people <tenPeople.sql and enter your password.
https://en.wikibooks.org/wiki/MySQL/MySQL_Practical_Guide
我一直在尝试完成最后一步,但在终端中收到以下错误:
root@debian:~# -u root -p people <~/Documents/tenPeople.sql
-bash: /root/Documents/tenPeople.sql: No such file or directory
这里,root 是我的 MySQL 用户名(与示例中的“ted”相对)。我已经验证 tenPeople.sql 实际上在 /Users/ttoshiro/Documents/tenPeople.sql 中,但无论我输入什么文件路径,我都会收到一条错误消息,说它不存在。如果重要的话,我正在使用 XAMPP,并尝试了以下方法:
root@debian:~# /Applications/XAMPP/xamppfiles/bin/mysql -u root -p people < /Users/ttoshiro/Documents/tenPeople.sql
但在这种情况下,我也收到了完全相同的错误消息。我也尝试直接启动 MySQL:
/Applications/XAMPP/xamppfiles/bin/mysql -u root -p people < /Users/ttoshiro/Documents/tenPeople.sql
在这种情况下,我收到一个错误,声称数据库“人”未知:ERROR 1049 (42000): Unknown database 'people'。这没有意义,因为在终端中输入\u people 时,我可以清楚地看到数据库“人员”中的表列表。所以,显然数据库必须存在。
我做错了什么?是否有另一种方法可以使用 XAMPP 上传包含大量信息的 .sql 文件?为什么以 root 身份运行时文件路径的工作方式不同?
【问题讨论】:
-
您实际将文件保存在哪里?
ls ~/...是否显示文件? -
你不应该以root身份运行它,MySQL不关心你是什么UNIX用户,事实上,以root身份运行东西在这里会严重适得其反。
-
@tadman
ls ~/...确实显示了文件;它肯定在那里。我尝试了您的建议,但收到了不同的错误(现已编辑到帖子中)。 -
.sql还包含什么?有CREATE DATABASE电话吗? -
如果您在使用命令行时遇到很多问题,请考虑先尝试MySQL Workbench。