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拼接好再执行,

查询语句如果没有查询到就会返回默认值;

最新文章

  1. iOS10 推送必看(基础篇)
  2. Awesome
  3. 【待整理】Linux故障排查
  4. Shell--用户配置
  5. 程序员遇到BUG的解释
  6. ruby注意点
  7. [转]Golang Gob编码
  8. Oracle VM Virtual 下CentOS不能自动获取IP地址
  9. CodeForces 343D 线段树维护dfs序
  10. 段落p元素内的响应式文本布局就靠rem单位实现
  11. 初探Javascript之DOM
  12. Android TagFlowLayout完全解析 一款针对Tag的布局
  13. EFCore Owned Entity Types,彩蛋乎?鸡肋乎?之鸡肋篇
  14. Web前端-Vue.js必备框架(一)
  15. 写了个限制文本框输入最大长度的jquery插件 - jquery.restrictFieldLength.js
  16. 浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID
  17. lambda表达式,变量作用域
  18. s5-12 RIP
  19. 【转】Android7.0适配心得
  20. Ubuntu下实现软路由(转)

热门文章

  1. vue.js中的computed和watch的区别
  2. UUID简介
  3. Android组件系列----Intent详解
  4. 批量操作RunTime之获取的Dic换成Model
  5. Mac cnpm安装失败及解决方案
  6. OC的反射机制
  7. 函数式语言简介(functional language)
  8. js中Undefined 和 Null的区别
  9. @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
  10. c++中的c_str()用法