SQLite语句
2016-06-13 19:41
211 查看
SQL的使用
1. DDL数据定义语言 2. DML数据操作语言 3. DQL数据查询语言 注意: 1. SQL语句在执行时不区分大小写,为了书写规范一律大写 2. 表格名,字段名不能和关键词同名 3. 每一个SQL语句都以;结尾
DDL语句
创建表格 CREATE TABLE
CREATE TABLE 表格名 (字段1 字段1的类型, 字段2 字段2的类型, 字段3 字段3的类型, ...);
CREATE TABLE student (name text, age integer, height float);
删除表格 DROP TABLE
DROP TABLE 表格名
DROP TABLE student
DML语句
插入 INSERT INTO
INSERT INTO 表格名(字段1, 字段2, 字段3, ...) VALUES(数值1, 数值2, 数值3, ...);
INSERT INTO Student(name, age, height) VALUES('ljp', 25, 167);
删除 DELETE
DELETE FROM 表格名
DELETE FROM STUDENT
带筛选条件的删除用where, and或者or连接多个筛选条件
DELETE FROM 表格名 WHERE 筛选条件 AND 筛选条件;
DELETE FROM Student age>=20 AND height<160;
修改 UPDATE SET
不加筛选条件的修改默认修改所有数据的值UPDATE 表格名 SET 字段名=修改后的值;
修改多个字段,用逗号隔开
UPDATE 表格名 SET 字段名=值,字段名=值;
带筛选条件,只筛选符合条件的数据的值
UPDATE 表格名 SET 字段名=修改后的值 WHERE 筛选条件;
DQL语句
查询 SELECT
查询某个表格中的数据,可用筛选条件,若要查询所有字段,可以用通配符*代替SELECT 字段1,字段2,字段3 FROM 表格名 WHERE 查询条件;
排序查询结果,关键字ORDER BY,ASC升序 DESC降序
SELECT * FROM 表格名 ORDER BY DESC;
模糊查询关键词LIKE,用于text类型的数据
SELECT * FROM 表格名 WHERE 字段 LIKE '模糊查询条件,%代表任意字符'
设置查询显示的数量
从第x条数据开始显示y条数据
SELECT * FROM 表格名 LIMIT x,y;
约束
在创建表格设定字段时给字段添加的约束条件
简单约束
不为空 NOT NULL
该字段对应的值不能为空CREATE TALALE 表格名 (字段1 字段类型 NOT NULL,...);
唯一性 UNIQUE
该字段对应的值不能重复,具有唯一性CREATE TALALE 表格名 (字段1 字段类型 UNIQUE,...);
默认值
在字段没有设置值的时候自动生成的值CREATE TALALE 表格名 (age integer DEFAULT 18, name text DEFAULT '小明'...);
主键约束 PRIMARY KEY
主键约束用于区分表中不同数据的一个编码,具有唯一性,遵循以下设计原则: 1. 主键应对用户无意义 2. 主键的值一旦设定无法更改 3. 主键的值应由系统自动生成 4. 一个数据表中最多只能有一个主键
eg:
CREATE TALALE 表格名 (字段1 字段类型 PRIMARY KEY,...);
自动增长 AUTOINCREMENT
CREATE TALALE 表格名 (字段1 字段类型 PRIMARY KEY AUTOINCREMENT,...);
外键约束 REFERENCES
使用REFERENCE能够绑定外键关联,一般绑定另一个表格中的主键.并且插入外键约束的值时必须再关联表格中存在唯一的对应值CREATE TALALE director (id integer PRIMARY KEY,...);
CREATE TALALE movie (id integer PRIMARY KEY,direcor_id integer REFERENCES director(id));
多表联查 JOIN
在有外键关联的情况下需要同时获取两个表格中的数据,使用多表联查SELECT * FROM 表格1 JOIN 表格2 ON 表格1中的字段=相对应的表格2中的字段
eg:
SELECT * FROM movie JOIN director ON movie.director_id=director.id;
可以再表格名后边用简化名对表格名进行替代 movie M
SELECT * FROM movie M JOIN director D ON M.director_id=D.id;
相关文章推荐
- Redis基础(2)
- SQL Select语句完整执行顺序
- Redis基础(1)
- 基于现有数据库的Code First模式迁移更新数据库
- MySQL主从复制与读写分离
- Mysql安装发生「Access denied for user ‘root’@’localhost’ (using password: NO)」错误
- Ubuntu 下环境搭建系列 —— 安装 Oracle JDK
- MySql-日志详解
- 【MongoDB】递归获取字段更新表达式,更新复杂数据类型对象
- 利用SQL语句实现分页
- mysql 遇到的问题
- ehcache memcache redis 三大缓存
- rides介绍和安装
- Net 通用权限管理系统源码 带数据库设计文档,部署说明文档
- MySQL:UNIX_TIMESTAMP函数不走索引问题
- oracle基本
- mysql哪些语句使用了索引呢
- oracle多表关联多字段update
- oracle多表关联多字段update
- update中加入select最常用的update语法