iOS-SQLite数据库基本语句
2016-03-04 14:32
441 查看
总结了些移动端SQList数据库的一些语句,倒着总结的,请从文章最后面往上看吧
以下 t_person 为表
Navicat 数据库工具
主键约束 (约束都是在创建表的时候添加)
有的时候,name可能一样,age可能一样,为了数据库的每条记录都唯一,就用到主键
PRIMARY KEY关键字(会自增长),且主键只能有一个(复合主键除外)
写PRIMARY KEY的时候,相当于隐藏写了一个UNIQUE(唯一)和NOT NULL(不为空NULL)
执行下面代码两遍,成功插入2条数据,id第1条数据为1,第2条为2
约束 (约束都是在创建表的时候添加)
NOT NULL关键字,不能为空
创建表的时候,不允许name为空NULL,以后插入数据的时候name为必填
上面创建表时候,插入数据的时候,如果name不写,就是为空NULL,数据库就会报错
UNIQUE关键字,唯一
创建表的时候,name不能重复(唯一)且不能为空( NULL),age不能为空(NULL)
DEFAULT关键字,默认添加
即使你插入的时候,不写身高,数据库会默认添加身高为1.0
以上关键字可以一起使用
name不能为空(NULL),且不能重复(唯一)
LIMIT关键字 分页取数据
跳过前面的2条数据,开始取,取出2条数据(或者理解为,从第2条开始取,不包含第2条,取出2条数据)
取出最前面3条数据
先按照age的大小,升序排序,然后跳过前面的5条数据,开始取,取出3条数据
或者,比如每页5条数据,下面这行就是取出第二页的前3条数据
排序
根据age大小,降序排序
根据age大小,升序排序
根据age小大,降序排序,如果age一样,再按照height小大,升序排序
查询数量,查询age>20的数据有多少条
查询时,起个别名
给某个字段或者表起别名,方便查看
查询语句
模糊查询
删除表中的某些数据,height>90
删除表中名字叫小黑的数据
删除时满足以下其中一个条件
删除时同时满足以下两个条件
更新或修改,WHERE为条件 name=小黑
插入语句
也可以不插入某个字段,这里是height没有插入,数据库中就是NULL
删除表
新建表
SQList数据库是可以无类型的
以下 t_person 为表
Navicat 数据库工具
主键约束 (约束都是在创建表的时候添加)
有的时候,name可能一样,age可能一样,为了数据库的每条记录都唯一,就用到主键
PRIMARY KEY关键字(会自增长),且主键只能有一个(复合主键除外)
写PRIMARY KEY的时候,相当于隐藏写了一个UNIQUE(唯一)和NOT NULL(不为空NULL)
CREATE TABLE IF NOT EXISTS t_student (id integer PRIMARY KEY, name text, age integer);
执行下面代码两遍,成功插入2条数据,id第1条数据为1,第2条为2
INSERT INTO t_student (name, age) VALUES ('张三三',20);
约束 (约束都是在创建表的时候添加)
NOT NULL关键字,不能为空
创建表的时候,不允许name为空NULL,以后插入数据的时候name为必填
CREATE TABLE if NOT EXISTS t_person (name text NOT NULL, age integer);
上面创建表时候,插入数据的时候,如果name不写,就是为空NULL,数据库就会报错
INSERT INTO t_person (age) VALUES (28);
UNIQUE关键字,唯一
创建表的时候,name不能重复(唯一)且不能为空( NULL),age不能为空(NULL)
CREATE TABLE if NOT EXISTS t_person (name text NOT NULL UNIQUE, age integer NOT NULL);
DEFAULT关键字,默认添加
即使你插入的时候,不写身高,数据库会默认添加身高为1.0
CREATE TABLE if NOT EXISTS t_person (name text NOT NULL UNIQUE, age integer NOT NULL, height real DEFAULT 1.0);
以上关键字可以一起使用
name不能为空(NULL),且不能重复(唯一)
CREATE TABLE if NOT EXISTS t_person (name text NOT NULL UNIQUE, age integer);
LIMIT关键字 分页取数据
第一页:LIMIT 0,5; (每页5条数据) 第二页:LIMIT 5,5; 第三页:LIMIT 10,5; 第n页 LIMIT 5*(n-1),5;
跳过前面的2条数据,开始取,取出2条数据(或者理解为,从第2条开始取,不包含第2条,取出2条数据)
SELECT * FROM t_person LIMIT 2,2;
取出最前面3条数据
SELECT * FROM t_person LIMIT 3;等价于下面这行
SELECT * FROM t_person LIMIT 0,3;
先按照age的大小,升序排序,然后跳过前面的5条数据,开始取,取出3条数据
SELECT * FROM t_person ORDER BY age ASC LIMIT 5,3;
或者,比如每页5条数据,下面这行就是取出第二页的前3条数据
SELECT * FROM t_person LIMIT 5,3;
排序
根据age大小,降序排序
SELECT * FROM t_person ORDER BY age DESC;降序(大到小)
根据age大小,升序排序
SELECT * FROM t_person ORDER BY age ASC;升序(小到大)
根据age小大,降序排序,如果age一样,再按照height小大,升序排序
SELECT * FROM t_person ORDER BY age DESC, height ASC;
查询数量,查询age>20的数据有多少条
SELECT count(*) FROM t_person WHERE age > 20; SELECT count(name) FROM t_person WHERE age > 20;
查询时,起个别名
SELECT count(*) 剩余数量 FROM t_person WHERE age > 20;
给某个字段或者表起别名,方便查看
SELECT name 名字, height 身高 FROM t_person WHERE age > 20;
查询语句
SELECT * FROM t_person WHERE age > 20; SELECT name FROM t_person WHERE age > 20;
模糊查询
SELECT * FROM t_person WHERE name LIKE '%虾%'; %表示模糊查询,这样写表示字符串中有'虾'字的都查询出来,或者'虾%',表示查询'虾'字开头的数据 如果在oc语言中,%表示特殊符号,写两个%%表一个%,'%%虾%%'
删除表中的某些数据,height>90
DELETE FROM t_person WHERE height > 90;
删除表中名字叫小黑的数据
DELETE FROM t_person WHERE name = '小黑';
删除时满足以下其中一个条件
DELETE FROM t_person WHERE name > 22 OR height < 1.5;
删除时同时满足以下两个条件
DELETE FROM t_person WHERE name > 22 AND height < 1.5;
更新或修改,WHERE为条件 name=小黑
UPDATE t_person SET height = 1.91 WHERE name = '小黑';
插入语句
INSERT INTO t_person (name, age, height) VALUES ('小黄', 20, 1.75);
也可以不插入某个字段,这里是height没有插入,数据库中就是NULL
INSERT INTO t_person (name, age) VALUES ('小黑', 28);
删除表
DROP TABLE IF EXISTS t_person;
新建表
CREATE TABLE IF NOT EXISTS t_person (name text, age integer, height real);
SQList数据库是可以无类型的
CREATE TABLE IF NOT EXISTS t_person (name, age, height);
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 数据库链接字符串查询网站
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- DB2实例管理
- DB2实例管理
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- SQLite教程(十一):临时文件