https://www.sqlite.org/index.html 官网
http://tutlane.com/tutorial/sqlite/sqlite-case-statement
http://www.runoob.com/sqlite/sqlite-data-types.html
http://www.w3school.com.cn/sql/sql_where.asp
以下语法基于FMDB框架
表名不能以数字开头
CREATE TABLE IF NOT EXISTS %@ (ID INTEGER PRIMARY KEY AUTOINCREMENT , Name TEXT NOT NULL, Voice TEXT NOT NULL, CreatedTime TEXT NOT NULL, Type TEXT NOT NULL)
主键自增 :PRIMARY KEY AUTOINCREMENT
判断表是否存在: IF NOT EXISTS
不允许为空
REPLACE INTO %@ (ID, Name, Voice, CreatedTime, Type) VALUES (NULL, ?, ?, ?, ?)
有则更新,无则添加 REPLACE INTO
int 或其他数据类型要使用@(1)NSNumber对象
SELECT * FROM %@ WHERE Type='%@' ORDER BY ID DESC LIMIT %d ,%d
字符判断字符要加单引号 Type='%@'
倒叙 DESC
分页LIMIT
多语句嵌套查询
CREATE TABLE IF NOT EXISTS MSCOUNT (\
USERID TEXT NOT NULL,\
NAME TEXT NOT NULL,\
MSID TEXT PRIMARY KEY NOT NULL,\
ITEM INTEGER DEFAULT 1 NOT NULL)
REPLACE INTO MSCOUNT VALUES ('%@','%@','%@',(SELECT ITEM FROM MSCOUNT WHERE MSID='%@' AND USERID='%@')+1);
最好使用nsstring拼接好再执行,
查询语句如果没有查询到就会返回默认值;