MySQL

數(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ù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容