是否有一个纯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 方法可以在终端中执行此操作?
最佳答案
SQLite 被设计为嵌入式数据库,因此仅具有极其基本的编程功能(它有触发器,但没有像 if
或循环之类的控制逻辑)。
因此不可能在 SQL 中执行任何动态操作 – PRAGMA table_info
的结果不能直接用于SQL查询。
在数据库中的所有位置进行搜索的一种非常快速但肮脏的方法是使用 .dump
显示所有内容,然后只需 grep
即可。然而,这实际上并不快,因为在 SQL 中搜索索引列会更快。
关于sqlite - 如何在sqlite3表中查找字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13162391/