日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL数据库重点概要总结

發(fā)布時間:2023/12/20 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL数据库重点概要总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  • 目錄
  • 前言:
    • 1、結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL。
    • 2、基本SELECT語句語法
    • 3、多表鏈接
    • 4、笛卡爾積
    • 5、ANSI SQL ANSI SQL:1999標(biāo)準(zhǔn)的連接語法
    • 6、單行函數(shù)和分組函數(shù)的區(qū)別:
    • 7、分組函數(shù)
    • 8、SQL語句的執(zhí)行順序:
    • 9、子查詢:
    • 10、Data Manipulation Language ,簡稱DML,主要用來實現(xiàn)對 數(shù)據(jù)庫表中的數(shù)據(jù)進(jìn)行操作
    • 11、多行子查詢
    • 總結(jié):

目錄

前言:

最近由于工作需要,把數(shù)據(jù)庫的知識復(fù)習(xí)了一遍。以下是自己總結(jié)的一些個人認(rèn)為比較重要的知識點(有些是個人不太熟的知識點就記下來當(dāng)筆記吧),如有不足或錯誤,請大家及時指出。

1、結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL。

2、基本SELECT語句語法

SELECT [DISTINCT]{ |column|expression [alias],...} FROM table;

3、多表鏈接

連接是在多個表之間通過 定的連接條件 連接是在多個表之間通過一定的連接條件,使表之間發(fā)生關(guān)聯(lián),進(jìn)而能從多個表之間獲取數(shù)據(jù)

  • N個表相連時,至少需要N-1個連接條件

4、笛卡爾積

第一個表中的所有行和第二個表中的所有行都發(fā)生連接。

笛卡爾積的寫法

SQL> SELECT emp.empno, emp.ename, emp.deptno, 2 dept.deptno, dept.loc 3 FROM emp, d t ep ;

5、ANSI SQL ANSI SQL:1999標(biāo)準(zhǔn)的連接語法

SELECT table1.column, table2.column FROM table1 [CROSS JOIN table2] | [NATURAL JOIN table2] | [JOIN table2 USING ( USING (column name column_name)] | [JOIN table2 ON(table1.column_name = table2.column_name)] | [LEFT|RIGHT|FULL OUTER JOIN [LEFT|RIGHT|FULL OUTER JOIN table2 ON (table1.column_name = table2.column_name)];

6、單行函數(shù)和分組函數(shù)的區(qū)別:

7、分組函數(shù)

– 分組函數(shù)是對表中一組記錄進(jìn)行操作,每組只返回一個結(jié)果,即首先要對表記錄進(jìn)行分組,然后再進(jìn)行操作匯總, 每組返回一個結(jié)果,分組時可能是整個表分為一組,也可能根據(jù)條件分成多組。

  • 分組函數(shù)常用到以下五個函數(shù):

? MIN
? MAX
? SUM
? AVG
? COUNT

  • 常用的語法格式:
SELECT [column,] group_function(column) FROM tab el [WHERE condition] [GROUP BY column] [HAVING group_function(column)expression [ORDER BY column| group_function(column)expression];
  • 一些錯誤案例:

8、SQL語句的執(zhí)行順序:

  • SELECT語句執(zhí)行過程:

– 1.通過FROM子句中找到需要查詢的表 子句中找到需要查詢的表;
– 2.通過WHERE子句進(jìn)行非分組函數(shù)篩選判斷;
– 3.通過GROUP BY子句完成分組操作;
– 4.通過HAVING子句完成組函數(shù)篩選判斷;
– 5.通過SELECT子句選擇顯示的列或表達(dá)式及組函數(shù);
– 6.通過ORDER BY子句進(jìn)行排序操作。

  • 案例



9、子查詢:

子查詢語法:

SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table);

? 括號內(nèi)的查詢叫做子查詢,也叫內(nèi)部查詢,先于主查詢執(zhí)行
? 子查詢的結(jié)果被主查詢(外部查詢)使用
? expr operator包括比較運(yùn)算符。
單行運(yùn)算符:>、=、>=、<、<>、<=
多行運(yùn)算符: IN、ANY、ALL
? 子查詢可以嵌于以下SQL子句中:
–WHERE子句
–HAVING子句
–FROM子句


? 子查詢使用指導(dǎo)
–子查詢要用括號括起來
–將子查詢放在比較運(yùn)算符的右邊
–對于單行子查詢要使用單行運(yùn)算符 (單行子查詢是針對子查詢的返回值只有一個)
–對于多行查詢要使用多行運(yùn)算符

錯誤案例(子查詢中使用分組函數(shù)返回多個結(jié)果):

10、Data Manipulation Language ,簡稱DML,主要用來實現(xiàn)對 數(shù)據(jù)庫表中的數(shù)據(jù)進(jìn)行操作

  • 索引( INDEX ):

– 是對數(shù)據(jù)庫表中一個或多個列的值進(jìn)行排序的一種數(shù)據(jù)庫對象
– 在數(shù)據(jù)庫中,通過索引可以加速對表的查詢速度;

索引缺點
? 占用空間;
? 降低DML的操作速度;

適合創(chuàng)建索引情況
? 表數(shù)據(jù)量很大
? 要查詢的結(jié)果集在2%-4%左右
? 經(jīng)常用來做WHERE條件中的列或者多表連接的列
? 查詢列的數(shù)據(jù)范圍分布很廣
? 查詢列中包含大量的NULL值,因為空值不包含在索引中

不適合創(chuàng)建索引情況
? 數(shù)據(jù)量很小的表
? 在查詢中不常用來作為查詢條件的列
? 頻繁更新的表
? 索引列作為表達(dá)式的一部分被使用時,比如常查詢的條件是SALARY*12 SALARY*12,此時在SALARY列上創(chuàng)建索引是沒有效果的
? 查詢條件中有單行函數(shù)時,用不上索引。

11、多行子查詢

–子查詢返回記錄的條數(shù) 可以是一條或多條。
–和多行子查詢進(jìn)行比較時,需要使用多行操作符,多行操作符包括:
? IN
? ANY
? ALL
–IN操作符和以前介紹的功能一致,判斷是否與子查詢 的任意一個返回值相同。(單行子查詢操作符不能接子查詢中含有分組函數(shù)執(zhí)行語句的情況)

ANY的使用
– ANY:表示和子查詢的任意一行結(jié)果進(jìn)行比較,有一個滿足 條件即可。
? < ANY:表示小于子查詢結(jié)果集中的任意 表示小于子查詢結(jié)果集中的任意一個 ,即小于最 大值就可以。
? > ANY:表示大于子查詢結(jié)果集 個 中的任意一 ,即大于最小值就可以。
? = ANY:表示等于子查詢結(jié)果中的任意一個,即等于誰都 可以,相當(dāng)于IN。

? ALL的使用
– ALL:表示和子查詢的所有行結(jié)果進(jìn)行比較,每一行必須都 滿足條件。
? < ALL:表示小于子查詢結(jié)果集中的所有行 表示小于子查詢結(jié)果集中的所有行,即小于最小 值。
? > ALL:表示大于子查詢結(jié)果集 行 中的所有 ,即大于最大 值。
? = ALL :表示等于子查詢結(jié)果集中的所有行,即等于所有值,通常無意義。

總結(jié):

SQL這塊需要掌握以下這些知識點:

  • 掌握單表查詢、多表查詢、分組、子查詢等查詢方法,能寫出相對復(fù)雜的查詢語句,重點中的重點
  • 掌握Oracle數(shù)據(jù)庫常用的單行函數(shù)及分組函數(shù)。
  • 掌握插入數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)語句。
    總結(jié)成一句話就是能夠利用SQL進(jìn)行數(shù)據(jù)分析就OK了。
    除此之外還需要了解一些相關(guān)的數(shù)據(jù)庫概念。這里就不一一列舉了。如果各位網(wǎng)友看完之后想練下手,(含有各種版本數(shù)據(jù)庫的建表數(shù)據(jù)和對應(yīng)的案例練習(xí)題以及答案)
    請參考:https://blog.csdn.net/qq_16633405/article/details/78483269

總結(jié)

以上是生活随笔為你收集整理的MySQL数据库重点概要总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。