SQLite的:插入来自命令行的二进制数据(SQLite: insert binary data f

2019-09-18 23:31发布

我有这样的SQLite表:

create table mytable (
aid INTEGER NOT NULL PRIMARY KEY, 
bid INTEGER NOT NULL, 
image BLOB
);

我想插入一个二进制文件到image领域在此表中。 是否有可能从做sqlite3命令行界面? 如果是这样,怎么样? 我使用Ubuntu。

谢谢!

Answer 1:

您可以使用如下语法:

echo "insert into mytable values(1,1, \"`cat image`\")" | sqlite3 yourDb

我不知道对于“周围斑点的值。请注意周围cat命令的反引号,意味着cat命令将回声之前执行。

[编辑]

斑点被存储为“X”字头的六位数。 您可以使用“hexdump都” unix命令产生的六弦,但它会更好地写出了命令行工具,读取图像,然后插入。 对这个职位的更多细节: http://comments.gmane.org/gmane.comp.db.sqlite.general/64149



Answer 2:

的sqlite3的命令行界面增加了如下两个“应用程序定义的”功能:

  • readfile
    其通常被用作: INSERT INTO table(blob) VALUES (readfile('myimage.jpg'))
  • writefile
    其中写到与数据库Blob的内容的文件,并返回字节写入。


文章来源: SQLite: insert binary data from command line