キーワードでデータベースを検索:
一致する単語についてSQLiteデータベースのテーブル全体をクエリする方法はありますか?JTextField
テーブル全体を検索し、Job
一致する単語を含む行を返すために、キーワードに単語を配置しようとしています。各行は一意のジョブを表します。
私は、この下の切り取られた構造は結果を達成しないだろうと思います
SELECT * FROM Job WHERE Job MATCH 'Microsoft';
すばやく簡単な推奨事項はありますか?
全文検索テーブルである限り、提案している構文を使用できるようです。
http://www.phparch.com/2011/11/full-text-search-with-sqlite/
おそらくFTSテーブルに関する公式のSQLiteドキュメントを読む必要があります。これらは「仮想」テーブルであるため、データベースファイルを同じように使用しないことに注意してください。これは希望どおりではない可能性がありますが、探している構文と一致します。リンクされているSQLiteページにはかなり良い説明があります。FTSモジュールはオプションのエクストラであり、インストールできない場合があることに注意してください。
プレースホルダーを使用している限り、SQLインジェクション攻撃について心配する必要はありません。このSOの質問、具体的にはコードスニペットを使用した2番目の回答を見てください。基本的に、ステートメントにを入れて?
から、クエリ関数のパラメータとして置き換える文字列を指定します。これでSQLエスケープが可能になります。
私はsqliteを知りませんが、mysqlでは次のように使用される全文検索があります
select * from table where match(name)against('value')
天気の全文検索がsqliteにあるかどうかを確認してください。このリンクで確認できます