使用shell脚本时出错" .sh"使用MYSQL将数据加载到数据库中

时间:2016-07-23 02:18:20

标签: mysql bash shell

为了加载我的作业数据,我按照这些指示

  

运行" mysql< createdb.sql"创建数据库架构。跑   " ./ loaddata.sh"将数据加载到数据库中。

我已使用此命令行成功运行createdb.sql

  

的MySQL> source /user/Desktop/sqllab/createdb.sql;

所以我现在拥有的是数据库,但是有空表。

要从" loaddata.sh"加载数据,我尝试了命令行

  

的MySQL> source /user/Desktop/sqllab/loaddata.sh;

但是我收到了这个错误

  

错误1064(42000):您的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   在学生教师班登记的emp部门附近使用的语法   工作航班飞机员工'在第1行

这是loaddata.sh文件中的内容



#! /bin/sh
# Load data in plain text files to tables


for f in student faculty class enrolled emp dept works flights aircraft employees certified suppliers parts catalog 
do
 echo "Inserting $f"
 mysql --local-infile lab -e "load data local infile '$f.txt' into table $f columns terminated by ',' optionally enclosed by '\"' lines terminated by '\r\n'"
done




当我跑

  

/user/Desktop/sqllab/loaddata.sh

我明白了:

  

插入学生/user/Desktop/sqllab/loaddata.sh:8行:   mysql:找不到命令   插入教师   /user/Desktop/sqllab/loaddata.sh:line 8:mysql:command not   找到插入类/user/Desktop/sqllab/loaddata.sh:line 8:   mysql:找不到命令插入已注册   /user/Desktop/sqllab/loaddata.sh:line 8:mysql:command not   找到插入emp /user/Desktop/sqllab/loaddata.sh:8行:   mysql:找不到命令插入部门   /user/Desktop/sqllab/loaddata.sh:line 8:mysql:command not   找到插入作品/user/Desktop/sqllab/loaddata.sh:8行:   mysql:找不到命令插入航班   /user/Desktop/sqllab/loaddata.sh:line 8:mysql:command not   发现插入飞机/user/Desktop/sqllab/loaddata.sh:line   8:mysql:找不到命令插入员工   /user/Desktop/sqllab/loaddata.sh:line 8:mysql:command not   找到插入认证的/user/Desktop/sqllab/loaddata.sh:   第8行:mysql:找不到命令插入供应商   /user/Desktop/sqllab/loaddata.sh:line 8:mysql:command not   找到插入部件/user/Desktop/sqllab/loaddata.sh:8行:   mysql:找不到命令插入目录   /user/Desktop/sqllab/loaddata.sh:line 8:mysql:command not   结果

0 个答案:

没有答案