Ios 这是Sqlite3语句吗?
说到sqlite,我是个傻瓜,不知道该怎么做 我想要一个包含一行的数据库,每个行包含一个单词。当用户键入一个单词时,我将通过检查它是否在数据库中来验证它 我想,我不知道如何创建的东西是索引吗?我如何插入它?如何编写查询以利用索引 我也有两列在那里,“id和word”。有身份证好吗?还是只会占用空间 到目前为止,我得到的是: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
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 )