auto commit

This commit is contained in:
CyC2018 2018-03-04 22:38:19 +08:00
parent d60cecc076
commit 2722ea0f54

View File

@ -35,16 +35,16 @@
# 基础 # 基础
模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。 模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。
主键的值不允许修改,也不允许复用(不能使用已经删除的主键值赋给新数据行的主键)。 主键的值不允许修改,也不允许复用(不能使用已经删除的主键值赋给新数据行的主键)。
SQLStructured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。 SQLStructured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。
# 查询
SQL 语句不区分大小写,但是数据库表名、列名和值是否区分依赖于具体的 DBMS 以及配置。 SQL 语句不区分大小写,但是数据库表名、列名和值是否区分依赖于具体的 DBMS 以及配置。
# 查询
**DISTINCT** **DISTINCT**
相同值只会出现一次。它作用于所有列,也就是说所有列的值都相同才算相同。 相同值只会出现一次。它作用于所有列,也就是说所有列的值都相同才算相同。
@ -58,7 +58,7 @@ FROM mytable;
限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。
返回前 5 行的 SQL 返回前 5 行:
```sql ```sql
SELECT * SELECT *
@ -85,17 +85,17 @@ LIMIT 2, 3;
```sql ```sql
# 注释 # 注释
SELECT * SELECT *
FROM mytable -- 注释 FROM mytable; -- 注释
/* 注释1 /* 注释1
注释2 */ 注释2 */
``` ```
# 排序 # 排序
**ASC**:升序(默认) - **ASC**:升序(默认)
**DESC**:降序 - **DESC**:降序
可以按多个列进行排序: 可以按多个列进行排序,并且为每个列指定不同的排序方式
```sql ```sql
SELECT * SELECT *
@ -105,7 +105,7 @@ ORDER BY col1 DESC, col2 ASC;
# 过滤 # 过滤
在应用层也可以过滤数据,但是在服务器端进行过滤的数据非常大,导致通过网络传输了很多多余的数据,从而浪费了网络带宽。 不进行过滤的数据非常大,导致通过网络传输了很多多余的数据,从而浪费了网络带宽。因此尽量使用 SQL 语句来过滤不必要的数据,而不是传输所有的数据到客户端中然后由客户端进行过滤。
```sql ```sql
SELECT * SELECT *
@ -134,22 +134,21 @@ WHERE col IS NULL;
# 通配符 # 通配符
通配符也是用在过滤语句中,只能用于文本字段。 通配符也是用在过滤语句中,但它只能用于文本字段。
- **%** 匹配 >=0 个任意字符,类似于 \* - **%** 匹配 >=0 个任意字符,类似于 \*
- **\_** 匹配 ==1 个任意字符,类似于 \. - **\_** 匹配 ==1 个任意字符,类似于 \.
- **[ ]** 可以匹配集合内的字符,用脱字符 ^ 可以对其进行否定 - **[ ]** 可以匹配集合内的字符,例如 [ab] 将匹配字符 a 或者 b。用脱字符 ^ 可以对其进行否定,也就是不匹配集合内的字符。
使用 Like 来进行通配符匹配。 使用 Like 来进行通配符匹配。
```sql ```sql
SELECT * SELECT *
FROM mytable FROM mytable
WHERE col LIKE '[^AB]%' -- 不以AB开头的任意文本 WHERE col LIKE '[^AB]%' -- 不以 AB 开头的任意文本
``` ```
不要滥用通配符,通配符位于开头处匹配会非常慢。 不要滥用通配符,通配符位于开头处匹配会非常慢。
# 计算字段 # 计算字段