文章目录
  1. SQL基础介绍
  2. 检索数据
  3. 排序检索数据
  4. 过滤数据
  5. 高级数据过滤
  6. 用通配符进行过滤

SQL基础介绍

数据库:保存有组织的数据的容器;

表:某种特定类型数据的结构化清单;

列:表中的一个字段。表由多个列组成;

数据类型:列允许的数据的类型;限制列中存储的数据;

行:表中的一个记录;

主键:表中每一行都应该有可以唯一标识自己的一(组)列,其值可以唯一标识表中的每一行;这(组)列就是主键;

检索数据

检索单个列;

1
SELECT prod_name FROM Products;

检索多个列;

1
SELECT prod_id, prod_name, prod_price FROM Products;

检索所有列;

1
SELECT * FROM Products;

排序检索数据

子句:在SQL语句中,一个关键字加上所提供的数据组成一个子句,SQL由多个子句组成;排序SELECT语句检索出的数据使用ORDER BY子句;

ORDER子句取一个或多个列,据此对输出进行排序;ORDER子句必须是SELECT语句的最后一条子句;ORDER BY子句中的列不一定是SELECT中的列。

1
SELECT prod_name FROM Products ORDER BY prod_name;

ORDER BY子句的排序默认为升序,若需要对列进行降序排列,需在列的后面加上DESC关键字。若要对多个列降序排序,则需每个列都指定DESC关键字。

过滤数据

在检索时通常只需要检索所需的数据,这可以通过在WHERE子句中指定搜索条件来实现;WHERE子句在表名之后给出。

1
SELECT prod_name,  prod_price FROM Products WHERE prod_price=3.49;

这样数据库只返回所需的数据。

WHERE子句操作符有如下这些。

 

在使用BETWEEN操作符执行范围检查时,需要使用两个值,这两个值用AND连接。

WHERE [列名] IS NULL是为了查找该列为空值的行。

高级数据过滤

为了进行更强的过滤控制,SQL允许使用多个WHERE子句;这些子句通过AND或OR连接;为了保证你想要的运算次序,建议使用括号明确分组各子句。

IN操作符:可用来指定条件范围,范围中的每个条件都可以进行匹配。IN的用法为:IN (val_1, val_2, …, val_m)

IN相比OR操作符,使语法更加清楚直观。

NOT操作符:否定它之后所跟的任何条件。

用通配符进行过滤

通配符:用来匹配值的一部分的特殊字符。

搜索模式:由字面值、通配符或两者组合构成的搜索条件。

LIKE操作符后连接搜索模式以进行通配符过滤;

%通配符:任何字符出现任意次数(包括0次);

_通配符:只匹配单个的任意字符;

注:SQL通配符很有用,但是它处理的时间较长,特别是将通配符放在开头时。