2

是否有在数据库中查找字符串的纯 sqlite 请求?

使用一点 shell,我可以从表中提取模式:

for i in *sqlite; 
   do sqlite3 $i ".tables"
   | grep -Eoh "[^ ]+" 
   | while read t; do 
          echo -n "$i:$t  ";
          sqlite3 $i '.schema "'"$t"'"';
   done;
echo;
done

然后我可以找到哪一列的类型是 TEXT,并提出请求。

但是在终端中是否有一种纯 SQL 方法可以做到这一点?

4

1 回答 1

2

SQLite 被设计为嵌入式数据库,因此只有非常基本的编程能力(它有触发器,但没有控制逻辑if或循环)。所以不可能在 SQL 中做任何动态的事情——结果PRAGMA table_info不能直接在 SQL 查询中使用。

在数据库中搜索任何地方的一种非常快速而肮脏的方法是显示所有内容,.dump然后就grep这样。但是,这实际上并不快,因为在 SQL 中搜索索引列会更快。

于 2012-10-31T18:03:35.557 回答