iOS中的sql语句写法

来源:互联网 发布:美化个人自动发卡源码 编辑:程序博客网 时间:2024/05/29 16:21
  • SQL语法
  • 1.注释
    /注释多行/
  • 注释单行
  • 2.不区分大小写
  • 3.每条语句后必须加分号
  • 4.字符串使用单引号括起来
  • 5.字段类型:text->字符串类型 integer->整型 real->浮点型

/DDL语句/

1.创建表

-- 格式1: CREATE TABLE 表名(字段名1 字段1类型, 字段名2 字段2类型,...);-- CREATE TABLE t_Student('name' text, 'age' integer,'score' real);
-- 格式2: CREATE TABLE IF NOT EXISTS 表名(字段名1 字段1类型,字段名1 字段2类型,...);-- CREATE TABLE IF NOT EXISTS t_Student('name' text, 'age' integer,'score' real);
  • 完整的创建表的示例:
  • a.创建表的时候必须设置主键
CREATE TABLE IF NOT EXISTS t_Student(id integer PRIMARY KEY AUTOINCREMENT,name text NOT NULL,age integer DEFAULT 18,studyId integer UNIQUE);

2.删除表

-- 格式1: DROP TABLE 表名;-- DROP TABLE t_Student;
-- 格式2: DROP TABLE IF EXISTS 表名;   ->当表存在的时候删除表-- DROP TABLE IF EXISTS t_Student;

/DML语句/

– 1.插入数据

- 格式: INSERT INTO 表名(字段名1,字段名2,...) VALUES(字段1的值,字段2的值,...);INSERT INTO t_Student(name,studyId) VALUES('小明3',109);-- INSERT INTO t_Student('name','age','score') VALUES('小明7',22,23);-- INSERT INTO t_Student('name','age','score') VALUES('小明8',30,89);-- INSERT INTO t_Student('name','age','score') VALUES('小明9',21,34);-- INSERT INTO t_Student('name','age','score') VALUES('小明10',12,23);

- 2.修改数据

- 格式: UPDATE 表名 SET 字段名1=字段1的新值,字段名2=字段2的新值,...;-- UPDATE t_Student SET 'age'=18;   --注意:这样写,所有的学生的年龄都会变成18-- 将表中'小明1'的年龄变成18-- UPDATE t_Student SET age=18 WHERE name='小明1';

- 3.删除数据

- 格式: DELETE FROM 表名;-- DELETE FROM t_Student;   --注意:删除表中的所有的数据-- 将表中成绩小于60的学生信息删除-- DELETE FROM t_Student WHERE score<60;

/DQL语句/

- 1.查询数据

- 格式1: SELECT 字段名1,字段名,... FROM 表名;   ->查询指定的字段-- SELECT name,score FROM t_Student;
-- 格式2: SELECT * FROM 表名;  ->查询表中所有的字段-- SELECT * FROM t_Student;-- 获取表中年龄大于20,分数小于60的学生的所有信息-- SELECT * FROM t_Student WHERE age>20 AND score<60;
-- 2.获取表中的数据的个数-- 格式1:SELECT count(*) FROM 表名;-- SELECT count(*) FROM t_Student;-- 计算表中不及格的学生的数量-- SELECT count(*) FROM t_Student WHERE score<60;
-- 3.对查询结果进行排序-- 格式:SELECT * FROM 表名 ORDER BY 字段名-- SELECT * FROM t_Student ORDER BY score;  -- 将查询结果按照分数从小到大排序-- SELECT * FROM t_Student ORDER BY score desc; -- 将查询结果按照分数从大到小排序
-- 4.限制查询的结果的数量-- 格式: SELECT * FROM 表名 LIMIT 数值1,数值2;   -- 数值1->从0开始数第几条数据开始获取;数值2->一次获取数据的数量-- SELECT * FROM t_Student LIMIT 1,5;

参考自简书作者:写啥呢

拓展:模糊查询

//注意%为转义字符  NSString *sql = [NSString stringWithFormat:@"SELECT * FROM BookDBModel WHERE BookName LIKE '%%%@%%'",@""];