sqlite3 语法
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拼接好再执行,
查询语句如果没有查询到就会返回默认值;
最新文章
- iOS10 推送必看(基础篇)
- Awesome
- 【待整理】Linux故障排查
- Shell--用户配置
- 程序员遇到BUG的解释
- ruby注意点
- [转]Golang Gob编码
- Oracle VM Virtual 下CentOS不能自动获取IP地址
- CodeForces 343D 线段树维护dfs序
- 段落p元素内的响应式文本布局就靠rem单位实现
- 初探Javascript之DOM
- Android TagFlowLayout完全解析 一款针对Tag的布局
- EFCore Owned Entity Types,彩蛋乎?鸡肋乎?之鸡肋篇
- Web前端-Vue.js必备框架(一)
- 写了个限制文本框输入最大长度的jquery插件 - jquery.restrictFieldLength.js
- 浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID
- lambda表达式,变量作用域
- s5-12 RIP
- 【转】Android7.0适配心得
- Ubuntu下实现软路由(转)