數(shù)據(jù)庫
- DataBase(DB): 存儲和管理數(shù)據(jù)的倉庫
- 數(shù)據(jù)庫管理系統(tǒng): DataBase Management System (DBMS),操縱和管理數(shù)據(jù)庫的大型軟件
- SQL: Structured Query Language,操作關(guān)系型數(shù)據(jù)庫的編程語言,定義了一套操作關(guān)系型數(shù)據(jù)庫統(tǒng)一標(biāo)準(zhǔn)
MySQL數(shù)據(jù)模型
- 關(guān)系型數(shù)據(jù)庫(RDBMS): 建立在關(guān)系模型基礎(chǔ)上, 有多張相互連接的二維表組成的數(shù)據(jù)庫
- 二維表即有行有列的表格
SQL簡介
- 操作關(guān)系型數(shù)據(jù)庫的編程語言,定義了一套操作關(guān)系型數(shù)據(jù)庫統(tǒng)一標(biāo)準(zhǔn)
通用語法

SQL分類
-
SQL語句一般分為以下四類:
DDL操作(數(shù)據(jù)庫設(shè)計)
-
DDL英文全稱是Data Definition Language,數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對象(數(shù)據(jù)庫、表)
- 主鍵約束后加auto_increment可以實現(xiàn)主鍵值自動從1開始自增
DML操作(數(shù)據(jù)庫操作)
- DML英文全稱是Data Manipulation Language(數(shù)據(jù)操作語言),用來對數(shù)據(jù)庫中表的數(shù)據(jù)記錄進(jìn)行增、刪、改操作
添加數(shù)據(jù)


修改數(shù)據(jù)

- update后可以不跟where條件, 此時則代表要修改整張表的數(shù)據(jù)
刪除數(shù)據(jù)


DQL操作(數(shù)據(jù)庫操作)
-
DQL英文全稱是Data Query Language(數(shù)據(jù)查詢語言),用來查詢數(shù)據(jù)庫表中的記錄
基本查詢

- *號代表查詢所有字段, 實際開發(fā)中盡量少用(不直觀, 效率低)
- 設(shè)置別名中as可以省略
條件查詢

- like模糊匹配類似于正則表達(dá)式
-eg:
select * from tb_emp where name like '張%';
上述代碼即查找表 tb_emp 中 name 所有以張開頭的數(shù)據(jù)
分組查詢
-
聚合函數(shù)
-
分組查詢
- eg:
select job,count(*) from tb_emp where entrydate <= '2015-01-01' group by job having count(*) >= 2;
上述代碼表示先從表 tb_emp 篩選出 entrydate 小于等于 '2015-01-01' 的數(shù)據(jù), 再對其分組, 對 job 分組, 并且統(tǒng)計每個不同 job 值的總數(shù), 在此基礎(chǔ)上在篩選出 count(*) 大于等于 2 的數(shù)據(jù)
排序查詢

不寫排序方式則默認(rèn)升序, 即asc可以省略不寫
- eg:
select * from tb_emp order by entrydate , update_time desc ;
上述代碼表示要在 tb_emp 表中, 根據(jù) entrydate 進(jìn)行升序排序, 如果 entrydate 相同, 則根據(jù) update_time 進(jìn)行降序排序
分頁查詢

SQL語句流程控制函數(shù)







