2

データベースで文字列を検索するための純粋な sqlite リクエストはありますか?

少しシェルを使用して、テーブルからスキーマを抽出できます。

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 に答える