在MySQL命令行中执行.sql脚本的正确语法是什么?

时间:2011-05-22 21:55:50

标签: mysql mysql-error-1064 sql-scripts

我很困惑。从我在网上看到的参考文献中,执行文本文件脚本的命令是:

mysql> --user=root --password=admin --database=zero <query.sql

然而,当我运行它时,命令行说myres语法错误(错误1064)。 我将query.sql脚本文件保存在C:程序文件中...... \ MYSQL \ MYSQL Server5.1 ..(包含mySQL命令行终端.exe的文件夹目录)

然后我做了这个:

 mysql> USE db1 \g
 mysql> source <query.sql \g

它也不起作用;命令行给了我同样的错误。我拥有的mySQL版本与我见过的其他版本不同。如您所见,您必须在每个查询的末尾添加“\ g”。

请帮助,如果描述不是很清楚,请告诉我..thx

EDITED: 所以这是我在query.sql中的代码:

CREATE TABLE IF NOT EXISTS 'db1'(
'id' int(255) NOT NULL auto_increment,
'date' date NOT NULL,
'title' varchar(255) NOT NULL,
'introtext' text NOT NULL,
'maintext' text NOT NULL,
PRIMARY KEY ('id')
)

3 个答案:

答案 0 :(得分:5)

您可以使用以下命令在客户端内运行SQL文件:

\. query.sql

或者,如果您尚未加入客户端,则可以从命令行使用以下命令:

mysql --user=root --password=admin --database=zero < query.sql

答案 1 :(得分:2)

删除引号:'db1'。必要时使用反引号,例如名为date的字段,以便从类型date中识别它。并在语句末尾添加;

CREATE TABLE IF NOT EXISTS db1(
  id int(255) NOT NULL auto_increment,
  `date` date NOT NULL,
  title varchar(255) NOT NULL,
  introtext text NOT NULL,
  maintext text NOT NULL,
  PRIMARY KEY (id)
) ;

答案 2 :(得分:0)

您需要指定数据库,如下所示: -

使用(数据库名称)

所以上面用数据库的名称替换(DATABASE NAME)