MySQL高頻面試題23道,附答案詳解,收藏!

眼看着就要金九銀十了,有不少小夥伴打算要跳槽一波了,換工作必然面臨着面試的問題。
在面試的過程中,mysql的出場率還是蠻高的,幾乎每家公司多少都會問到一些,對於開發人員來說mysql是必須要掌握的。

今天,小編給大家整理了23道mysql常見面試題及詳解,感興趣可以收藏一波哦~
悄咪咪的告訴你,一定要看到最後,給你準備了福利!

1、Mysql 的技術特點是什麼?
Mysql 數據庫軟件是一個客戶端或服務器系統,其中包括:
支持各種客戶端程序和庫的多線程 SQL 服務器、不同的後端、廣泛的應用程序編程接口和管理工具。

2、如何區分 FLOAT 和 DOUBLE?
浮點數以 8 位精度存儲在 FLOAT 中,並且有四個字節。浮點數存儲在 DOUBLE 中,精度爲 18 位,有八個字節。

3、區分 CHAR_LENGTH 和 LENGTH?
CHAR_LENGTH 是字符數,而 LENGTH 是字節數。
Latin 字符的這兩個數據是相同的,但是對於 Unicode 和其他編碼,它們是不同的。

4、數據表在什麼情況下容易損壞?
服務器突然斷電導致數據文件損壞。強制關機,沒有先關閉 mysql 服務等。

5、如何定義 REGEXP?
REGEXP 是模式匹配,其中匹配模式在搜索值的任何位置。

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

7、列的字符串類型可以是什麼?
SET、BLOB、ENUM、CHAR、TEXT、VARCHAR

8、如何獲取當前的 Mysql 版本?
SELECT VERSION();用於獲取當前 Mysql 的版本。

9、ISAM 是什麼?
ISAM 簡稱爲索引順序訪問方法。它是由 IBM 開發的,用於在磁帶等輔助存儲系統上存儲和檢索數據。

10、主鍵和候選鍵有什麼區別?
表格的每一行都由主鍵唯一標識,一個表只有一個主鍵。主鍵也是候選鍵。按照慣例,候選鍵可以被指定爲主鍵,並且可以用於任何外鍵引用。

11、如何使用 Unix shell 登錄 Mysql?
我們可以通過以下命令登錄:[mysql dir]/bin/mysql -h hostname -u

12、myisamchk 是用來做什麼的?
它用來壓縮 MyISAM 表,這減少了磁盤或內存使用。

13、如何控制 HEAP 表的最大尺寸?
Heal 表的大小可通過稱爲 max_heap_table_size 的 Mysql 配置變量來控制。

14、federated 表是什麼?
federated 表,允許訪問位於其他服務器數據庫上的表。

15、你怎麼看到爲表格定義的所有索引?
索引是通過以下方式爲表格定義的:SHOW INDEX FROM

16、如果一個表有一列定義爲 TIMESTAMP,將發生什麼?
每當行被更改時,時間戳字段將獲取當前時間戳。

17、列設置爲 AUTO INCREMENT 時,如果在表中達到最大值,會發生什麼情況?
它會停止遞增,任何進一步的插入都將產生錯誤,因爲密鑰已被使用。

18、怎樣才能找出最後一次插入時分配了哪個自動增量?
LAST_INSERT_ID 將返回由 Auto_increment 分配的最後一個值,並且不需要指定表名稱。

19、LIKE 聲明中的%和_是什麼意思?
%對應於 0 個或更多字符,_只是 LIKE 語句中的一個字符。

20、我們如何得到受查詢影響的行數?
行數可以通過以下代碼獲得:SELECT COUNT(user_id)FROM users;

21、如何輸入字符爲十六進制數字?
如果想輸入字符爲十六進制數字,可以輸入帶有單引號的十六進制數字和前綴(X),或者只用(Ox)前綴輸入十六進制數字。
如果表達式上下文是字符串,則十六進制數字串將自動轉換爲字符串。

22、如何顯示前 50 行?
在 Mysql 中,使用以下代碼查詢顯示前 50 行:
`SELECT*FROM
LIMIT 0,50;`

23、Mysql 中有哪幾種鎖?
MyISAM 支持表鎖,InnoDB 支持表鎖和行鎖,默認爲行鎖
表級鎖:開銷小,加鎖快,不會出現死鎖。鎖定粒度大,發生鎖衝突的概率最高,併發量最低
行級鎖:開銷大,加鎖慢,會出現死鎖。鎖力度小,發生鎖衝突的概率小,併發度最高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章