最全MySQL面试题及答案
MySQL經典面試題及答案,每道都是認真篩選出的大廠高頻面試題,助力大家能找到滿意的工作!
下載鏈接:全部MySQL面試題及答案PDF
1.Mysql 服務器默認端口是什么?
Mysql 服務器的默認端口是 3306。
2.與 Oracle 相比,Mysql 有什么優勢?
Mysql 是開源軟件,隨時可用,無需付費。
Mysql 是便攜式的
帶有命令提示符的 GUI
使用 Mysql 查詢瀏覽器支持管理
3.常用的通用 SQL 函數?
- CONCAT(A, B) - 連接兩個字符串值以創建單個字符串輸出。通常用于將兩個或多個字段合并為一個字段。
- FORMAT(X, D)- 格式化數字 X 到 D 有效數字。
- CURRDATE(), CURRTIME()- 返回當前日期或時間。
- NOW() - 將當前日期和時間作為一個值返回。
?MONTH(),DAY(),YEAR(),WEEK(),WEEKDAY() - 從日期值中提取給定數據。 - HOUR(),MINUTE(),SECOND() - 從時間值中提取給定數據。
- DATEDIFF(A,B) - 確定兩個日期之間的差異,通常用于計算年齡
- SUBTIMES(A,B) - 確定兩次之間的差異。
- FROMDAYS(INT) - 將整數天數轉換為日期值。
4.CHAR 和 VARCHAR 的區別?
以下是 CHAR 和 VARCHAR 的區別:
CHAR 和 VARCHAR 類型在存儲和檢索方面有所不同
CHAR 列長度固定為創建表時聲明的長度,長度值范圍是 1 到 255
當 CHAR 值被存儲時,它們被用空格填充到特定長度,檢索 CHAR 值時需刪除尾隨空格。
5.列的字符串類型可以是什么?
字符串類型是:
- SET
- BLOB
- ENUM
- CHAR
- TEXT
- VARCHAR
6.如何獲取當前的 Mysql 版本?
SELECT VERSION();用于獲取當前 Mysql 的版本。
7.Mysql 中使用什么存儲引擎?
存儲引擎稱為表類型,數據使用各種技術存儲在文件中。
技術涉及:
- Storage mechanism
- Locking levels
- Indexing
- Capabilities and functions.
8.我們如何得到受查詢影響的行數?
行數可以通過以下代碼獲得: SELECT COUNT(user_id)FROM users;
9.Mysql 查詢是否區分大小寫?
不區分
SELECT VERSION(), CURRENT_DATE;
SeLect version(), current_date;
seleCt vErSiOn(), current_DATE;
所有這些例子都是一樣的,Mysql 不區分大小寫。
10.主鍵和候選鍵有什么區別?
表格的每一行都由主鍵唯一標識,一個表只有一個主鍵。
主鍵也是候選鍵。按照慣例,候選鍵可以被指定為主鍵,并且可以用于任何外鍵引用。
11.MYSQL 數據表在什么情況下容易損壞?
服務器突然斷電導致數據文件損壞。
強制關機,沒有先關閉 mysql 服務等。
12.mysql 有關權限的表都有哪幾個?
Mysql 服務器通過權限表來控制用戶對數據庫的訪問,權限表存放在 mysql 數據庫里,由mysql_install_db 腳本初始化。
這些權限表分別 user,db,table_priv,columns_priv 和 host。
13.Mysql 中有哪幾種鎖?
MyISAM 支持表鎖,InnoDB 支持表鎖和行鎖,默認為行鎖
表級鎖:開銷小,加鎖快,不會出現死鎖。鎖定粒度大,發生鎖沖突的概率最高,并發量最低
行級鎖:開銷大,加鎖慢,會出現死鎖。鎖力度小,發生鎖沖突的概率小,并發度最高
14.LIKE 和 REGEXP 操作有什么區別?
LIKE 和 REGEXP 運算符用于表示^和%。
SELECT * FROM employee WHERE emp_name REGEXP “^b”;
SELECT * FROM employee WHERE emp_name LIKE “%b”;
15.如何看到為表格定義的所有索引?
索引是通過以下方式為表格定義的: SHOW INDEX FROM ;
16.BLOB 和 TEXT 有什么區別?
BLOB 是一個二進制對象,可以容納可變數量的數據。有四種類型的 BLOB -
- TINYBLOB
- BLOB
- MEDIUMBLOB
- LONGBLOB
它們只能在所能容納價值的最大長度上有所不同。
TEXT 是一個不區分大小寫的 BLOB。四種 TEXT 類型
- TINYTEXT
- TEXT
- MEDIUMTEXT
- LONGTEXT
它們對應于四種 BLOB 類型,并具有相同的最大長度和存儲要求。
BLOB 和 TEXT 類型之間的唯一區別在于對 BLOB 值進行排序和比較時區分大小寫,對TEXT 值不區分大小寫。
17.LIKE 聲明中的%和_是什么意思?
18.如何在 Unix 和 Mysql 時間戳之間進行轉換?
19.我們如何在 mysql 中運行批處理模式?
20.MYSQL 支持事務嗎?
21.mysql_fetch_array 和 mysql_fetch_object 的區別是什么?
22.Mysql 中有哪些不同的表格?
23.Mysql 表中允許有多少個 TRIGGERS?
24.InnoDB 是什么?
25.ISAM 是什么?
26.Mysql 的技術特點是什么?
27.Heap 表是什么?
28.如何顯示前 50 行?
29.如何區分 FLOAT 和 DOUBLE?
30.如何輸入字符為十六進制數字?
31.可以使用多少列創建索引?
32.NOW()和CURRENT_DATE()有什么區別?
33.區分 CHAR_LENGTH 和 LENGTH?
34.什么樣的對象可以使用 CREATE 語句創建?
35.列對比運算符是什么?
36.什么是非標準字符串類型?
37.Mysql 如何優化 DISTINCT?
38.如何控制 HEAP 表的最大尺寸?
39.一張表,里面有 ID 自增主鍵,當 insert 了 17 條記錄之后, 刪除了第 15,16,17 條記錄,再把 Mysql 重啟,再 insert 一條記錄,這條記錄的ID 是 18 還是 15 ?
40.在 Mysql 中 ENUM 的用法是什么?
41.如何定義 REGEXP?
42.MyISAM Static 和 MyISAM Dynamic 有什么區別?
43.federated 表是什么?
44.如果一個表有一列定義為 TIMESTAMP,將發生什么?
45.列設置為 AUTO INCREMENT 時,如果在表中達到最大值,會發生什么情況?
46.怎樣才能找出最后一次插入時分配了哪個自動增量?
全部MySQL面試題及答案已整理好!!!!
下載鏈接:博主已將以上這些面試題整理成了一個面試手冊,是PDF版的
總結
以上是生活随笔為你收集整理的最全MySQL面试题及答案的全部內容,希望文章能夠幫你解決所遇到的問題。