日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

現在JAVA開發人員一般都需要會主流數據庫。開發人員需要對MySQL、Oracle、SqlServer這三個常用的熟悉了解。本次著重分享Mysql數據庫的知識點,感興趣的同學可以先收藏,再觀看!

如果需要Oracle、SqlServer數據庫知識點的分享,可以在文章底部留言告訴我。

文章目錄:

  1. 請簡潔描述 MySQL 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?
  2. 在 MySQL 中 ENUM 的用法是什么?
  3. CHAR 和 VARCHAR 的區別?
  4. 列的字符串類型可以是什么?
  5. MySQL 中使用什么存儲引擎?
  6. TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 數據類型上做什么?
  7. 主鍵和候選鍵有什么區別?
  8. MySQL 數據庫服務器性能分析的方法命令有哪些?
  9. LIKE 和 REGEXP 操作有什么區別?
  10. BLOB 和 TEXT 有什么區別?
  11. 數據庫的三范式?
  12. MySQL 表中允許有多少個 TRIGGERS?
  13. 什么是通用 SQL 函數?
  14. MySQL 中有哪幾種鎖?
  15. MySQL 數據優化。

1. 請簡潔描述 MySQL 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?

SQL 標準定義的四個隔離級別為: read uncommited :讀到未提交數據 read committed:臟讀,不可重復讀 repeatable read:可重讀 serializable :串行事物

2. 在 MySQL 中 ENUM 的用法是什么?

ENUM 是一個字符串對象,用于指定一組預定義的值,并可在創建表時使用。 SQL 語法如下: Create table size(name ENUM('Smail,'Medium','Large');

3. CHAR 和 VARCHAR 的區別?

CHAR 和 VARCHAR 類型在存儲和檢索方面有所不同。 CHAR 列長度固定為創建表時聲明的長度,長度值范圍是 1 到 255。 當 CHAR 值被存儲時,它們被用空格填充到特定長度,檢索 CHAR 值時需刪除尾隨 空格。

4. 列的字符串類型可以是什么?

字符串類型是: SET BLOB ENUM CHAR TEXT VARCHAR

5. MySQL 中使用什么存儲引擎?

存儲引擎稱為表類型,數據使用各種技術存儲在文件中。 技術涉及: Storage mechanism Locking levels Indexing Capabilities and functions.

6. TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 數據類型上做什么?

創建表時 TIMESTAMP 列用 Zero 更新。只要表中的其他字段發生更改,UPDATE CURRENT_TIMESTAMP 修飾符就將時間戳字段更新為當前時間。

7. 主鍵和候選鍵有什么區別?

表格的每一行都由主鍵唯一標識, 一個表只有一個主鍵。 主鍵也是候選鍵。按照慣例,候選鍵可以被指定為主鍵,并且可以用于任何外鍵引 用。

8. MySQL 數據庫服務器性能分析的方法命令有哪些?

Show status 一些值得監控的變量值: Bytesreceived 和 Bytessent 和服務器之間 來往的流量。 Com 服務器正在執行的命令。 Created 在查詢執行期限間創建的臨時 表和文件。 Handler 存儲引擎操作。 Select 不同類型的聯接執行計劃。 Sort_* 幾 種排序信息。 Show session status like ‘Select’; Show profiles SET profiling=1; Show profilesG Show profile;

9. LIKE 和 REGEXP 操作有什么區別?

LIKE 和 REGEXP 運算符用于表示 ^ 和%。 SELECT * FROM WHERE * REGEXP "^b"; SELECT * FROM WHERE * LIKE "%b";

10. BLOB 和 TEXT 有什么區別?

BLOB

BLOB 是一個二進制對象,可以容納可變數量的數據。有四種類型的 BLOB:

  • TINYBLOB
  • BLOB
  • MEDIUMBLOB
  • LONGBLOB

它們只能在所能容納價值的最大長度上有所不同。

TEXT

TEXT 是一個不區分大小寫的 BLOB。四種 TEXT 類型:

  • TINYTEXT
  • TEXT
  • MEDIUMTEXT
  • LONGTEXT

它們對應于四種 BLOB 類型,并具有相同的最大長度和存儲要求。 BLOB 和 TEXT 類型之間的唯一區別在于對 BLOB 值進行排序和比較時區分大小 寫,對 TEXT 值不區分大小寫。

11. 數據庫的三范式?

第一范式:數據庫表的每一個字段都是不可分割的。

第二范式:數據庫表中的非主屬性只依賴于主鍵。

第三范式:不存在非主屬性對關鍵字的傳遞函數依賴關系。

12. MySQL 表中允許有多少個 TRIGGERS?

在 MySQL 表中允許有六個觸發器,如下:

  • BEFORE INSERT
  • AFTER INSERT
  • BEFORE UPDATE
  • AFTER UPDATE
  • BEFORE DELETE
  • AFTER DELETE

13. 什么是通用 SQL 函數?

數學函數

  • Abs(num)求絕對值
  • floor(num)向下取整
  • ceil(num)向上取整

字符串函數

  • insert (s1,index,length,s2) 替換函數
  1. S1 表示被替換的字符串
  2. S2 表示將要替換的字符串
  3. Index 表示被替換的位置, 從 1 開始
  4. Lebgth 表示被替換的長度
  • upper(str),ucase(str)將字母改為大寫
  • lower(str),lcase(str)將字母改為小寫
  • left(str,length)返回 str 字符串的前 length 個字符
  • right(str,length)返回 str 字符串的后 length 個字符
  • substring(str,index,length)返回 str 字符串從 index 位開始長度為 length 個字符(index 從 1 開始)
  • reverse(str)將 str 字符串倒序輸出

日期函數

  • curdate()、current_date( ) 獲取當前日期
  • curtime()、current_time( ) 獲取當前日期
  • now()獲取當前日期和時間
  • datediff(d1、d2)d1 和 d2 之間的天數差
  • adddate(date,num)返回 date 日期開始,之后 num 天的日期
  • subdate(date,num)返回 date 日期開始,之前 num 天的日期

聚合函數

  • Count(字段)根據某個字段統計總記錄數(當前數據庫保存到多少條數據)
  • sum(字段)計算某個字段的數值總和
  • avg(字段)計算某個字段的數值的平均值
  • Max(字段)、min(字段)求某個字段最大或最小值

14. MySQL 中有哪幾種鎖?

MyISAM 支持表鎖,InnoDB 支持表鎖和行鎖,默認為行鎖。

表級鎖:開銷小,加鎖快,不會出現死鎖。鎖定粒度大,發生鎖沖突的概率最高,并 發量最低。

行級鎖:開銷大,加鎖慢,會出現死鎖。鎖力度小,發生鎖沖突的概率小,并發度最 高。

15. MySQL 數據優化。

  • 優化數據類型
  1. 避免使用 NULL,NULL 需要特殊處理, 大多數時候應該使用 NOT NULL,或者使用一個特殊的值,如 0,-1 作為默認值。
  2. 僅可能使用更小的字段,MySQL 從磁盤讀取數據后是存儲到內存中 的,然后使用 cpu 周期和磁盤 I/O 讀取它,這意味著越小的數據類 型占用的空間越小.
  • 小心字符集轉換
  1. 客戶端或應用程序使用的字符集可能和表本身的字符集不一樣,這需要 MySQL 在運行過程中隱含地進行轉換,此外,要確定字符集如 UTF8 是否支持多字節字符,因此它們需要更多的存儲空間。
  • _優化 count(mycol) 和 count()*
  • 優化子查詢
  1. 遇到子查詢時,MySQL 查詢優化引擎并不是總是最有效的,這就是為 什么經常將子查詢轉換為連接查詢的原因了,優化器已經能夠正確處理 連接查詢了,當然要注意的一點是,確保連接表 (第二個表) 的連接列 是有索引的,在第一個表上 MySQL 通常會相對于第二個表的查詢子 集進行一次全表掃描,這是嵌套循環算法的一部分。
  • 優化 UNION
  1. 在跨多個不同的數據庫時使用 UNION 是一個有趣的優化方法, UNION 從兩個互不關聯的表中返回數據,這就意味著不會出現重復的 行,同時也必須對數據進行排序,我們知道排序是非常耗費資源的,特 別是對大表的排序。
  2. UNION ALL 可以大大加快速度,如果你已經知道你的數據不會包括重 復行,或者你不在乎是否會出現重復的行,在這兩種情況下使用 UNION ALL 更適合。此外,還可以在應用程序邏輯中采用某些方法避 免出現重復的行,這樣 UNION ALL 和 UNION 返回的結果都是一樣 的,但 UNION ALL 不會進行排序。

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定