数据库一般分为 关系型和对象型,关系型是主流,对象型数据库是直接把对象存入数据库。
常用关系型数据库:
PC:Oracle MySQL SQL Server DB2
嵌入式/移动端:SQLite
本文主要介绍SQLite的基本情况与SQL基本语句。
1.SQLite实际无类型,但是表层划分数据为以下类型。
integer整形
real浮点型
text文本
blob二进制数据
有类型只是为了规范和易读,没有实质用途。
2.SQL语言是一种对关系型数据库中的数据进行定义和操作的语言。
常见操作为增删改查(CRUD,create,read,update、delete),SQL不区分大小写。
注意数据库中的字符串用单引号,语句规范为关键字大写。
3.数据库语句分类
数据定义语句(DDL:Data Definition Language),包括create和drop等操作,分别用于创建和删除表。
数据操作语句(DML:Data Manipulation Language),包括insert、update、delete等操作。
数据查询语句(DQL:Data Query Language),包括select等操作。
4.常用语句
创建表格:
CREATE TABLE IF NOT EXISTS 表名 (字段1,类型,字段2,类型,…);删除表格:
DROP TABLE IF EXISTS 表名;
条件语句:
WHERE 字段(=,!=,>,<,is,is not,)值;
条件语句的并列:条件1 AND/OR 条件2;
排序条件:
ORDER BY 字段 ASC/DESC;
增删改查:
INSERT INTO 表名 (字段1,字段2,...) VALUES (值1,值2,…);
UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 条件;
DELETE FROM 表名 条件;
通配符:*
别名AS:字段名 AS 别名,别名支持中文。
计算记录条数: count函数,接收的参数为字段,一般放*即可
例如 SELECT count(*) FROM 表名。
注意这样写只会计算一次记录条数,不会因为字段多而重复执行。
分页查询
limit可以精确控制查询结果的数量。
SELECT 字段 FROM 表名 LIMIT x,y; /*表示跳过前面的x条数据,取y条数据。*/
常用来进行分页查询,例如每页5条
(0,5) (5,5) (10,5)这样处理,注意数字的连贯性,不用跳1。
第N页:(5*(N-1),5)。
省略的写法:limit y,表示x=0
约束
①创建表时指定某个字段非空NOT NULL,唯一UNIQUE,多个条件直接并列不必任何修饰符。
CREATE TABLE 表名 (字段名 字段类型 NOT NULL UNIQUE);
②指定默认值DEFAULT 默认值,也是和上面可以并列写。
③PRIMARY KEY代表主键,默认是integer,一般要有一个主键作为id来作为数据的唯一标志,为了让id自增长,在后面加上AUTOINCREMENT。
④复合主键,多个字段都指定了PRIMARY KEY,用于多个字段同时决定数据唯一性时。