Database 填充表中的SQLite查询未返回任何内容?

Database 填充表中的SQLite查询未返回任何内容?,database,sqlite,Database,Sqlite,我在sqlite中创建了一个名为AllWords.db的数据库,其中包含所有英语单词的列表(计数:172820)。当我发出一个全选查询时,它返回一个包含所有172820个单词的列表。另外,当我打印表格单词的计数时,如下所示: SELECT COUNT(*) FROM words; 输出为172820,因此数据库中显然包含了所有单词。但是,当我尝试检查某个单词是否存在时(这是我对该数据库唯一要做的事情),它不会打印任何内容: SELECT * FROM words WHERE word="stu

我在sqlite中创建了一个名为AllWords.db的数据库,其中包含所有英语单词的列表(计数:172820)。当我发出一个全选查询时,它返回一个包含所有172820个单词的列表。另外,当我打印表格单词的计数时,如下所示:

SELECT COUNT(*) FROM words;
输出为172820,因此数据库中显然包含了所有单词。但是,当我尝试检查某个单词是否存在时(这是我对该数据库唯一要做的事情),它不会打印任何内容:

SELECT * FROM words WHERE word="stuff";
不返回任何内容


数据库是一个单表,其中唯一的列是“words”,它将所有单词都作为行。非常感谢您的帮助。

为了确保您在数据库中使用了一个单词,请使用

select * from words limit 10
豪斯
东西

然后选择您看到的其中一个单词

select * from words where word = 'stuff'
编辑:根据@MichaelEakins修复where子句


Edit2:不幸的是,在这种情况下,单引号和双引号没有区别,请参见

为了确保您在数据库中使用单词,请使用

select * from words limit 10
豪斯
东西

然后选择您看到的其中一个单词

select * from words where word = 'stuff'
编辑:根据@MichaelEakins修复where子句


Edit2:不幸的是,在这种情况下单引号和双引号没有区别,请参见回答我自己的问题,因为我发现了问题所在。为了填充该表,我编写了一个python程序,将一个名为words.txt(所有单词,用换行符分隔)的文件解析为sqlite。我的问题是查询变成了:

INSERT INTO WORDS VALUES('englishWord\n')

这把数据库搞砸了。我解决了这个问题,它开始工作,多亏@ScoPi提供了使用LIKE的提示,它帮助我发现了一个离群的换行符。

回答了我自己的问题,因为我发现了问题所在。为了填充该表,我编写了一个python程序,将一个名为words.txt(所有单词,用换行符分隔)的文件解析为sqlite。我的问题是查询变成了:

INSERT INTO WORDS VALUES('englishWord\n')

这把数据库搞砸了。我解决了这个问题,它开始工作了,多亏@ScoPi提供了使用LIKE的提示,它帮助我找出了一个错误的换行符。

我想你确定“stuff”是数据库中的一个单词吗?列名为
word
还是
words
?如果我的问题的答案是肯定的,那么看看[SELECT*FROM words,其中像“%stuff%”这样的词会返回任何内容。我确信“stuff”在其中,就像我从words中选择all时在输出中一样。当我尝试LIKE运算符时,它会返回一组包含“stuff”的词,包括“stuff”本身。尾随空格或前导空格会影响它吗?我认为你确定吗“stuff”是数据库中的一个单词?是名为
word
word
的列吗?如果我的问题的答案是肯定的,请查看[SELECT*FROM words WHERE words LIKE“%stuff%”返回任何内容。我确信“stuff”在其中,就像我从单词中选择all时在输出中一样。当我尝试like运算符时,它返回一组包含“stuff”的单词,包括“stuff”本身。尾随或前导空格会影响它吗?