SQLite权威指南

SQLite权威指南(第二版)第三章 SQLite中的SQL

2019-10-28  本文已影响0人  明若晴空

SQL,是与关系数据库通信的唯一方法,是一种直观的用户友好的语言,功能非常强大,可以构建、读取、写、排序、过滤、映射、计算、产生、分组、聚集、管理信息。

一、语法

SQL语法的一般结构:


1.png
1、命令:

SQL由命令组成,每条命令以分号(;)结束。
分号(;),作为命令终结符,启动处理命令。

2、常量

字符串常量:建议使用单引号引起来
数字常量:整数、十进制数、科学计数法表示的数
二进制常量:使用x’0000’表示,每一位是一个16进制数

3、关键字和标识符

关键字:select、update、insert、create、drop、begin等。
标识符:数据库里的具体对象,如表或索引。
关键字和标识符,都不区分大小写。

4、注释

单行注释:两个连续连字符(--)表示
多行注释:C语言风格的/* */形式

二、创建数据库

1、创建表

创建表的语句:

create [temp | temporary] table table_name (column_definitions [, constraints]);

说明:

2、修改表

一般格式:

alter table table_name { rename to name | add column column_def }

说明:

三、数据库查询

1、select命令与操作管道

select 命令的通用形式如下:

select [distinct] heading 
from tables 
where predicate 
group by columns 
having predicate 
order by columns 
limit count, offset;

其处理过程:


2.png

2、信息处理的操作

3、多表连接:

语法格式:

select heading from left_table join_type right_table on join_condition; 

4、子查询

子查询是指,select语句嵌套select语句。

5、复合查询

复合查询操作的参数必须符合:

  1. 涉及的关系字段数目必须相同;
  2. 只能有一个order by子句,并且处在符合查询的最末尾,对联合结果进行排序;

关键字有:

6、条件结果

  1. 接收静态值,并列出各种情况下的case返回值:
case value
 when x then value_x
 when y then value_y
 when z then value_z
 else default_value
end
  1. case形式允许when条件中有表达式:
case
 when condition1 then value1
 when condition2 then value2
 when condition3 then value3
 else default_value

case 表达式只执行一个条件,也就是说,如果满足的条件超过一个,只执行第一个。
如果没有满足条件且没有定义else条件,case返回null。

7、处理SQLite中的Null

上一篇下一篇

猜你喜欢

热点阅读