Ios 这是Sqlite3语句吗?

Ios 这是Sqlite3语句吗?,ios,objective-c,sql,sqlite,Ios,Objective C,Sql,Sqlite,说到sqlite,我是个傻瓜,不知道该怎么做 我想要一个包含一行的数据库,每个行包含一个单词。当用户键入一个单词时,我将通过检查它是否在数据库中来验证它 我想,我不知道如何创建的东西是索引吗?我如何插入它?如何编写查询以利用索引 我也有两列在那里,“id和word”。有身份证好吗?还是只会占用空间 到目前为止,我得到的是: CREATE TABLE words (id INTEGER PRIMARY KEY, word VARCHAR(15)); 我不希望单词超过15个字符,所以我设置了VAR

说到sqlite,我是个傻瓜,不知道该怎么做

我想要一个包含一行的数据库,每个行包含一个单词。当用户键入一个单词时,我将通过检查它是否在数据库中来验证它

我想,我不知道如何创建的东西是索引吗?我如何插入它?如何编写查询以利用索引

我也有两列在那里,“id和word”。有身份证好吗?还是只会占用空间

到目前为止,我得到的是:

CREATE TABLE words (id INTEGER PRIMARY KEY, word VARCHAR(15));
我不希望单词超过15个字符,所以我设置了VARCHAR(15)

检查一个单词:

NSString *sql = [NSString stringWithFormat:@"SELECT EXISTS(SELECT 1 FROM words WHERE word=\"%@\" LIMIT 1)", word];
const char *sqlStatement = [sql UTF8String];

if (sqlite3_prepare_v2(db, sqlStatement, -1, &selectStmt, NULL) == SQLITE_OK)
{
    int count = 0; 
    while(sqlite3_step(selectStmt) == SQLITE_ROW)
    {
        count = sqlite3_column_int(selectStmt, 0);
    }

    NSLog(@"COUNT: %i",count);

    //If count is 1, we have a match.  
}

对。你的陈述没问题

您也可以使用
的intead of


有身份证好吗?还是只会占用空间

这取决于您的需要,我建议您保留一个
Id
字段作为主键


要创建索引,您可以使用:

CREATE INDEX yourIndexName ON yourTableName ( yourColumnName )

有关索引的更多信息,请检查“是”。您的声明没有问题

您也可以使用
的intead of


有身份证好吗?还是只会占用空间

这取决于您的需要,我建议您保留一个
Id
字段作为主键


要创建索引,您可以使用:

CREATE INDEX yourIndexName ON yourTableName ( yourColumnName )

有关索引检查的详细信息,请参见:
NSLog(@“计数:%d”,计数)
使用
%d
而不是
%i
%d
表示一个整数值。添加了关于如何在表上添加索引的说明,请检查我的答案。此处:
NSLog(@“计数:%d”,计数)
使用
%d
而不是
%i
%d
代表一个整数值。添加了关于如何在表上添加索引的说明,请检查我的答案。@user1251004:乐意:)谢谢您的评论:)@user1251004:乐意:)谢谢您的评论:)
CREATE INDEX yourIndexName ON yourTableName ( yourColumnName )