1

sqliteにAllWords.dbという名前のデータベースを作成しました。このデータベースには、すべての英語の単語のリストが含まれています(カウント:172820)。すべて選択クエリを発行すると、172820語すべてのリストが返されます。また、次のようにテーブルワードの数を出力すると、次のようになります。

SELECT COUNT(*) FROM words;

出力は172820であるため、データベースには明らかにすべての単語が含まれています。ただし、単語が存在するかどうかを確認しようとすると(このデータベースで実行したい唯一のこと)、何も出力されません。

SELECT * FROM words WHERE word="stuff";

何も返しません。

データベースは単一のテーブルであり、列は「words」のみで、すべての単語が行として含まれています。どんな助けでも大歓迎です、ありがとう。

4

2 に答える 2

1

データベースで単語を使用していることを確認するには、次のようにテーブルを調べます

select * from words limit 10

家の
もの
の木
...

次に、表示された単語の1つを選択します

select * from words where word = 'stuff'

編集:@MichaelEakinsに従ってwhere句を修正

Edit2 : 残念ながら、この場合、一重引用符と二重引用符の間に違いはありません。SQL Fiddleを参照してください

于 2012-11-28T12:37:49.400 に答える
0

何が間違っているのかがわかったので、自分の質問に答えます。テーブルにデータを入力するために、words.txt というファイル (改行で区切られたすべての単語) を解析して sqlite に変換する Python プログラムを作成しました。私の問題は、クエリが次のようになったことです。

INSERT INTO WORDS VALUES('englishWord\n')

そして、それはデータベースを台無しにしました。@ScoPi の LIKE を使用したヒントのおかげで、改行文字が迷子になっていることがわかりました。

于 2012-11-30T14:41:03.540 に答える