是否可以使用单行终端命令对 sqlite 数据库执行查询?
Is it possible to execute a query against a sqlite database with a single line terminal command?
我想从我的应用程序以编程方式在 sqlite 数据库中执行插入。我不想创建数据库适配器或任何类似的...相反,因为它是一个简单的语句,所以我考虑了 运行宁 shell 命令。
通常情况下,我会喜欢:
# sqlite3 database.db
然后:
sqlite3> INSERT INTO table VALUES (something);
但是,我想知道 是否可以 运行 在单个命令中查询 sqlite 数据库?
如果是这样,我可以在我的应用程序中使用 Runtime.getRuntime().exec('command')
方法。
是的。只需将 SQL 作为命令行参数:
sqlite3 database.db "INSERT INTO table VALUES (something)"
请注意,并非所有 Android 设备都附带 sqlite3 可执行文件。考虑在您的代码中执行数据库操作。
如果您需要执行多个语句,并且您在 bash(或任何其他 POSIX shell):
sqlite3 data.db3 << EOF
SELECT * FROM table1;
SELECT * FROM table2;
EOF
我想从我的应用程序以编程方式在 sqlite 数据库中执行插入。我不想创建数据库适配器或任何类似的...相反,因为它是一个简单的语句,所以我考虑了 运行宁 shell 命令。
通常情况下,我会喜欢:
# sqlite3 database.db
然后:
sqlite3> INSERT INTO table VALUES (something);
但是,我想知道 是否可以 运行 在单个命令中查询 sqlite 数据库?
如果是这样,我可以在我的应用程序中使用 Runtime.getRuntime().exec('command')
方法。
是的。只需将 SQL 作为命令行参数:
sqlite3 database.db "INSERT INTO table VALUES (something)"
请注意,并非所有 Android 设备都附带 sqlite3 可执行文件。考虑在您的代码中执行数据库操作。
如果您需要执行多个语句,并且您在 bash(或任何其他 POSIX shell):
sqlite3 data.db3 << EOF
SELECT * FROM table1;
SELECT * FROM table2;
EOF