type
status
date
slug
summary
tags
category
icon
password
类型
标签
状态
1.基本数据结构
表 — 结构化的文件,存储特定类型的数据。如:清单、目录等。
- 每个表中数据的类型都相同。
- 每个表都有独属于自己的唯一名字来表示自身。
- 表的一些特性定义了数据再表中的存储方式,包含怎样的数据,数据如何分解等信息。
列
表中的一个字段,所有表都是由一个或多个竖向的列组成的。
每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。
行
表中的一个记录
表中的数据是按行存储的,所保存的每个记录存储在自己的行内。如果将表想象为网格,网格中垂直的列为表列,水平行为表行。
主键
一列(或一组列),其值能够唯一标识表中每一行。
表中的每一(几)行/列都可以唯一标识自己。而唯一标识表中每行的这个列称为 主键 。用它来表示一个特定的行。没有主键,更新或者删除表中特定行极为困难。
列可充当主键的条件:
任意两行都不具有相同的主键值;
每一行都必须具有一个主键值(主键列不允许 NULL 值);
主键列中的值不允许修改或更新;
主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。
2.数据检索 - SELECT
必须指明选择的对象以及从何处选择。
基本检索
检索所有列
一般而言,尽量不使用 * 通配符。因为检索不需要的列会降低检索和应用程序的性能。
检索不同值 — 使用DISTINCT关键字。
尽管在id所标识的列中会有多个相同值的行,现在只会输出不同id的行。
限制结果
当我们想只返回某一数量的行时,SQL并不支'0’。
MySQL
在SQL server 和 ACCESS 中:
DB2
Oracle
注释方法
- —— 这是一条注释
- # 这是一条注释
3./*这是
一段注释*/
3.排序检索数据 - ORDER BY
排序
子句SQL语句由子句构成,有些子句可选有些必须。一个子句通常由一个关键字加上所提供的数据组成。如上面提到的FROM就是 SELECT 的子句。
在指定一条 ORDER BY 子句时,应该保证它是 SELECT 语句中最后一
条子句。如果它不是最后的子句,将会出现错误消息。
按多个列排序
简单指定列名,在ORDER BY 后的两个列名用逗号分开即可。
按列位置排序
ORDER BY 还支持按相对列位置进行排序。
若我们希望先按照SELECT清单中的第二个列排序然后按照第三个列排序:
指定排序方向
降序: DESC
升序: ASC
4. 过滤 - WHERE
通常只会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要指
定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。
数据根据 WHERE 子句中指定的搜索条件进行过滤。
在同时使用 ORDER BY 和 WHERE 子句时,应该让 ORDER BY 位于
WHERE 之后,否则将会产生错误
WHERE 子句操作符
表 4-1 WHERE 子句操作符
操作符 | 说明 |
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
!< | 不小于 |
> | 大于 |
>= | 大于等于 |
!> | 不大于 |
BETWEEN | 在指定的两个值之间 |
IS NULL | 为 NULL 值 |
!=和<>通常可以互换。但是,并非所有 DBMS 都支持这两种不等于操
作符。
不匹配检查 - != 和 <>
单引号用来限定字符串。如果将值与字符串类型的列进行比较,就需要限定引号。
用来与数值列进行比较的值不用引号。
范围值检查 - BETWEEN
它需要两个值,即范围的开始值和结束值。
空值检查 - IS NULL
NULL
无值(no value),它与字段包含 0、空字符串或仅仅包含空格不同。
组合 WHERE 子句
AND 操作符 — 给 WHERE 子句附加条件
OR 操作符 - 检索匹配任一条件的行
第一个条件得到满足的情况下,就不再计算第二个条件
求值顺序
SQL在处理 OR 操作符前,优先处理 AND 操作符
IN 操作符号 - 指定条件范围
范围中的每个条件都可以进行匹配。
其实IN 和 OR 具有相同的功能,但是IN的最大优点在于可以包含其他SELECT语句,能动态地建立WHERE子句。
NOT 操作符 - 否定其后所跟的任何条件。
5 用通配符进行过滤
1、通配符(wildcard)
用来匹配值的一部分的特殊字符。为在搜索子句中使用通配符,必须使用 LIKE 操作符。但是通配符只能用于文本字段(字符串),非文本数据类型字段不能使用通配符搜索。
2、搜索模式(search pattern)
由字面值、通配符或两者构成的搜索条件。
谓词 - 当操作符作为谓词时就不再充当操作符
通配符 %(in DBMS) * (in MA)
%表示任何字符出现任意次数。
% 不能与NULL匹配
通配符 下划线(_) 单个_只匹配单个字符
- DB2 不支持 _
- Access 中为 ?
通配符 ([])- 必须匹配指定位置(通配符的位置)的一个字符
如果使用的是 Microsoft Access,需要用!而不是^来否定一个集合。
- Author:Uonlra
- URL:https://www.uonlra.blog//article/2df54775-fb6a-80a6-8fac-cf3e647c4a43
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!






