.sql数据的最佳位置以及在mysql数据库中检索它们的方法?

bzzcjhmw  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(443)

我对.bash\u profile、terminal、mamp和mysql workbench有些混淆。
我的目标是将.sql数据文件从终端加载到数据库中。正在编写pauldubois的mysql教程。附录a说要向.bash\u配置文件添加路径设置:

PATH=/usr/local/mysql/bin:/bin:/usr/bin:/usr/local/bin

我将上述路径添加到.bash\u配置文件中。尽管在第一章中提到了一个名为(sampdb)的sample.sql文件文件夹可以位于任何地方。所以我试着:

export PATH="/Users/trevorpan/Documents/MySQL/sampdb:$PATH"

添加此路径未找到使用以下命令的文件:

mysql> sampdb < create_grade_event.sql;

它给了我这个错误。而且我觉得一定和路径有关,因为到处都是堆栈溢出,书中,还有在线mysql手册上面说的是正确的语法。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sampdb < create_grade_event.sql' at line 1

我也试过:

mysql> source create_grade_event.sql;
ERROR: 
Failed to open file 'create_grade_event.sql', error: 2

这也没用。
现在,我想这些文件应该放在垃圾箱文件夹里。但我不确定他们是否应该留在文件夹(sampdb)或什么。
以下是.bash\u配置文件:

export PATH=/Applications/MAMP/bin/php/php7.1.12/bin:/usr/local/opt/gnu-tar/lib$
export MAMP_PHP=/Applications/MAMP/bin/php/php7.1.12/bin
export PATH="$MAMP_PHP:$PATH"
ICU_DIR=/usr/local/Cellar/icu4c/60.2/
EXT_DIR=/Applications/MAMP/bin/php/php7.1.12/lib/php/extensions/no-debug-non-zt$

if [ -f ~/.bashrc ]; then
        source ~/.bashrc
fi

export PATH="/usr/local/opt/m4/bin:$PATH"
PATH=/usr/local/mysql/bin:/bin:/usr/bin:/usr/local/bin

谢谢您。
编辑:
我试着把一个文件拖到终端,结果成功了。

mysql> source /Applications/MAMP/bin/sampdb/insert_member.sql 
Query OK, 0 rows affected (0.05 sec)

Query OK, 1 row affected (0.02 sec)

Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.04 sec)

Query OK, 1 row affected (0.01 sec) etc. etc.

编辑#2
啊哈。迈克尔,
我尝试更改目录并收到此错误。在终端中加载mysql时,cd无法指向目录,因此我不确定从当前目录加载它的方法:

mysql> cd /Applications/MAMP/bin/sampdb;
ERROR 1064 (42000): You have an error in your SQL syntax; check the   manual that corresponds to your MySQL server version for the right syntax     to use near 'cd /Applications/MAMP/bin/sampdb' at line 1

我的目标是指向一个文件夹位置,并且能够上传.sql数据文件,而不必每次都输入路径。下面的帖子也有类似的问题,但似乎从来没有解决过简单的导入命令:

mysql> source create_grade_event.sql

如何在mysql中使用命令行导入sql文件?
我原来的发帖人就是想达到这个目的。.sql数据文件应该放在bin中吗?如果是这样的话,我该如何引导mysql使用上面的查询来加载它们?有没有更好的地方可以用来存储project.sql文件?
谢谢您。

nsc4cvqm

nsc4cvqm1#

将.sql文件加载到现有数据库的操作如下:

shell> mysql sampdb < create_grade_event.sql

与此完全不同:

mysql> sampdb < create_grade_event.sql;

……这的确是错误的。
此问题与您的路径无关。

mysql> source create_grade_event.sql

……本应有效,但你没有说明你是这样做的,还是这样做的:

shell> source create_grade_event.sql;

…这也是不正确的。无论如何,“没用”还不够详细。
在这里,就像在mysql文档中一样, shell> 指系统shell提示符,通常以 $ .

相关问题