auto commit

This commit is contained in:
CyC2018
2018-02-22 14:47:22 +08:00
parent c40ef3cf25
commit 7e4d5152f7
84 changed files with 29405 additions and 4615 deletions

View File

@ -1,52 +1,52 @@
<!-- GFM-TOC -->
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD>ѯ](#<EFBFBD><EFBFBD>ѯ)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](<><CDA8><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD>ں<EFBFBD>ʱ<EFBFBD><EFBFBD><E4B4A6>)
* [<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD>Ӳ<EFBFBD>ѯ](#<EFBFBD>Ӳ<EFBFBD>ѯ)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>ѯ](#<23><><EFBFBD>ϲ<EFBFBD>ѯ)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [ɾ<EFBFBD><EFBFBD>](#ɾ<EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD>޸ı<EFBFBD>](#<EFBFBD>޸ı<EFBFBD>)
* [<EFBFBD><EFBFBD>ͼ](#<EFBFBD><EFBFBD>ͼ)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><EFBFBD><E6B4A2><EFBFBD><EFBFBD>)
* [<EFBFBD>α<EFBFBD>](#<EFBFBD>α<EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>](#<23>ַ<EFBFBD><D6B7><EFBFBD>)
* [Ȩ<EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD>](<>޹<EFBFBD><DEB9><EFBFBD>)
* [????](#????)
* [???](#???)
* [????](#????)
* [????](#????)
* [????](#????)
* [???????](#???????)
* [????](#????)
* [???????](#???????)
* [??????????](#??????????)
* [???????](#???????)
* [????](#????)
* [????](#????)
* [????](#????)
* [????](#????)
* [??????](#??????)
* [??????](#??????)
* [???????](#???????)
* [??????](#??????)
* [?????](#?????)
* [????](#????)
* [????](#????)
* [???](#???)
* [??????](#??????)
* [????](#????)
* [???](#???)
* [?<3F><>????](#?<3F><>????)
* [?<3F><>?](#?<3F><>?)
* [??????](#??????)
* [??????](#??????)
* [?????](#?????)
* [??????](#??????)
<!-- GFM-TOC -->
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ洢<EFBFBD><EFBFBD><EFBFBD>洢ʲô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ηֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>
????????????????<3F>ě<EFBFBD>???<3F><>???????????????????<3F><>?????????????????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ģ<EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
??????????????????????????????????????????????????????????<3F><>?????????
SQL<EFBFBD><EFBFBD>Structured Query Language)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼ SQL <EFBFBD><EFBFBD> ANSI <EFBFBD><EFBFBD>׼ίԱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD>Ϊ ANSI SQL<51><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DBMS <20><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>ʵ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD> PL/SQL<EFBFBD><EFBFBD>Transact-SQL <EFBFBD>ȡ<EFBFBD>
SQL??Structured Query Language)????? SQL ?? ANSI ???????????????? ANSI SQL?????? DBMS ??????????????? PL/SQL??Transact-SQL ???
# <EFBFBD><EFBFBD>ѯ
# ???
SQL <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DBMS <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>á<EFBFBD>
SQL ????????<3F><><EFBFBD><EFBFBD>???????????????????????????????????????? DBMS ??????<3F><>?
**DISTINCT**
<EFBFBD><EFBFBD>ֵֻͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>Ρ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>
????????????<3F><>??????????????<3F><>????????????<3F><>????????????????
```sql
SELECT DISTINCT col1, col2
@ -55,9 +55,9 @@ FROM mytable;
**LIMIT**
<EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ʼ<EFBFBD>У<EFBFBD><EFBFBD><EFBFBD> 0 <20><>ʼ<EFBFBD><CABC><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
????????????????????????????????????????????<3F><>??? 0 ????????????????????????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ 5 <20>е<EFBFBD> SQL<EFBFBD><EFBFBD>
????? 5 ?<3F><>? SQL??
```sql
SELECT *
@ -71,7 +71,7 @@ FROM mytable
LIMIT 0, 5;
```
<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD> 3 \~ 5 <EFBFBD>У<EFBFBD>
????? 3 \~ 5 ?<3F><>?
```sql
SELECT *
@ -79,22 +79,22 @@ FROM mytable
LIMIT 2, 3;
```
**ע<EFBFBD><EFBFBD>**
**???**
```sql
# ע<EFBFBD><EFBFBD>
# ???
SELECT *
FROM mytable -- ע<EFBFBD><EFBFBD>
/* ע<EFBFBD><EFBFBD>1
ע<EFBFBD><EFBFBD>2 */
FROM mytable -- ???
/* ???1
???2 */
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
**ASC**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϣ<EFBFBD>
**DESC**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
**ASC**??????????
**DESC**??????
<EFBFBD><EFBFBD><EFBFBD>԰<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?????????<3F><>???????
```sql
SELECT *
@ -102,9 +102,9 @@ FROM mytable
ORDER BY col1 DESC, col2 ASC;
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
<EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD>й<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷdz<EFBFBD><EFBFBD>󣬵<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺ܶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD>˷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
????<3F><>??????????????????????????????<3F><>?????????????????????<3F><>??????????????????????????????
```sql
SELECT *
@ -112,155 +112,155 @@ FROM mytable
WHERE col IS NULL;
```
<EFBFBD>±<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD> WHERE <20>Ӿ<EFBFBD><D3BE><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD>
?<3F><>?????? WHERE ????????????
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ˵<><CBB5> |
| ?????? | ??? |
| ------------ | ------------ |
| = < > | <EFBFBD><EFBFBD><EFBFBD><EFBFBD> С<><D0A1> <20><><EFBFBD><EFBFBD> |
| <> != | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
| <= !> | С<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> |
| >= !< | <EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> |
| BETWEEN | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD> |
| IS NULL | ΪNULLֵ |
| = < > | ???? <20><>?? ???? |
| <> != | ?????? |
| <= !> | <20><>????? |
| >= !< | ??????? |
| BETWEEN | ?????????? |
| IS NULL | ?NULL? |
Ӧ<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>NULL <EFBFBD><EFBFBD> 0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>
????????NULL ?? 0 ????????????????
**AND OR** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD> AND<4E><44><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD>ʽ<EFBFBD><EFBFBD><E6BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND <EFBFBD><EFBFBD> OR ʱ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> () <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
**AND OR** ??????????????????????????? AND?????????????????<3F>p????? AND ?? OR ????????? () ?????????????
**IN** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>һ<EFBFBD><EFBFBD> SELECT <20>Ӿ䣬<D3BE>Ӷ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>һ<EFBFBD><D2BB>ֵ<EFBFBD><D6B5>
**IN** ??????????????????????????????? SELECT ????????????????????????
**NOT** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
**NOT** ????????????????????
# ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ֶΡ<EFBFBD>
??????????????????<3F><>?????????????<3F><>?
- **%** ƥ<EFBFBD><EFBFBD> >=0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \*<EFBFBD><EFBFBD>
- **%** ??? >=0 ????????????????? \*??
- **\_** ƥ<EFBFBD><EFBFBD> ==1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \.<EFBFBD><EFBFBD>
- **\_** ??? ==1 ????????????????? \.??
- **[ ]** <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> ^ <20><><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>
- **[ ]** ??????<3F><>????????????????? ^ ?????????<EFBFBD><EFBFBD>?
ʹ<EFBFBD><EFBFBD> Like <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD>
??? Like ?????????????
```sql
SELECT *
FROM mytable
WHERE col LIKE '[^AB]%' -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>AB<EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
WHERE col LIKE '[^AB]%' -- ????AB????????????
```
<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ڿ<EFBFBD>ͷ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?????????????????<3F><>????????????????
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
# ???????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȿͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD>ö࣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?????????????????????????????????????????????????????????????????????????????????????????????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫʹ<EFBFBD><EFBFBD> **AS** <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>
???????????????? **AS** ????????????????????????????????????
```sql
SELECT col1*col2 AS alias
FROM mytable
```
**Concat()** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿո<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ŀո<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> **TRIM()** <20><><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>β<EFBFBD>ո<EFBFBD><D5B8><EFBFBD>
**Concat()** ??????????????<3F><>?????????????????????????<3F><>?????????????????<3F><>???????????? **TRIM()** ?????????<3F><>???
```sql
SELECT Concat(TRIM(col1), ' (', TRIM(col2), ')')
FROM mytable
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DBMS <EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>
???? DBMS ???????????????????????????
## <EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## ???????
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ˵<EFBFBD><EFBFBD> |
| ???? | ??? |
| ------------ | ------------ |
| LEFT() RIGHT() | <EFBFBD><EFBFBD><EFBFBD>߻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұߵ<EFBFBD><EFBFBD>ַ<EFBFBD> |
| LOWER() UPPER() | ת<EFBFBD><EFBFBD>ΪСд<EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>д |
| LTRIM() RTIM() | ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұߵĿո<EFBFBD> |
| LENGTH() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
| SUNDEX() | ת<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ |
| LEFT() RIGHT() | ????????????? |
| LOWER() UPPER() | ????<3F><><EFBFBD><EFBFBD>?????<3F><> |
| LTRIM() RTIM() | ??????????????? |
| LENGTH() | ???? |
| SUNDEX() | ????????? |
<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>**SOUNDEX()** <EFBFBD>ǽ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>Ƚϡ<EFBFBD>
???<3F><>?**SOUNDEX()** ????????????????????????????????????????????????????????????????????
```sql
SELECT *
FROM mytable
WHERE SOUNDEX(col1) = SOUNDEX('apple')
```
## <EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>
## ??????????
<EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>ʽ<EFBFBD><EFBFBD>YYYY-MM-DD
????????YYYY-MM-DD
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>HH:MM:SS
???????HH:MM:SS
|<EFBFBD><EFBFBD> <20><> | ˵ <20><>|
|?? ?? | ? ??|
| --- | --- |
| AddDate() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD>ܵȣ<EFBFBD>|
| AddTime() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD>䣨ʱ<EFBFBD><EFBFBD><EFBFBD>ֵȣ<EFBFBD>|
| CurDate() | <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
| CurTime() | <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ǰʱ<EFBFBD><EFBFBD> |
|Date() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>|
|DateDiff() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>|
|Date_Add() |<EFBFBD>߶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
|Date_Format() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ʱ<EFBFBD>|
|Day()| <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
|DayOfWeek() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>|
|Hour() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
|Minute() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>|
|Month() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>·ݲ<EFBFBD><EFBFBD><EFBFBD>|
|Now() |<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ʱ<EFBFBD><EFBFBD>|
|Second() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벿<EFBFBD><EFBFBD>|
|Time() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䲿<EFBFBD><EFBFBD>|
|Year() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>|
| AddDate() | ??????????????????|
| AddTime() | ?????????????????|
| CurDate() | ?????????? |
| CurTime() | ????????? |
|Date() |???????????????????|
|DateDiff() |???????????????|
|Date_Add() |?????????????????|
|Date_Format() |??????????????????????|
|Day()| ????????????????????|
|DayOfWeek() |?????????????????????????|
|Hour() |???????????<3F><>?????|
|Minute() |?????????????????|
|Month() |?????????????<3F><>????|
|Now() |??????????????|
|Second() |???????????????|
|Time() |????????????????????|
|Year() |??????????????????|
```sql
mysql> SELECT NOW();
-> '2017-06-28 14:01:52'
```
## <EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## ???????
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ˵<><CBB5> |
| ???? | ??? |
| --- | --- |
| SIN() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|COS() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
| TAN() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
| ABS() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ |
| SQRT() | ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
| MOD() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
| EXP() | ָ<EFBFBD><EFBFBD>|
| PI() | Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
|RAND() | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
| SIN() | ???? |
|COS() | ???? |
| TAN() | ???? |
| ABS() | ????? |
| SQRT() | ?????|
| MOD() | ????|
| EXP() | ???|
| PI() | ?????|
|RAND() | ?????|
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## ????
|<EFBFBD><EFBFBD> <20><><20><>|
|?? ?? |? ??|
| --- | --- |
|AVG() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>е<EFBFBD>ƽ<EFBFBD><EFBFBD>ֵ|
|COUNT()| <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
|MAX()| <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ|
|MIN()| <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>Сֵ|
|SUM() |<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>|
|AVG() |??????<3F><>?????|
|COUNT()| ??????<3F><>?????|
|MAX()| ??????<3F><>?????|
|MIN()| ??????<3F><>???<3F><>?|
|SUM() |???????????|
AVG() <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL <EFBFBD>С<EFBFBD>
AVG() ????? NULL ?<3F><>?
DISTINCT <EFBFBD>ؼ<EFBFBD><EFBFBD>ֻ<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD>ͬ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>
DISTINCT ??????????????????
```sql
SELECT AVG(DISTINCT col1) AS avg_col
FROM mytable
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
?????????????????????????<3F><>?
<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>û<EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>ֵ<EFBFBD>ȡ<EFBFBD>
????????????????????????<3F><>???????????????????????
<EFBFBD><EFBFBD> col <EFBFBD><EFBFBD><EFBFBD>򲢷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
?? col ????????????
```sql
SELECT col, COUNT(*) AS num
@ -268,7 +268,7 @@ FROM mytable
GROUP BY col;
```
WHERE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>HAVING <20><><EFBFBD>˷<EFBFBD><CBB7><EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>
WHERE ?????<3F><>?HAVING ??????<3F><>?<3F><>?????????????????
```sql
SELECT col, COUNT(*) AS num
@ -278,7 +278,7 @@ GROUP BY col
HAVING COUNT(*) >= 2;
```
GROUP BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<EFBFBD><EFBFBD><EFBFBD> ORDER BY Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD>Ծۼ<D4BE><DBBC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GROUP BY ???????????????<3F><>??? ORDER BY ??????????????????????
```sql
SELECT col, COUNT(*) AS num
@ -287,18 +287,18 @@ GROUP BY col
ORDER BY num;
```
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
????<3F><>??
1. GROUP BY <EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WHERE <20>Ӿ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ORDER BY <EFBFBD>Ӿ<EFBFBD>֮ǰ<EFBFBD><EFBFBD>
2. <EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>ܼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD>⣬SELECT <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ÿһ<C3BF>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GROUP BY <20>Ӿ<EFBFBD><D3BE>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
3. NULL <EFBFBD><EFBFBD><EFBFBD>лᵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊһ<EFBFBD>
4. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SQL ʵ<>ֲ<EFBFBD>֧<EFBFBD><D6A7> GROUP BY <20>о<EFBFBD><D0BE>пɱ䳤<C9B1>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD>
1. GROUP BY ???????? WHERE ??????ORDER BY ???????
2. ????????????????SELECT ????<3F><>????<3F><>??????? GROUP BY ????<3F><>?????
3. NULL ???<3F><>????????<3F><>
4. ????? SQL ??????? GROUP BY ?<3F><>??<3F><>??????????????
# <EFBFBD>Ӳ<EFBFBD>ѯ
# ????
<EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD><EFBFBD>ֻ<EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
????????????????<3F><>?
<EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ WHRER <20><><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
???????????????? WHRER ?????????????
```
SELECT *
@ -307,7 +307,7 @@ WHERE col1 IN (SELECT col2
FROM mytable2);
```
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>ִ<EFBFBD><EFBFBD>һ<EFBFBD>Σ<EFBFBD>
?????????????????????????????????????????????????????????<3F><>?
```sql
SELECT cust_name, (SELECT COUNT(*)
@ -318,17 +318,17 @@ FROM Customers
ORDER BY cust_name;
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> JOIN <20>ؼ<EFBFBD><D8BC>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> ON<EFBFBD><EFBFBD>
??????????????????? JOIN ???????????????????? ON??
<EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
????????<3F>I?????????????????<3F><>?????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶκͱ<CEBA><CDB1><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˼<EFBFBD><CBBC><EFBFBD> SQL <20><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
?????? AS ??????????????<3F><>???????????????????????????? SQL ???????????????
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## ??????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳƵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>ʹ<EFBFBD><EFBFBD> INNER JOIN <EFBFBD>ؼ<EFBFBD><EFBFBD>֡<EFBFBD>
??????????????????? INNER JOIN ??????
```
select a, b, c
@ -336,7 +336,7 @@ from A inner join B
on A.key = B.key
```
<EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>ȷʹ<EFBFBD><EFBFBD> INNER JOIN<49><4E><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD> WHERE <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>õ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
??????????? INNER JOIN????????????????? WHERE ?<3F><>???????????????????????????????????
```
select a, b, c
@ -344,15 +344,15 @@ from A, B
where A.key = B.key
```
<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>صѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?????????????????<3F><>???????????
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## ??????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>һ<EFBFBD>֣<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>
??????????????????????????????????????????
һ<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>Ҫ<EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD> Jim <20><><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
??????????????????????????????????????? Jim ????????????????????????
**<EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD>**
**?????<3F><EFBFBD>**
```
select name
@ -363,7 +363,7 @@ where department = (
where name = "Jim");
```
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ汾**
**??????<EFBFBD><EFBFBD>**
```
select name
@ -372,24 +372,24 @@ where e1.department = e2.department
and e1.name = "Jim";
```
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD>ѯ<EFBFBD><EFBFBD>Ч<EFBFBD>ʸߡ<EFBFBD>
??????????????<3F><>????
## <EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## ???????
<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
????????????????????????????????????????<3F><>????<3F><>????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD>
?????????????????????????????????<3F><>?????????????????????????<3F><>???????????????????
```
select *
from employee natural join department;
```
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## ??????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
?????????????<3F><>???????<EFBFBD><EFBFBD>?<EFBFBD><EFBFBD>???????????????????????????????????????????????????????<3F><>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й˿͵Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ĺ˿͡<EFBFBD>
???????<3F><>???????????????????<3F><>???????????
```
select Customers.cust_id, Orders.order_num
@ -397,7 +397,7 @@ select Customers.cust_id, Orders.order_num
on Customers.cust_id = Orders.curt_id
```
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫͳ<EFBFBD>ƹ˿͵Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>þۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
??????????????????????????????
```
select Customers.cust_id,
@ -407,13 +407,13 @@ on Customers.cust_id = Orders.curt_id
group by Customers.cust_id
```
# <EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>ѯ
# ?????
ʹ<EFBFBD><EFBFBD> **UNION** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>߾ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
??? **UNION** ??????????????????????????????????<3F><>?????????????????
Ĭ<EFBFBD>ϻ<EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>У<EFBFBD>ʹ<EFBFBD><EFBFBD> UNION ALL <EFBFBD><EFBFBD>
???????????<3F><>???????????????<3F><>???? UNION ALL ??
ֻ<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> ORDER BY <EFBFBD>Ӿ䣬<EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
????????? ORDER BY ??????????<3F><>?????????
```sql
SELECT col
@ -425,16 +425,16 @@ FROM mytable
WHERE col =2;
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
**<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**???????**
```sql
INSERT INTO mytable(col1, col2)
VALUES(val1, val2);
```
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**?????????????????**
```sql
INSERT INTO mytable1(col1, col2)
@ -442,14 +442,14 @@ SELECT col1, col2
FROM mytable2;
```
**<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD>Ƶ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>**
**????????????????????<3F><>?**
```sql
CREATE TABLE newtable AS
SELECT * FROM mytable;
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ????
```sql
UPDATE mytable
@ -457,18 +457,18 @@ SET col = val
WHERE id = 1;
```
# ɾ<EFBFBD><EFBFBD>
# ???
```sql
DELETE FROM mytable
WHERE id = 1;
```
**TRUNCATE TABLE** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
**TRUNCATE TABLE** ?????????????????????<3F><>?
ʹ<EFBFBD>ø<EFBFBD><EFBFBD>º<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱһ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD> WHERE <20>Ӿ䣬<D3BE><E4A3AC>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SELECT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2>ԣ<EFBFBD><D4A3><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>
????????????????????? WHERE ????????????????????????????????? SELECT ?????<3F><>????????????????
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ??????
```sql
CREATE TABLE mytable (
@ -479,38 +479,38 @@ CREATE TABLE mytable (
PRIMARY KEY (`id`));
```
# <EFBFBD>޸ı<EFBFBD>
# ????
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**?????**
```sql
ALTER TABLE mytable
ADD col CHAR(20);
```
**ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**?????**
```sql
ALTER TABLE mytable
DROP COLUMN col;
```
**ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**?????**
```sql
DROP TABLE mytable;
```
# <EFBFBD><EFBFBD>ͼ
# ???
<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>Ҳ<EFBFBD>Ͳ<EFBFBD><EFBFBD>ܶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?????????????????????????????????????????????????????????????????????????
<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ºô<EFBFBD><EFBFBD><EFBFBD>
???????????????
1. <EFBFBD>򻯸<EFBFBD><EFBFBD>ӵ<EFBFBD> SQL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>
2. ֻʹ<EFBFBD><EFBFBD>ʵ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
3. ͨ<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>ݵİ<EFBFBD>ȫ<EFBFBD>ԣ<EFBFBD>
4. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD>ͱ<EFBFBD>ʾ<EFBFBD><EFBFBD>
1. ?????? SQL ?????????<3F>y???????
2. ???????????????????
3. ???????????????????????????????????
4. ????????????????
```sql
CREATE VIEW myview AS
@ -519,25 +519,25 @@ FROM mytable
WHERE col5 = val;
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ?<3F><>????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>һϵ<EFBFBD><EFBFBD> SQL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?<3F><>????????????????? SQL ????????????
**ʹ<EFBFBD>ô洢<EFBFBD><EFBFBD><EFBFBD>̵ĺô<EFBFBD>**
**???<3F><>???????**
1. <EFBFBD><EFBFBD>ʵ<EFBFBD>ַ<EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򵥣<EFBFBD>Ҳ<EFBFBD><EFBFBD>֤<EFBFBD>˰<EFBFBD>ȫ<EFBFBD>ԣ<EFBFBD>
2. <EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD>
3. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ȱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD>кܸߵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD>
1. ???????????<3F><>?????<3F><>???????????????????
2. ??????????
3. ?????????????????<3F><>????????
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**?????<3F><>????**
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>˷ֺţ<D6BA><C5A3><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD>ַֺŵ<D6BA><C5B5><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFB7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
???????<3F><>????<3F><>??????????????????????????????? ; ????????????<3F><>???????????????????????????????????????????????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> in<EFBFBD><EFBFBD>out <EFBFBD><EFBFBD> inout <EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
???? in??out ?? inout ?????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD> select into <EFBFBD><EFBFBD><EFBFBD>
???????????????? select into ???
ÿ<EFBFBD><EFBFBD>ֻ<EFBFBD>ܸ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ּ<EFBFBD><EFBFBD>ϵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?????????????????????????????????
```sql
delimiter //
@ -558,18 +558,18 @@ call myprocedure(@ret);
select @ret;
```
# <EFBFBD>α<EFBFBD>
# ?<3F><>?
<EFBFBD>ڴ洢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
??<3F><>??????????<3F><>??????????????????????????
<EFBFBD>α<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD>ʽӦ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ġ<EFBFBD>
?<3F><>??????????????????????????????????<3F><>??????<3F><>????????????
**ʹ<EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**????<3F><>????????<3F>s**
1. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ʵ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
2. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α
3. ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
4. <EFBFBD>ر<EFBFBD><EFBFBD>α
1. ?????<3F><>????????????????????????
2. ???<3F><>?
3. ????????
4. ????<3F><>?
```sql
delimiter //
@ -579,7 +579,7 @@ create procedure myprocedure(out ret int)
declare mycursor cursor for
select col1 from mytable;
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>continue handler<EFBFBD><EFBFBD><EFBFBD><EFBFBD> sqlstate '02000' <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD> set done = 1
# ?????????continue handler???? sqlstate '02000' ??????????????????? set done = 1
declare continue handler for sqlstate '02000' set done = 1;
open mycursor;
@ -594,43 +594,43 @@ create procedure myprocedure(out ret int)
delimiter ;
```
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ??????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ִ<EFBFBD>У<EFBFBD>DELETE<EFBFBD><EFBFBD>INSERT<EFBFBD><EFBFBD>UPDATE
?????????????????????????????????<3F><>?DELETE??INSERT??UPDATE
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ִ<EFBFBD>У<EFBFBD>֮ǰִ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> BEFORE <20>ؼ<EFBFBD><D8BC>֣<EFBFBD>֮<EFBFBD><D6AE>ִ<EFBFBD><D6B4>ʹ<EFBFBD><CAB9> AFTER <EFBFBD>ؼ<EFBFBD><EFBFBD>֡<EFBFBD>BEFORE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
???????????????????????????????????<3F><>????????? BEFORE ??????????????? AFTER ??????BEFORE ??????????????????
INSERT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ NEW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INSERT ???????????????? NEW ???????
```sql
CREATE TRIGGER mytrigger AFTER INSERT ON mytable
FOR EACH ROW SELECT NEW.col;
```
DELETE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ OLD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ġ<EFBFBD>
DELETE ???????????????? OLD ???????????????????
UPDATE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ NEW <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϊ OLD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NEW <20>ǿ<EFBFBD><C7BF>Ա<EFBFBD><D4B1>޸ĵأ<C4B5><D8A3><EFBFBD> OLD <20><>ֻ<EFBFBD><D6BB><EFBFBD>ġ<EFBFBD>
UPDATE ???????????????? NEW ???????? OLD ??????????? NEW ????????????? OLD ????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƹ<EFBFBD><EFBFBD>٣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ļ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ű<EFBFBD><EFBFBD>С<EFBFBD>
???????????????????????????????????????????<3F><>?
MySQL <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> CALL <20><><EFBFBD><EFBFBD> <20><>Ҳ<EFBFBD><D2B2><EFBFBD>Dz<EFBFBD><C7B2>ܵ<EFBFBD><DCB5>ô洢<C3B4><E6B4A2><EFBFBD>̡<EFBFBD>
MySQL ?????????????????? CALL ??? ?????????????<3F><>?????
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# ??????
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**????????**
1. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>transaction<EFBFBD><EFBFBD>ָһ<EFBFBD><EFBFBD> SQL <EFBFBD><EFBFBD><EFBFBD>
2. <EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>rollback<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD> SQL <20><><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̣<EFBFBD>
3. <EFBFBD><EFBFBD><EFBFBD>commit<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD> SQL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
4. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>savepoint<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>ʱռλ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>placeholder<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1. ????transaction?????? SQL ???
2. ?????rollback?????????? SQL ????????
3. ????commit?????<EFBFBD><EFBFBD>?<EFBFBD><EFBFBD>?? SQL ?????<3F><>????????
4. ??????savepoint????????????????????<3F><>????placeholder?????????????????????????????????????????
<EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD> SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SELECT <20><><EFBFBD><EFBFBD>Ҳû<D2B2><C3BB><EFBFBD>壻Ҳ<E5A3BB><D2B2><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD> CRETE <EFBFBD><EFBFBD> DROP <EFBFBD><EFBFBD><EFBFBD>
??????? SELECT ??????? SELECT ????????<3F><>???????? CRETE ?? DROP ???
MySQL <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ύĬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿִ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>һ<EFBFBD>Ρ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> START TRANSACTION <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ʽ<EFBFBD><EFBFBD><E1BDBB><EFBFBD><EFBFBD> COMMIT <EFBFBD><EFBFBD> ROLLBACK <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>к<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>رգ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>»ָ<EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>
MySQL ?????????????????????????????????????????<3F><>??????? START TRANSACTION ??????????????????? COMMIT ?? ROLLBACK ?????<3F><>??????????????????????????
ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> autocommit Ϊ 0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD> autocommit <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 1 <20>Ż<EFBFBD><C5BB><EFBFBD><E1BDBB>autocommit <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD>
??????? autocommit ? 0 ????????????????? autocommit ??????? 1 ???????autocommit ???????????????????????????????
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ROLLBACK <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD> START TRANSACTION <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ROLLBACK <20><>ָ<EFBFBD><D6B8><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>
???????????????ROLLBACK ?????? START TRANSACTION ????????????????????????? ROLLBACK ??????????????????????????
```sql
START TRANSACTION
@ -642,15 +642,15 @@ ROLLBACK TO delete1
COMMIT
```
# <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
# ?????
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**????????**
1. <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ĸ<EFBFBD>ͷ<EFBFBD><EFBFBD>ŵļ<EFBFBD><EFBFBD>ϣ<EFBFBD>
2. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊij<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>
3. У<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>αȽϣ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>
1. ???????????????????
2. ??????????????????????????
3. <20><>??????????<3F><>?????????????????<3F><>
<EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>⣬Ҳ<EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?????????????????<3F><>?????????????????
```sql
CREATE TABLE mytable
@ -658,7 +658,7 @@ CREATE TABLE mytable
DEFAULT CHARACTER SET hebrew COLLATE hebrew_general_ci;
```
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򡢷<EFBFBD><EFBFBD><EFBFBD>ʱָ<EFBFBD><EFBFBD>У<EFBFBD>ԣ<EFBFBD>
?????????????????<3F><>???
```sql
SELECT *
@ -666,67 +666,67 @@ FROM mytable
ORDER BY col COLLATE latin1_general_ci;
```
# Ȩ<EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD>
# ??????
MySQL <EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mysql <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>С<EFBFBD>
MySQL ?????????????? mysql ?????????<3F><>?
```sql
USE mysql;
SELECT user FROM user;
```
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>**
**???????**
```sql
CREATE USER myuser IDENTIFIED BY 'mypassword';
```
<EFBFBD>´<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>Ȩ<EFBFBD>ޡ<EFBFBD>
??????????????<3F><>?????
**<EFBFBD>޸<EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>**
**????????**
```sql
RENAME myuser TO newuser;
```
**ɾ<EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>**
**??????**
```sql
DROP USER myuser;
```
**<EFBFBD>鿴Ȩ<EFBFBD><EFBFBD>**
**?????**
```sql
SHOW GRANTS FOR myuser;
```
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/c73aa08e-a987-43c9-92be-adea4a884c25.png)
<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD> username@host <20><><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>username@% ʹ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
????? username@host ????????<EFBFBD><EFBFBD>username@% ?????????????????
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>**
**???????**
```sql
GRANT SELECT, INSERT ON mydatabase.* TO myuser;
```
**ɾ<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>**
**??????**
```sql
REVOKE SELECT, INSERT ON mydatabase.* FROM myuser;
```
GRANT <EFBFBD><EFBFBD> REVOKE <EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD>
GRANT ?? REVOKE ??????????????????????
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> GRANT ALL<EFBFBD><EFBFBD> REVOKE ALL<EFBFBD><EFBFBD>
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ⣬ʹ<EFBFBD><EFBFBD> ON database.\*<EFBFBD><EFBFBD>
- <EFBFBD>ض<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> ON database.table<EFBFBD><EFBFBD>
- <EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
- <EFBFBD>ض<EFBFBD><EFBFBD>Ĵ洢<EFBFBD><EFBFBD><EFBFBD>̡<EFBFBD>
- ??????????????? GRANT ALL?? REVOKE ALL??
- ???????????? ON database.\*??
- ????????? ON database.table??
- ??????<3F><>?
- ?????<3F><>?????
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
**????????**
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> Password() <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
??????? Password() ????
```sql
SET PASSWROD FOR myuser = Password('newpassword');