我可以使用SQL语句和。 SQLite命令?我可以在SQLite命令行上运行脚本吗?
5
A
回答
10
使用SQLite .commands
混合SQL语句可以是一个有点棘手:
$ sqlite3 test.db 'create table X(x integer); .dump'
Error: near ".": syntax error
对付这可能是提供的所有命令到sqlite3的命令行shell的标准输入的最简单,最普遍的方式,通过换行分隔,你会键入他们:
$ sqlite3 test.db <<EOF
> CREATE TABLE TEST(X INTEGER);
> .dump
> EOF
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE TEST(X INTEGER);
COMMIT;
由于here documents在所有的炮弹都无法使用,你可以使用一个中间文件来绕过这一限制:
$ cat test.sql
CREATE TABLE TEST(X INTEGER);
.dump
$ sqlite3 test.db <test.sql
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE TEST(X INTEGER);
COMMIT;
-1
echo 'create table X(x integer); .dump' | sqlite3 test.db
2
适合我这个查询:
sqlite3 test.db "select * from sometable"
1
当然可以。在命令行中使用.read
指令,您将会在那里。
创建脚本:
sample.sql
DROP TABLE IF EXISTS test;
CREATE TABLE test (id PRIMARY KEY,
rand1 REAL DEFAULT (RANDOM()),
rand2 REAL DEFAULT (RANDOM()));
INSERT INTO test (id) VALUES(1);
INSERT INTO test (id) VALUES(2);
.dump
然后你可以运行你的脚本:
$ sqlite3 test.db '.read sample.sql'
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE test (id PRIMARY KEY, rand1 REAL DEFAULT (RANDOM()), rand2 REAL DEFAULT (RANDOM()));
INSERT INTO test VALUES(1,-479816953303475072.01,7897905953557517311.9);
INSERT INTO test VALUES(2,3449088292611145728.0,-595585280596709760.01);
COMMIT;
相关问题
- 1. LINQPad - 您可以从命令行运行linqpad脚本吗?
- 2. 在命令行上运行asp脚本
- 3. 我可以将脚本命令放在一行吗?
- 4. 我可以运行使用2个不同命令行的脚本吗?
- 5. 脚本在命令运行时运行
- 6. Bash脚本并在命令行上手动运行命令
- 7. 你可以在unix命令行上运行simulink模型吗?
- 8. 我可以从命令行运行指定的Maven执行吗?
- 9. 我可以在ViM中运行当前脚本或脚本吗?
- 10. 我可以在Heroku帐户上运行bash脚本吗?
- 11. PHP脚本可以在我的服务器上运行吗?
- 12. 我可以在Web主机上运行ftp脚本吗?
- 13. 我可以在chrome://和resource:// URIs上运行Greasemonkey脚本吗?
- 14. 在命令行运行Shell脚本
- 15. 是否可以从命令行运行Smalltalk脚本?
- 16. 可以通过Windows命令行运行多个PHP cURL脚本吗?
- 17. 我可以从命令行运行sailsjs控制器方法吗?
- 18. Selenium IDE 2.9.1 - 我可以从命令行运行测试吗?
- 19. 我可以从命令行运行任意CMake函数吗?
- 20. mac os:如何在命令行上运行多行脚本?
- 21. pg_connect - php脚本可以从命令行运行,但不能从网页运行
- 22. 我在哪里可以在NSIS脚本中添加命令行
- 23. 我可以配置git运行一个命令(在推)吗?
- 24. 我们可以在python中运行ipython命令吗?
- 25. 我可以在android应用程序中运行jdk命令吗?
- 26. 我可以在MacVim内运行软件包打开命令吗?
- 27. 我可以在groovy文件中运行mongorestore命令吗?
- 28. Fabric可以在远程Windows机器上运行shell命令吗?
- 29. 可以在远程机器上运行本地脚本吗?
- 30. 命令在命令行中运行,但在Perl脚本中运行
这将无法正常工作 – Pungs 2014-12-22 09:07:28