使用批处理文件插入数据库

时间:2013-10-21 12:42:52

标签: mysql batch-file

我想用批处理文件进行一些SQL操作,但它不起作用。 以下是批处理文件的内容。我不明白我做错了什么..

c:\wamp\bin\mysql\mysql5.6.12\bin\mysql.exe -h localhost --user=root  --password=mariette -e connect quizz -e INSERT INTO `quizz`.`jeu1` (
`index` ,
`user` ,
`password` ,
`score`
)
VALUES (
NULL , 'chris', 'qsdfg', '25'
);

pause

2 个答案:

答案 0 :(得分:2)

不能在批处理文件中使用这样的新行。试试这个

set "query=INSERT INTO `quizz`.`jeu1` (`index` ,`user` ,`password` ,`score`) VALUES ( NULL , 'chris', 'qsdfg', '25');"
c:\wamp\bin\mysql\mysql5.6.12\bin\mysql.exe -h localhost --user=root  --password=mariette -e connect quizz -e "%query%"
pause

或者像这样:

set query=INSERT INTO `quizz`.`jeu1` (`index` ,`user` ,`password` ,`score`)^
 VALUES ^
 ( NULL , 'chris', 'qsdfg', '25');

c:\wamp\bin\mysql\mysql5.6.12\bin\mysql.exe -h localhost --user=root  --password=mariette -e connect quizz -e  "%query%"
pause

此处使用^转义新行以获得更易读的代码。不确定查询是否正确。

答案 1 :(得分:1)

您最好将SQL语法加入单个SQL文件中,其行为如下:

c:\wamp\bin\mysql\mysql5.6.12\bin\mysql.exe -hlocalhost -uroot -pmariette DATABASE < /path/to/dump.sql

此处/path/to/dump.sql表示应包含SQL命令的文件dump.sql的绝对路径。 DATABASE应替换为您正在操作的数据库的实际名称。

这样做更好,因为如果您想要更改SQL,则只需更改SQL文件,而不是命令本身。