Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅转储sqlite数据库的一部分_Sqlite - Fatal编程技术网

仅转储sqlite数据库的一部分

仅转储sqlite数据库的一部分,sqlite,Sqlite,是否可以只转储数据库的一部分?我有一个包含25万条记录的数据库。我想创建第二个,其中包含十分之一的数据 使用 和背景 .output out.sql 生成一个文件,该文件的二进制数据编码方式与使用时不同 .dump dump -> the binary data gets encoded as hex bytes other way -> it gets encoded as some weird string 您可以直接写入新数据库,而不是转储到文件: ATTACH DATA

是否可以只转储数据库的一部分?我有一个包含25万条记录的数据库。我想创建第二个,其中包含十分之一的数据

使用

和背景

.output out.sql
生成一个文件,该文件的二进制数据编码方式与使用时不同

.dump

dump -> the binary data gets encoded as hex bytes
other way -> it gets encoded as some weird string

您可以直接写入新数据库,而不是转储到文件:

ATTACH DATABASE New.db AS new;
CREATE TABLE new.stuff AS (SELECT * FROM table WHERE id % 10 = 0);

这将在
New.db中创建表
stuff

如果您知道需要的行范围,可以使用select offset和limit参数。

我得到错误:near“(”:语法错误如何修复?@mrLSD您好!请将您的代码作为一个新问题发布,有人会提供帮助,我确信某些查询不需要此答案中的括号,这就是@mrLSD看到此错误的原因。
CREATE TABLE new.stuff作为SELECT*FROM TABLE;
就足够了。没有
ATTACH
f,有什么方法可以做到这一点吗rom终端?即通过管道?
ATTACH DATABASE New.db AS new;
CREATE TABLE new.stuff AS (SELECT * FROM table WHERE id % 10 = 0);