执行SQLite脚本

时间:2012-07-25 06:03:53

标签: sqlite

我使用此命令启动sqlite3版本3.7.7,unix 11.4.2:

sqlite3 auction.db

尚未创建auction.db。

sqlite> auction.db < create.sql;

给了我这个错误:near "auction": syntax error

如何运行脚本?

5 个答案:

答案 0 :(得分:109)

您希望将create.sql从shell中提供到sqlite3,而不是从SQLite内部提供:

$ sqlite3 auction.db < create.sql

SQLite的SQL版本不了解文件的<,而shell则不行。

答案 1 :(得分:94)

有很多方法可以做到这一点,一种方法是:

sqlite3 auction.db

其次是:

sqlite> .read create.sql

一般来说,SQLite项目有非常出色的文档!我知道我们经常在文档之前联系谷歌,但在SQLite的情况下,文档确实是最好的技术写作。它干净,清晰,简洁。

答案 2 :(得分:17)

为了执行简单的查询并返回我的shell脚本,我认为这很有效:

$ sqlite3 example.db 'SELECT * FROM some_table;'

答案 3 :(得分:2)

如果您使用的是Windows CMD,则可以使用此命令使用sqlite3创建数据库

C:\sqlite3.exe DBNAME.db ".read DBSCRIPT.sql"

如果没有名称为sqlite3的数据库将创建一个,并且如果您已经拥有一个数据库,则它将以任何方式运行它,但出现“ TABLENAME has exist”错误,我想您也可以使用此命令来进行更改一个已经存在的数据库(但我不确定)

答案 4 :(得分:0)

对于使用PowerShell的用户

PS C:\> Get-Content create.sql -Raw | sqlite3 auction.db