DDL语句:
1.删除表
DROP TABLE t_student;
DROP TABLE IF EXISTS t_student;(较严禁)
2.创建表
CREATE TABLE IF NOT EXISTS t_dog (naem text,age integer); 或者
CREATE TABLE IF NOT EXISTS 't_student' (
'id' integer NOT NULL PRIMARY KEY AUTOINCREMENT,/*主键 自动增长 */
'name' text UNIQUE,
'age' integer );
CREATE TABLE IF NOT EXISTS t_dog (naem text ,age integer DEFAULT 1);
// NOT NULL 约束的字段不能为空
// PRIMARY KEY 约束的字段是主键
//AUTOINCREMENT 主键自增长
//UNIQUE 约束的字段 是唯一的,即在数据库中不能重复
//DEFAULT 即默认值 为 1
//标的关联(联合主键)
CREATE TABLE IF NOT EXISTS 't_student' (
'id' integer NOT NULL PRIMARY KEY AUTOINCREMENT,/*主键 自动增长 */
'name' text UNIQUE,
'age' integer,
'class' integer,CONSTRAINT "f_student_rel_class" FOREIGN KEY ("class") REFERENCES "t_class" ("id"));
// 用约束 f_student_rel_class 的 class外键 引用 t_class表的 主键 id字段
//class 班级表 学生是属于哪个班级,所以学生表(t_student)中维护了一个字段 class 来引用班级表(t_class)的主键id
DML语句:
1.插入数据
INSERT INTO t_student (name,age) VALUES ('张飞',11);
2.更新数据
UPDATE t_student SET age = 45 WHERE name = '林冲';//将名字是林冲的用户年龄更新为45
UPDATE t_student SET name = '西门庆' WHERE age > 80;//将大于80岁的用户名字更新为西门庆
3.删除数据
DELETE FROM t_student WHERE name = '西门庆';//根据用户名删除数据
DELETE FROM t_student; //删除表中所有值
DELETE FROM t_student WHERE age = 20;//条件删除 等于20岁的删除
DELETE FROM t_student WHERE age < 20 AND heigt < 150;//删除年龄小于20 并且 身高小于1.5米的
DELETE FROM t_student WHERE age < 20 OR height < 150;//删除年龄小于20 或者 身高小于1.5米的
DQL语句:
查询语句
//查询所有数据
SELECT * FROM t_student;
//查询特殊字段
SELECT name,age FROM t_student;
//通过条件查询语句
SELECT name,age FROM t_student WHERE age <= 30;
//通过条件(模糊)查询
SELECT name,age FROM t_student WHERE name LIKE '张%';//根据名字 首字是张的条件查询 % 代表后面剩余的是任意字符
//多个条件查询
SELECT name,age FROM t_student WHERE name LIKE '%张%' AND age > 20;
SELECT name,age FROM t_student WHERE name LIKE '%张%' OR age >= 20;
//查询联合主键的数据
SELECT * FROM t_student WHERE class = (SELECT id FROM t_class WHERE name = 'ios');
//查出全校 ios的学生
SELECT s.name sname,c.name cname FROM t_student s,t_class c WHERE s.class = c.id AND c.name = 'ios';
计算个数:
SELECT COUNT(*) FROM t_student; //数据总条数
SELECT COUNT(age) FROM t_student; //age不为空的个数
数据的排序:
SELECT * FROM t_student ORDER BY age; //通过年龄排序 默认升序
SELECT * FROM t_student ORDER BY age DESC; //降序
SELECT * FROM t_student ORDER BY age ASC; //升序
SELECT * FROM t_student ORDER BY age,name DESC;//先以年龄的升序排序,如果年龄相同,以名字的降序排序
起别名:
SELECT s.name,s.age FROM t_student AS s;//给表起别名
SELECT name AS myName,age AS myAge FROM t_student;//给字段起别名
分页查询:
SELECT name,age FROM t_student LIMIT 1,2;// 1表示跳过的数据个数,2表示查询多少条
SELECT name,age FROM t_student LIMIT 5;//跳过0条数据,每次查询5条数据
第N页数据 : limit n*(n-1),5 //每页 5条数据
Demo地址 oc版本
Demo地址 swift版本
使用可以看这里