SQL(structured query language)
常用关键字
select, insert, update, delete, from, create, where, desc, order, by, group, table, alter, view, index等等
语句类型
数据定义语句(DDL: Data Definition Language)
create, drop
数据操作语句(DML: Data Manipulation Language)
insert, update, delete
数据查询语句(DQL: Data Query Language)
select, where, order by, group by, having
字段类型
integer: 整型值
real: 浮点型
text: 文本字符串
blob: 二进制数据(比如文件)
* 实际上SQLite是无类型的,就算声明为integer类型,还是能存储字符串文本(主键除外)
创表
create table 表名 [字段名1 字段类型1, 字段名2 字段类型2];
create table if not exists 表名 [字段名1 字段类型1, 字段名2 字段类型2];
例: create table t_student (id integer, name text, age integer, score real);
删表
drop table 表名;
drop table if exists 表名;
插入数据
insert into 表名(字段1, 字段2,...) values (字段1值, 字段2值, ...)
例: insert into t_student (name, age) values ('lili', 10)
*** 数据库中的字符串内容更应该用单引号括住
删除数据
delete from 表名
条件语句
起别名
计算记录的数量
select count(*) from t_student where age<25;
排序
limit
简单约束
建表时可以给特定的字段设置一些约束条件,常见的约束有
not null: 规定字段的值不能为null
unique: 规定给字段的值必须唯一
default:指定字段的默认值
(建议:尽量给字段设定严格的约束,以保证数据的规范性)
主键约束
主键的设计原则
主键应当是对用户没有意义的
永远也不要更新主键
主键不应包含动态变化的数据
主键应当由计算机自动生成
主键的声明
外键约束
利用外键约束可以建立表与表之间的联系
外键的一般情况是:一张表的某个字段,引用着另一张表的主键字段
表连接查询
SELECT * FROM t_food WHERE food_type_id = (SELECT id FROM t_food_type WHERE name = '粤菜');