iOS数据库操作中的常见SQL语句

/ 0评 / 0

我们在iOS应用程序中无法使用图形化界面操作数据库,在程序运行过程中操作数据库中的数据需要通过SQL语句。

什么是SQL

SQL(structured query language):结构化查询语言。

SQL是对数据库中的数据进行定义和操作的语言。

SQL语言简洁,语法简单,好学好用。

什么是SQL语句

使用SQL语言编写出来的句子\代码,就是SQL语句。

在程序运行过程中,要想操作(增删改查)数据库中的数据,必须使用SQL语句。

一、创建表

/*
	CREATE TABLE	-- 创建表
	JF_Person	-- 表的名称
	(		-- 里面是表的字段
	id		-- 字段
    INTEGER		-- 类型
    NOT NULL		-- 不能为空
    PRIMARY KEY	-- 主键
    AUTOINCREMENT	-- 字段
	name		-- 字段
	...
	)
	;		-- sql语句结束
注意:
 1.表名称和字段可以加""
 2.如果表已经存在,会创建失败
 */

CREATE TABLE IF NOT EXISTS JF_Person (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER,
height REAL
);

二、删除表

/*
	DDL 删除表
	DROP TABLE 	-- 删除表
	JF_Person	-- 要删除的表名
 */

DROP TABLE JF_Person;

三、增

/*
	DML添加数据
	INSERT INTO		-- 添加数据
	JF_Person 		-- 要添加数据的表
	(name, age, height)	-- 添加哪些字段
	VALUES			-- 固定写法
	('zhangsan', 20, 1.78)	-- 对应的值
注意:
 1.字段和值一定要对应,否则也会添加错误的数据进表里
 2.TEXT类型需要添加''
 */

INSERT INTO JF_Person (name, age, height) VALUES ('zhangsan', 20, 1.78);

四、删

/*
	DML删除数据
	DELETE		-- 删除数据
	FROM		-- 从哪张表中删除数据
	WHERE		-- 条件
 */

DELETE FROM JF_Person WHERE id = 1;

五、改

/*
	DML更新数据
	UPDATE			-- 更新数据
	JF_Person		-- 需要更新数据的表
	SET			-- 更新哪个字段
	name = 'liudehua'	-- 更新字段的值
	WHERE			-- 条件
 
注意:
 1.如果不指定条件会更新所有数据
 */

UPDATE JF_Person SET name = 'liudehua', age = 30, height = 1.70 WHERE id = 3;

六、查

/*
	DQL查询数据
	SELECT		-- 查询
	name, age	-- 查询的字段
	FROM		-- 从哪张表中查询
        JF_Person       -- 查询的表名
 */

-- 查询指定字段
SELECT name, age FROM JF_Person;

-- 查询所有字段
SELECT * FROM JF_Person;

-- 查询 age < 22 的记录的name, age字段
SELECT name, age FROM JF_Person WHERE age < 22;

-- 查询 age < 22 的所有字段
SELECT * FROM JF_Person WHERE age < 22;

-- 查询记录总数
SELECT COUNT(*) FROM JF_Person;

-- 查询 age < 22 的记录总数
SELECT COUNT(*) FROM JF_Person WHERE age < 22;

-- 查询最大的 age
SELECT MAX(age) FROM JF_Person;

-- 查询最小的 age
SELECT MIN(age) FROM JF_Person;

-- 查询所有记录的所有字段,根据 age 升序排序
SELECT * FROM JF_Person ORDER BY age;

-- 查询所有记录的所有字段, 根据 age 降序排序
SELECT * FROM JF_Person ORDER BY age DESC;

-- 使用多个字段排序,先按age降序排序,当age相同再根据height降序排序
SELECT * FROM JF_Person ORDER BY age DESC,height DESC;

-- 返回指定的记录
-- LIMIT常用于分页
-- 0 表示跳过的3条
-- 2 表示获取2条
SELECT * FROM JF_Person LIMIT 3, 2;

-- 取出年龄最大的3条记录
SELECT * FROM JF_Person ORDER BY age DESC LIMIT 3;

-- 查询是给字段取别名
SELECT name AS JP_name, age AS JF_age, height AS JF_height FROM JF_Person;

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注