8000 auto commit · Freeecode/Interview-Notebook@2722ea0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2722ea0

Browse files
committed
auto commit
1 parent d60cecc commit 2722ea0

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

notes/SQL 语法.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@
3535

3636
# 基础
3737

38-
模式:定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。
38+
模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。
3939

4040
主键的值不允许修改,也不允许复用(不能使用已经删除的主键值赋给新数据行的主键)。
4141

42-
SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL,各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。
43-
44-
# 查询
42+
SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。
4543

4644
SQL 语句不区分大小写,但是数据库表名、列名和值是否区分依赖于具体的 DBMS 以及配置。
4745

46+
# 查询
47+
4848
**DISTINCT**
4949

5050
相同值只会出现一次。它作用于所有列,也就是说所有列的值都相同才算相同。
@@ -58,7 +58,7 @@ FROM mytable;
5858

5959
限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。
6060

61-
返回前 5 行的 SQL
61+
返回前 5
6262

6363
```sql
6464
SELECT *
@@ -85,17 +85,17 @@ LIMIT 2, 3;
8585
```sql
8686
# 注释
8787
SELECT *
88-
FROM mytable -- 注释
88+
FROM mytable; -- 注释
8989
/* 注释1
9090
注释2 */
9191
```
9292

9393
# 排序
9494

95-
**ASC**:升序(默认)
96-
**DESC**:降序
95+
- **ASC**:升序(默认)
96+
- **DESC**:降序
9797

98-
可以按多个列进行排序:
98+
可以按多个列进行排序,并且为每个列指定不同的排序方式
9999

100100
```sql
101101
SELECT *
@@ -105,7 +105,7 @@ ORDER BY col1 DESC, col2 ASC;
105105

106106
# 过滤
107107

108-
在应用层也可以过滤数据,但是不在服务器端进行过滤的数据非常大,导致通过网络传输了很多多余的数据,从而浪费了网络带宽。
108+
不进行过滤的数据非常大,导致通过网络传输了很多多余的数据,从而浪费了网络带宽。因此尽量使用 SQL 语句来过滤不必要的数据,而不是传输所有的数据到客户端中然后由客户端进行过滤
109109

110110
```sql
111111
SELECT *
@@ -134,22 +134,21 @@ WHERE col IS NULL;
134134

135135
# 通配符
136136

137-
通配符也是用在过滤语句中,只能用于文本字段
137+
通配符也是用在过滤语句中,但它只能用于文本字段
138138

139139
- **%** 匹配 >=0 个任意字符,类似于 \*
140140

141141
- **\_** 匹配 ==1 个任意字符,类似于 \.
142142

143-
- **[ ]** 可以匹配集合内的字符,用脱字符 ^ 可以对其进行否定
143+
- **[ ]** 可以匹配集合内的字符,例如 [ab] 将匹配字符 a 或者 b。用脱字符 ^ 可以对其进行否定,也就是不匹配集合内的字符。
144144

145145
使用 Like 来进行通配符匹配。
146146

147147
```sql
148148
SELECT *
149149
FROM mytable
150-
WHERE col LIKE '[^AB]%' -- 不以AB开头的任意文本
150+
WHERE col LIKE '[^AB]%' -- 不以 A 和 B 开头的任意文本
151151
```
152-
153152
不要滥用通配符,通配符位于开头处匹配会非常慢。
1 3FE0 54153

155154
# 计算字段

0 commit comments

Comments
 (0)
0