新聞中心
在面試中經(jīng)常被問(wèn)到的 MySQL 題目,本文總結(jié)了面試中的經(jīng)典問(wèn)題。

1.主鍵(primary key)和候選鍵(candidate key)有什么區(qū)別?
候選鍵 – 候選鍵可以是任何列或可以作為數(shù)據(jù)庫(kù)中唯一鍵的列組合。一張表中可以有多個(gè)候選鍵。每個(gè)候選鍵都可以作為主鍵。
主鍵 – 主鍵是唯一標(biāo)識(shí)記錄的列或列組合。只有一個(gè)候選鍵可以是主鍵。
2. NOW() 和 CURRENT_DATE() 有什么區(qū)別?
NOW () 命令用于以小時(shí)、分鐘和秒顯示當(dāng)前年、月、日。
CURRENT_DATE() 僅顯示當(dāng)前年、月和日期。
3. MySQL 表中允許多少個(gè)觸發(fā)器?
以下是 MySQL 表中允許的觸發(fā)器。
- 插入前
- 插入后
- 更新前
- 更新后
- 刪除前
- 刪除后
4.我們可以為索引創(chuàng)建多少列?
16
5. 如何將數(shù)據(jù)從一張表復(fù)制到另一張表?
NSERT INTO table2 (id,uid,changed,status,assign_status) SELECT id,uid,now(),’Pending’,’Assigned’ FROM table1
6.如何在不復(fù)制數(shù)據(jù)的情況下復(fù)制表?
CREATE TABLE users_bck SELECT * FROM users WHERE 1=0;
7.什么是 MySQL?
MySQL 是一個(gè)免費(fèi)提供的開(kāi)源關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) (RDBMS),它使用結(jié)構(gòu)化查詢語(yǔ)言 (SQL)。
SQL 是用于在數(shù)據(jù)庫(kù)中添加、訪問(wèn)和管理內(nèi)容的最流行的語(yǔ)言。它以其快速處理、久經(jīng)考驗(yàn)的可靠性、易用性和使用靈活性而著稱。MySQL 是幾乎每個(gè)開(kāi)源 PHP 應(yīng)用程序的重要組成部分?;?PHP 和 MySQL 的腳本的好例子是 WordPress、Joomla、Magento 和 Drupal。
8.列出MySQL的特點(diǎn)?
關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS):MySQL 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。
- 易于使用:MySQL 易于使用。您只需掌握 SQL 的基本知識(shí)。只需幾個(gè)簡(jiǎn)單的 SQL 語(yǔ)句,您就可以構(gòu)建 MySQL 并與之交互。
- 它是安全的:MySQL 包含一個(gè)可靠的數(shù)據(jù)安全層,可以保護(hù)敏感數(shù)據(jù)免受入侵者的侵害。密碼在 MySQL 中是加密的。
- 它是可擴(kuò)展的:MySQL 可以處理幾乎任何數(shù)量的數(shù)據(jù),多達(dá) 5000 萬(wàn)行或更多。默認(rèn)文件大小限制約為 4 GB。但是,您可以將此數(shù)字增加到 8 TB 數(shù)據(jù)的理論限制。
- 在許多操作系統(tǒng)上兼容:MySQL 兼容在許多操作系統(tǒng)上運(yùn)行。
- 允許回滾:MySQL 允許事務(wù)回滾、提交和崩潰恢復(fù)。
- 高性能:由于其獨(dú)特的存儲(chǔ)引擎架構(gòu),MySQL 更快、更可靠、更便宜。
- 高靈活性:MySQL 支持大量的嵌入式應(yīng)用程序,這使得 MySQL 非常靈活。
- 高生產(chǎn)力:MySQL 使用觸發(fā)器、存儲(chǔ)過(guò)程和視圖,允許開(kāi)發(fā)人員提供更高的生產(chǎn)力。
9. transaction 和 ACID 屬性是什么意思?
事務(wù)是工作的邏輯單元,應(yīng)該執(zhí)行所有步驟或不執(zhí)行任何步驟。ACID 是原子性、一致性、隔離性和持久性的縮寫,它們是任何事務(wù)的屬性。
10. 什么是堆表?
堆是沒(méi)有聚集索引的表。可以在存儲(chǔ)為堆的表上創(chuàng)建一個(gè)或多個(gè)非聚集索引。數(shù)據(jù)存儲(chǔ)在堆中而不指定順序。通常數(shù)據(jù)最初是按照行插入表中的順序存儲(chǔ)的,但是數(shù)據(jù)庫(kù)引擎可以在堆中移動(dòng)數(shù)據(jù)以有效地存儲(chǔ)行;因此無(wú)法預(yù)測(cè)數(shù)據(jù)順序。要保證從堆返回的行的順序,您必須使用 ORDER BY 子句。要指定行的存儲(chǔ)順序,請(qǐng)?jiān)诒砩蟿?chuàng)建聚集索引,使表不是堆。
11. 聚集表與堆表
堆表
- 數(shù)據(jù)不按任何特定順序存儲(chǔ)
- 具體數(shù)據(jù)不能快速檢索,除非也有非聚集索引
- 數(shù)據(jù)頁(yè)未鏈接,因此順序訪問(wèn)需要回溯到索引分配映射 (IAM) 頁(yè)
- 由于沒(méi)有聚集索引,因此不需要額外的時(shí)間來(lái)維護(hù)索引
- 由于沒(méi)有聚集索引,所以不需要額外的空間來(lái)存儲(chǔ)聚集索引樹(shù)
- 這些表在 sys.indexes 目錄視圖中的 index_id 值為 0
集群表
- 數(shù)據(jù)按照聚集索引鍵的順序存儲(chǔ)
- 如果查詢使用索引列,可以根據(jù)聚集索引鍵快速檢索數(shù)據(jù)
- 鏈接數(shù)據(jù)頁(yè)以實(shí)現(xiàn)更快的順序訪問(wèn)
- 需要額外的時(shí)間來(lái)維護(hù)基于 INSERTS、UPDATES 和 DELETES 的聚集索引
- 需要額外的空間來(lái)存儲(chǔ)聚集索引樹(shù)
- 這些表在 sys.indexes 目錄視圖中的 index_id 值為 1
12. 區(qū)分 FLOAT 和 DOUBLE?
以下是 FLOAT 和 DOUBLE 的區(qū)別:
- 浮點(diǎn)數(shù)以八位精度存儲(chǔ)在 FLOAT 中,它有四個(gè)字節(jié)。
- 浮點(diǎn)數(shù)以 18 位精度存儲(chǔ)在 DOUBLE 中,它有 8 個(gè)字節(jié)。
13. 使用 CREATE 語(yǔ)句可以創(chuàng)建哪些對(duì)象?
以下對(duì)象是使用 CREATE 語(yǔ)句創(chuàng)建的:
- DATABASE
- EVENT
- FUNCTION
- INDEX
- PROCEDURE
- TABLE
- TRIGGER
- USER
- VIEW
14.主鍵和唯一鍵有什么區(qū)別
雖然兩者都用于強(qiáng)制定義的列的唯一性,但主鍵會(huì)創(chuàng)建聚集索引,而唯一鍵會(huì)在列上創(chuàng)建非聚集索引。主鍵不允許’NULL’,但唯一鍵允許它。
文章題目:創(chuàng)新互聯(lián)mysql教程:MySQL面試題14道
地址分享:http://m.fisionsoft.com.cn/article/dphooej.html


咨詢
建站咨詢
