日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php程序员必会的,PHP程序员必会的MySQL面试题

發布時間:2025/1/21 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php程序员必会的,PHP程序员必会的MySQL面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將總結一些常見的MySQL面試題:

01、數據庫字段類型

MySQL常見的數據類型有哪些?

MySQL數據類型分為數值類型、日期時間型和字符串類型。數值類型常見的是TINYINT、INT、DECIMAL,日期類型常見的有DATE、DATETIME,字符串類型常見的有CHAR、VARCHAR、TEXT。詳細介紹見文章末尾的圖片。

MySQL數據類型中CHAR和VARCHAR有什么區別?

CHAR和VARCHAR都是用來存儲字符串的,但是他們存儲和查詢的方式不同。

CHAR是屬于固定長度的字符類型,而VARCHAR是屬于可變長度的字符類型。

因為CHAR是固定長度的,所以它的處理速度比VARCHAR快很多,但是它的缺點是浪費存儲空間。在讀取CHAR類型數據時如果尾部有空格會丟失空格,所以對于那種長度變化不大的并且對查詢速度有較高要求的數據可以考慮使用CHAR類型來存儲。

VARCHAR是變長字符串,對那些對長度不確定的字符串可以使用VARCHAR類型來存儲。

02、存儲引擎相關問題

MySQL常見的存儲引擎有哪些?

常見的存儲引擎有InnoDB、MyISAM、MEMORY等

MySQL存儲引擎之間的區別

(1)對于MyISAM來說,不支持事務;不支持外鍵;支持表鎖;這種存儲引擎的表會生成三個文件(索引文件、表結構文件、數據文件);存儲表的總行數,查詢時只要讀取這個總函數就行;采用非聚集索引;支持全文索引和空間索引;

(2)于InnoDB來說,支持事務,有四種事務隔離級別;支持行鎖和外鍵約束;不存儲總行數,查詢總行數需要遍歷整張表;對于AUTO_INCREMENT類型的字段,必須包含只有該字段的索引;表索引和數據存儲在一個文件內;主鍵索引采用聚集索引;

03、數據庫事務

數據庫范式介紹

(1)1NF:字段不可分;原子性,字段不可再分,否則就算不上關系數據庫

(2)2NF:有主鍵,非主鍵字段依賴主鍵;唯一性,一個表只說明一個事物

(3)3NF:非主鍵字段不能相互依賴;每列都與主鍵有直接關系,不存在傳遞依賴

數據庫事務基本要素

(1)原子性(Atomicity);事務開始后所有操作,要么全部做完,要么全部不做,不能停滯在中間環節。

(2)一致性(Consistency):事務開始前和結束后,數據庫的完整性約束沒有被破壞。

(3)隔離性(Isolation):同一時間,只允許一個事務請求同一數據,不同的事務之間彼此沒有任何干擾。

(4)持久性(Durability):事務完成后,事務對數據庫的所有更新將被保存到數據庫,不能回滾。

數據庫事務隔離級別

讀未提交(read-uncommitted)、不可重復讀(read-committed)、可重復讀(repeatable-read)、串行化(serializable)

臟讀、幻讀、不可重復讀介紹

(1)臟讀:事務B修改數據但未提交,事務A讀數據,然后B回滾,則A讀到的是臟數據。

(2)不可重復讀:事務A第一次讀取數據,事務B修改數據提交,事務A第二次讀數據,兩次數據不一致。

(3)幻讀:事務A update表的全部行,事務B插入一行,事務A就會發現表中還有未修改的行。(一般加間隙鎖)

總結

以上是生活随笔為你收集整理的php程序员必会的,PHP程序员必会的MySQL面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。