MySQL面試題集錦,據說國內外知名互聯網公司都在用!

在今年上半年的數據庫使用狀況調查中,筆者收集了眾多國內外知名互聯網公司的數據庫使用情況,其中,國外GitHub、Airbnb、Yelp、Coursera均在使用MySQL數據庫,國內阿里巴巴、去哪兒網、騰訊、魅族、京東的部分關鍵業務同樣使用了MySQL數據庫。同時,MySQL也是眾多數據庫排行榜單的第一名,這個開發者和一線互聯網企業都在用的開源數據庫,你瞭解多少?這份MySQL自測卷,你會多少呢?

在今年上半年的數據庫使用狀況調查中,筆者收集了眾多國內外知名互聯網公司的數據庫使用情況,其中,國外GitHub、Airbnb、Yelp、Coursera均在使用MySQL數據庫,國內阿里巴巴、去哪兒網、騰訊、魅族、京東的部分關鍵業務同樣使用了MySQL數據庫。同時,MySQL也是眾多數據庫排行榜單的第一名,這個開發者和一線互聯網企業都在用的開源數據庫,你瞭解多少?這份MySQL自測卷,你會多少呢?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

1、一張表,裡面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?

在今年上半年的數據庫使用狀況調查中,筆者收集了眾多國內外知名互聯網公司的數據庫使用情況,其中,國外GitHub、Airbnb、Yelp、Coursera均在使用MySQL數據庫,國內阿里巴巴、去哪兒網、騰訊、魅族、京東的部分關鍵業務同樣使用了MySQL數據庫。同時,MySQL也是眾多數據庫排行榜單的第一名,這個開發者和一線互聯網企業都在用的開源數據庫,你瞭解多少?這份MySQL自測卷,你會多少呢?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

1、一張表,裡面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

2、MySQL的技術特點是什麼?

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

3、Heap表是什麼?

HEAP表存在於內存中,用於臨時高速存儲。

  • BLOB或TEXT字段是不允許的

  • 只能使用比較運算符=,<,>,=>,= <

  • HEAP表不支持AUTO_INCREMENT

  • 索引不可為NULL

4、MySQL服務器默認端口是什麼?

MySQL服務器的默認端口是3306。

5、與Oracle相比,MySQL有什麼優勢?

  • MySQL是開源軟件,隨時可用,無需付費。

  • MySQL是便攜式的

  • 帶有命令提示符的GUI。

  • 使用MySQL查詢瀏覽器支持管理

6、如何區分FLOAT和DOUBLE?

以下是FLOAT和DOUBLE的區別:

  • 浮點數以8位精度存儲在FLOAT中,並且有四個字節。

  • 浮點數存儲在DOUBLE中,精度為18位,有八個字節。

7、區分CHAR_LENGTH和LENGTH?

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

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

SQL標準定義的四個隔離級別為:

  • read uncommited :讀到未提交數據

  • read committed:髒讀,不可重複讀

  • repeatable read:可重讀

  • serializable :串行事物

在今年上半年的數據庫使用狀況調查中,筆者收集了眾多國內外知名互聯網公司的數據庫使用情況,其中,國外GitHub、Airbnb、Yelp、Coursera均在使用MySQL數據庫,國內阿里巴巴、去哪兒網、騰訊、魅族、京東的部分關鍵業務同樣使用了MySQL數據庫。同時,MySQL也是眾多數據庫排行榜單的第一名,這個開發者和一線互聯網企業都在用的開源數據庫,你瞭解多少?這份MySQL自測卷,你會多少呢?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

1、一張表,裡面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

2、MySQL的技術特點是什麼?

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

3、Heap表是什麼?

HEAP表存在於內存中,用於臨時高速存儲。

  • BLOB或TEXT字段是不允許的

  • 只能使用比較運算符=,<,>,=>,= <

  • HEAP表不支持AUTO_INCREMENT

  • 索引不可為NULL

4、MySQL服務器默認端口是什麼?

MySQL服務器的默認端口是3306。

5、與Oracle相比,MySQL有什麼優勢?

  • MySQL是開源軟件,隨時可用,無需付費。

  • MySQL是便攜式的

  • 帶有命令提示符的GUI。

  • 使用MySQL查詢瀏覽器支持管理

6、如何區分FLOAT和DOUBLE?

以下是FLOAT和DOUBLE的區別:

  • 浮點數以8位精度存儲在FLOAT中,並且有四個字節。

  • 浮點數存儲在DOUBLE中,精度為18位,有八個字節。

7、區分CHAR_LENGTH和LENGTH?

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

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

SQL標準定義的四個隔離級別為:

  • read uncommited :讀到未提交數據

  • read committed:髒讀,不可重複讀

  • repeatable read:可重讀

  • serializable :串行事物

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

在今年上半年的數據庫使用狀況調查中,筆者收集了眾多國內外知名互聯網公司的數據庫使用情況,其中,國外GitHub、Airbnb、Yelp、Coursera均在使用MySQL數據庫,國內阿里巴巴、去哪兒網、騰訊、魅族、京東的部分關鍵業務同樣使用了MySQL數據庫。同時,MySQL也是眾多數據庫排行榜單的第一名,這個開發者和一線互聯網企業都在用的開源數據庫,你瞭解多少?這份MySQL自測卷,你會多少呢?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

1、一張表,裡面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

2、MySQL的技術特點是什麼?

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

3、Heap表是什麼?

HEAP表存在於內存中,用於臨時高速存儲。

  • BLOB或TEXT字段是不允許的

  • 只能使用比較運算符=,<,>,=>,= <

  • HEAP表不支持AUTO_INCREMENT

  • 索引不可為NULL

4、MySQL服務器默認端口是什麼?

MySQL服務器的默認端口是3306。

5、與Oracle相比,MySQL有什麼優勢?

  • MySQL是開源軟件,隨時可用,無需付費。

  • MySQL是便攜式的

  • 帶有命令提示符的GUI。

  • 使用MySQL查詢瀏覽器支持管理

6、如何區分FLOAT和DOUBLE?

以下是FLOAT和DOUBLE的區別:

  • 浮點數以8位精度存儲在FLOAT中,並且有四個字節。

  • 浮點數存儲在DOUBLE中,精度為18位,有八個字節。

7、區分CHAR_LENGTH和LENGTH?

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

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

SQL標準定義的四個隔離級別為:

  • read uncommited :讀到未提交數據

  • read committed:髒讀,不可重複讀

  • repeatable read:可重讀

  • serializable :串行事物

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

9、在MySQL中ENUM的用法是什麼?

ENUM是一個字符串對象,用於指定一組預定義的值,並可在創建表時使用。

Create table size(name ENUM('Smail,'Medium','Large');

10、如何定義REGEXP?

REGEXP是模式匹配,其中匹配模式在搜索值的任何位置。

11、CHAR和VARCHAR的區別?

以下是CHAR和VARCHAR的區別:

  • CHAR和VARCHAR類型在存儲和檢索方面有所不同

  • CHAR列長度固定為創建表時聲明的長度,長度值範圍是1到255

當CHAR值被存儲時,它們被用空格填充到特定長度,檢索CHAR值時需刪除尾隨空格。

12、列的字符串類型可以是什麼?

字符串類型是:

  • SET

  • BLOB

  • ENUM

  • CHAR

  • TEXT

  • VARCHAR

13、如何獲取當前的MySQL版本?

SELECT VERSION();用於獲取當前MySQL的版本。

14、MySQL中使用什麼存儲引擎?

存儲引擎稱為表類型,數據使用各種技術存儲在文件中。

技術涉及:

  • Storage mechanism

  • Locking levels

  • Indexing

  • Capabilities and functions.

15、MySQL驅動程序是什麼?

以下是MySQL中可用的驅動程序:

  • PHP驅動程序

  • JDBC驅動程序

  • ODBC驅動程序

  • CWRAPPER

  • PYTHON驅動程序

  • PERL驅動程序

  • RUBY驅動程序

  • CAP11PHP驅動程序

  • Ado.net5.mxj

16、TIMESTAMP在UPDATE CURRENT_TIMESTAMP數據類型上做什麼?

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

17、主鍵和候選鍵有什麼區別?

表格的每一行都由主鍵唯一標識,一個表只有一個主鍵。

主鍵也是候選鍵。按照慣例,候選鍵可以被指定為主鍵,並且可以用於任何外鍵引用。

18、如何使用Unix shell登錄MySql?

我們可以通過以下命令登錄:

# [mysql dir]/bin/mysql -h hostname -u <UserName> -p <password>

19、 myisamchk是用來做什麼的?

它用來壓縮MyISAM表,這減少了磁盤或內存使用。

20、MYSQL數據庫服務器性能分析的方法命令有哪些?

在今年上半年的數據庫使用狀況調查中,筆者收集了眾多國內外知名互聯網公司的數據庫使用情況,其中,國外GitHub、Airbnb、Yelp、Coursera均在使用MySQL數據庫,國內阿里巴巴、去哪兒網、騰訊、魅族、京東的部分關鍵業務同樣使用了MySQL數據庫。同時,MySQL也是眾多數據庫排行榜單的第一名,這個開發者和一線互聯網企業都在用的開源數據庫,你瞭解多少?這份MySQL自測卷,你會多少呢?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

1、一張表,裡面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

2、MySQL的技術特點是什麼?

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

3、Heap表是什麼?

HEAP表存在於內存中,用於臨時高速存儲。

  • BLOB或TEXT字段是不允許的

  • 只能使用比較運算符=,<,>,=>,= <

  • HEAP表不支持AUTO_INCREMENT

  • 索引不可為NULL

4、MySQL服務器默認端口是什麼?

MySQL服務器的默認端口是3306。

5、與Oracle相比,MySQL有什麼優勢?

  • MySQL是開源軟件,隨時可用,無需付費。

  • MySQL是便攜式的

  • 帶有命令提示符的GUI。

  • 使用MySQL查詢瀏覽器支持管理

6、如何區分FLOAT和DOUBLE?

以下是FLOAT和DOUBLE的區別:

  • 浮點數以8位精度存儲在FLOAT中,並且有四個字節。

  • 浮點數存儲在DOUBLE中,精度為18位,有八個字節。

7、區分CHAR_LENGTH和LENGTH?

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

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

SQL標準定義的四個隔離級別為:

  • read uncommited :讀到未提交數據

  • read committed:髒讀,不可重複讀

  • repeatable read:可重讀

  • serializable :串行事物

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

9、在MySQL中ENUM的用法是什麼?

ENUM是一個字符串對象,用於指定一組預定義的值,並可在創建表時使用。

Create table size(name ENUM('Smail,'Medium','Large');

10、如何定義REGEXP?

REGEXP是模式匹配,其中匹配模式在搜索值的任何位置。

11、CHAR和VARCHAR的區別?

以下是CHAR和VARCHAR的區別:

  • CHAR和VARCHAR類型在存儲和檢索方面有所不同

  • CHAR列長度固定為創建表時聲明的長度,長度值範圍是1到255

當CHAR值被存儲時,它們被用空格填充到特定長度,檢索CHAR值時需刪除尾隨空格。

12、列的字符串類型可以是什麼?

字符串類型是:

  • SET

  • BLOB

  • ENUM

  • CHAR

  • TEXT

  • VARCHAR

13、如何獲取當前的MySQL版本?

SELECT VERSION();用於獲取當前MySQL的版本。

14、MySQL中使用什麼存儲引擎?

存儲引擎稱為表類型,數據使用各種技術存儲在文件中。

技術涉及:

  • Storage mechanism

  • Locking levels

  • Indexing

  • Capabilities and functions.

15、MySQL驅動程序是什麼?

以下是MySQL中可用的驅動程序:

  • PHP驅動程序

  • JDBC驅動程序

  • ODBC驅動程序

  • CWRAPPER

  • PYTHON驅動程序

  • PERL驅動程序

  • RUBY驅動程序

  • CAP11PHP驅動程序

  • Ado.net5.mxj

16、TIMESTAMP在UPDATE CURRENT_TIMESTAMP數據類型上做什麼?

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

17、主鍵和候選鍵有什麼區別?

表格的每一行都由主鍵唯一標識,一個表只有一個主鍵。

主鍵也是候選鍵。按照慣例,候選鍵可以被指定為主鍵,並且可以用於任何外鍵引用。

18、如何使用Unix shell登錄MySql?

我們可以通過以下命令登錄:

# [mysql dir]/bin/mysql -h hostname -u <UserName> -p <password>

19、 myisamchk是用來做什麼的?

它用來壓縮MyISAM表,這減少了磁盤或內存使用。

20、MYSQL數據庫服務器性能分析的方法命令有哪些?

MySQL面試題集錦,據說國內外知名互聯網公司都在用!

21、如何控制HEAP表的最大尺寸?

Heal表的大小可通過稱為max_heap_table_size的MySQL配置變量來控制。

22、MyISAM Static和MyISAM Dynamic有什麼區別?

在MyISAM Static上的所有字段有固定寬度。動態MyISAM表將具有像TEXT,BLOB等字段,以適應不同長度的數據類型。

MyISAM Static在受損情況下更容易恢復。

23、federated表是什麼?

federated表,允許訪問位於其他服務器數據庫上的表。

24、如果一個表有一列定義為TIMESTAMP,將發生什麼?

每當行被更改時,時間戳字段將獲取當前時間戳。

25、列設置為AUTO INCREMENT時,如果在表中達到最大值,會發生什麼情況?

它會停止遞增,任何進一步的插入都將產生錯誤,因為密鑰已被使用。

26、怎樣才能找出最後一次插入時分配了哪個自動增量?

LAST_INSERT_ID將返回由Auto_increment分配的最後一個值,並且不需要指定表名稱。

27、你怎麼看到為表格定義的所有索引?

索引是通過以下方式為表格定義的:

SHOW INDEX FROM <tablename>;

28.、LIKE聲明中的%和_是什麼意思?

%對應於0個或更多字符,_只是LIKE語句中的一個字符。

29、如何在Unix和MySQL時間戳之間進行轉換?

  • UNIX_TIMESTAMP是從MySQL時間戳轉換為Unix時間戳的命令

  • FROM_UNIXTIME是從Unix時間戳轉換為MySQL時間戳的命令

30、列對比運算符是什麼?

在SELECT語句的列比較中使用=,<>,<=,<,> =,>,<<,>>,<=>,AND,OR或LIKE運算符。

31、我們如何得到受查詢影響的行數?

行數可以通過以下代碼獲得:

SELECT COUNT(user_id)FROM users;

32、Mysql查詢是否區分大小寫?

不區分

SELECT VERSION(), CURRENT_DATE;

SeLect version(), current_date;

seleCt vErSiOn(), current_DATE;

所有這些例子都是一樣的,MySQL不區分大小寫。

33.、LIKE和REGEXP操作有什麼區別?

LIKE和REGEXP運算符用於表示^和%。

1

2

SELECT * FROM employee WHERE emp_name REGEXP "^b";

SELECT * FROM employee WHERE emp_name LIKE "%b";

34.、BLOB和TEXT有什麼區別?

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

  • TINYBLOB

  • BLOB

  • MEDIUMBLOB和

  • LONGBLOB

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

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

  • TINYTEXT

  • TEXT

  • MEDIUMTEXT和

  • LONGTEXT

它們對應於四種BLOB類型,並具有相同的最大長度和存儲要求。

BLOB和TEXT類型之間的唯一區別在於對BLOB值進行排序和比較時區分大小寫,對TEXT值不區分大小寫。

35、mysql_fetch_array和mysql_fetch_object的區別是什麼?

以下是mysql_fetch_array和mysql_fetch_object的區別:

mysql_fetch_array() - 將結果行作為關聯數組或來自數據庫的常規數組返回。

mysql_fetch_object - 從數據庫返回結果行作為對象。

36、我們如何在mysql中運行批處理模式?

以下命令用於在批處理模式下運行:

mysql;

mysql mysql.out

37、MyISAM表格將在哪裡存儲,並且還提供其存儲格式?

每個MyISAM表格以三種格式存儲在磁盤上:

·“.frm”文件存儲表定義

·數據文件具有“.MYD”(MYData)擴展名

索引文件具有“.MYI”(MYIndex)擴展名

38.、MySQL中有哪些不同的表格?

共有5種類型的表格:

  • MyISAM

  • Heap

  • Merge

  • INNODB

  • ISAM

MyISAM是MySQL的默認存儲引擎。

39、ISAM是什麼?

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

40、InnoDB是什麼?

lnnoDB是一個由Oracle公司開發的Innobase Oy事務安全存儲引擎。

41、MySQL如何優化DISTINCT?

DISTINCT在所有列上轉換為GROUP BY,並與ORDER BY子句結合使用。

1

SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;

42、如何輸入字符為十六進制數字?

如果想輸入字符為十六進制數字,可以輸入帶有單引號的十六進制數字和前綴(X),或者只用(Ox)前綴輸入十六進制數字。

如果表達式上下文是字符串,則十六進制數字串將自動轉換為字符串。

43、如何顯示前50行?

在MySql中,使用以下代碼查詢顯示前50行:

SELECT*FROM

LIMIT 0,50;

44、可以使用多少列創建索引?

任何標準表最多可以創建16個索引列。

45、NOW()和CURRENT_DATE()有什麼區別?

NOW()命令用於顯示當前年份,月份,日期,小時,分鐘和秒。

CURRENT_DATE()僅顯示當前年份,月份和日期。

46、什麼樣的對象可以使用CREATE語句創建?

以下對象是使用CREATE語句創建的:

  • DATABASE

  • EVENT

  • FUNCTION

  • INDEX

  • PROCEDURE

  • TABLE

  • TRIGGER

  • USER

  • VIEW

47.、MySql表中允許有多少個TRIGGERS?

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

  • BEFORE INSERT

  • AFTER INSERT

  • BEFORE UPDATE

  • AFTER UPDATE

  • BEFORE DELETE and

  • AFTER DELETE

48、什麼是非標準字符串類型?

以下是非標準字符串類型:

  • TINYTEXT

  • TEXT

  • MEDIUMTEXT

  • LONGTEXT

49、什麼是通用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) - 將整數天數轉換為日期值。

50、解釋訪問控制列表

ACL(訪問控制列表)是與對象關聯的權限列表。這個列表是MySQL服務器安全模型的基礎,它有助於排除用戶無法連接的問題。

MySQL將ACL(也稱為授權表)緩存在內存中。當用戶嘗試認證或運行命令時,MySQL會按照預定的順序檢查ACL的認證信息和權限。

相關推薦

推薦中...