<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10道經(jīng)典MySQL面試題

          共 2692字,需瀏覽 6分鐘

           ·

          2021-05-11 07:48


          來源:blog.csdn.net/Black1499/article/details/84945702

          1.drop,delete與truncate的區(qū)別

          相同點:

          truncate和不帶where子句的delete,以及drop都會刪除表內(nèi)的數(shù)據(jù)

          不同點:

          • truncate會清除表數(shù)據(jù)并重置id從1開始,delete就只刪除記錄,drop可以用來刪除表或數(shù)據(jù)庫并且將表所占用的空間全部釋放
          • truncate和delete只刪除數(shù)據(jù)不刪除表的結(jié)構(gòu)。drop語句將刪除表的結(jié)構(gòu)被依賴的約(constrain),觸發(fā)器(trigger),依賴于該表的存儲過程/函數(shù)將保留,但是變?yōu)?invalid 狀態(tài)。
          • 速度上一般來說: drop> truncate > delete
          • 使用上,想刪除部分數(shù)據(jù)行用 delete,想刪除表用 drop,想保留表而將所有數(shù)據(jù)刪除,如果和事務(wù)無關(guān),用truncate即可。如果和事務(wù)有關(guān),或者想觸發(fā)trigger,還是用delete。
          • delete是DML語句,不會自動提交。drop/truncate都是DDL語句,執(zhí)行后會自動提交。

          2.mysql里記錄貨幣用什么字段類型好

          NUMERIC 和DECIMAL 類型被MySQL實現(xiàn)為同樣的類型,這在SQL92標準允許。他們被用于保存值,該值的準確精度是極其重要的值,例如與金錢有關(guān)的數(shù)據(jù)。

          DECIMAL和NUMERIC值作為字符串存儲,而不是作為二進制浮點數(shù),以便保存那些值的小數(shù)精度。

          3.MySQL中myisam與innodb的區(qū)別

          • InnoDB支持事務(wù),而MyISAM不支持事務(wù)
          • InnoDB支持行級鎖,而MyISAM支持表級鎖
          • InnoDB支持MVCC, 而MyISAM不支持
          • InnoDB支持外鍵,而MyISAM不支持
          • InnoDB不支持全文索引,而MyISAM支持。
          • InnoDB不能通過直接拷貝表文件的方法拷貝表到另外一臺機器, myisam 支持
          • InnoDB表支持多種行格式, myisam 不支持
          • InnoDB是索引組織表, myisam 是堆表

          4.事務(wù)的四個特性及含義

          數(shù)據(jù)庫事務(wù)transanction正確執(zhí)行的四個基本要素:ACID,原子性(Atomicity)、一致性(Correspondence)、隔離性(Isolation)、持久性(Durability)。

          原子性: 整個事務(wù)中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個環(huán)節(jié)。事務(wù)在執(zhí)行過程中發(fā)生錯誤,會被回滾(Rollback)到事務(wù)開始前的狀態(tài),就像這個事務(wù)從來沒有執(zhí)行過一樣。

          一致性: 在事務(wù)開始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫的完整性約束沒有被破壞。

          隔離性: 隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時間內(nèi)執(zhí)行的唯一操作。如果有兩個事務(wù),運行在相同的時間內(nèi),執(zhí)行 相同的功能,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認為只有該事務(wù)在使用系統(tǒng)。這種屬性有時稱為串行化,為了防止事務(wù)操作間的混淆,必須串行化或序列化請 求,使得在同一時間僅有一個請求用于同一數(shù)據(jù)。

          持久性: 在事務(wù)完成以后,該事務(wù)所對數(shù)據(jù)庫所作的更改便持久的保存在數(shù)據(jù)庫之中,并不會被回滾。

          5.MYSQL相比于其他數(shù)據(jù)庫有哪些特點?

          MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司,現(xiàn)在已經(jīng)被Sun公司收購,支持FreeBSD、Linux、MAC、Windows等多種操作系統(tǒng)與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比功能稍弱一些。其特點有:

          • 可以處理擁有上千萬條記錄的大型數(shù)據(jù);
          • 支持常見的SQL語句規(guī)范;
          • 可移植行高,安裝簡單小巧;
          • 良好的運行效率,有豐富信息的網(wǎng)絡(luò)支持;
          • 調(diào)試、管理,優(yōu)化簡單(相對其他大型數(shù)據(jù)庫)。

          6.視圖的作用,視圖可以更改么?

          視圖是虛擬的表,與包含數(shù)據(jù)的表不一樣,視圖只包含使用時動態(tài)檢索數(shù)據(jù)的查詢;不包含任何列或數(shù)據(jù)。使用視圖可以簡化復雜的sql操作,隱藏具體的細節(jié),保護數(shù)據(jù);視圖創(chuàng)建后,可以使用與表相同的方式利用它們。

          視圖不能被索引,也不能有關(guān)聯(lián)的觸發(fā)器或默認值,如果視圖本身內(nèi)有order by 則對視圖再次order by將被覆蓋。

          7.存儲過程與觸發(fā)器的區(qū)別

          觸發(fā)器與存儲過程非常相似,觸發(fā)器也是SQL語句集,兩者唯一的區(qū)別是觸發(fā)器不能用EXECUTE語句調(diào)用,而是在用戶執(zhí)行Transact-SQL語句時自動觸發(fā)(激活)執(zhí)行。

          觸發(fā)器是在一個修改了指定表中的數(shù)據(jù)時執(zhí)行的存儲過程。通常通過創(chuàng)建觸發(fā)器來強制實現(xiàn)不同表中的邏輯相關(guān)數(shù)據(jù)的引用完整性和一致性。由于用戶不能繞過觸發(fā)器,所以可以用它來強制實施復雜的業(yè)務(wù)規(guī)則,以確保數(shù)據(jù)的完整性。

          觸發(fā)器不同于存儲過程,觸發(fā)器主要是通過事件執(zhí)行觸發(fā)而被執(zhí)行的,而存儲過程可以通過存儲過程名稱名字而直接調(diào)用。當對某一表進行諸如UPDATE、INSERT、DELETE這些操作時,SQLSERVER就會自動執(zhí)行觸發(fā)器所定義的SQL語句,從而確保對數(shù)據(jù)的處理必須符合這些SQL語句所定義的規(guī)則。

          8.索引的作用?和它的優(yōu)點缺點是什么?

          索引就是一種特殊的查詢表,數(shù)據(jù)庫的搜索引擎可以利用它加速對數(shù)據(jù)的檢索。它很類似與現(xiàn)實生活中書的目錄,不需要查詢整本書內(nèi)容就可以找到想要的數(shù)據(jù)。

          索引可以是唯一的,創(chuàng)建索引允許指定單個列或者是多個列。缺點是它減慢了數(shù)據(jù)錄入的速度,同時也增加了數(shù)據(jù)庫的尺寸大小。

          9.union 與union all的區(qū)別

          union 在進行表連接后會篩選掉重復的記錄,所以在表連接后會對所產(chǎn)生的結(jié)果集進行排序運算,刪除重復的記錄再返回結(jié)果。union all 則會顯示重復結(jié)果,只是簡單的兩個結(jié)果合并并返回.所以效率比union高,在保證沒有重復數(shù)據(jù)的情況下用union all.

          10. SQL語言包括哪幾部分?每部分都有哪些操作關(guān)鍵字?

          SQL語言包括數(shù)據(jù)定義(DDL)、數(shù)據(jù)操縱(DML),數(shù)據(jù)控制(DCL)和數(shù)據(jù)查詢(DQL)四個部分。

          • 數(shù)據(jù)定義:Create Table,Alter Table,Drop Table, Craete/Drop Index等
          • 數(shù)據(jù)操縱:Select ,insert,update,delete,
          • 數(shù)據(jù)控制:grant,revoke
          • 數(shù)據(jù)查詢:select
          更多精彩文章請關(guān)注公眾號
          瀏覽 85
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产亲妺妺乱的性视频 | 青青青青青青久久久久久久 | 午夜视频一区二区 | 青青草自拍偷拍 | WwW69免费视频 |