今天給大家分享 21 個 MySQL 面試題。
MyISAM 支持表鎖,InnoDB 支持表鎖和行鎖,默認為行鎖。
表級鎖:開銷小,加鎖快,不會出現死鎖。鎖定粒度大,發生鎖沖突的概率最高,并發量 最低。
行級鎖:開銷大,加鎖慢,會出現死鎖。鎖力度小,發生鎖沖突的概率小,并發度最高。
在缺省模式下,MYSQL 是 autocommit 模式的,所有的數據庫更新操作都會即時提交,所 以在缺省情況下,mysql 是不支持事務的。
但是如果你的 MYSQL 表類型是使用 InnoDB Tables 或 BDB tables 的話,你的 MYSQL 就可以 使用事務處理,使用 SET AUTOCOMMIT=0 就可以使 MYSQL 允許在非 autocommit 模式,在非autocommit 模式下,你必須使用 COMMIT 來提交你的更改,或者用 ROLLBACK 來回滾你的 更改。
示例如下:
START TRANSACTION;SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summmary=@A WHERE type=1; COMMIT;
不區分。
SELECT VERSION(), CURRENT_DATE;SeLect version(), current_date;seleCt vErSiOn(), current_DATE;
這幾個例子都是一樣的,Mysql 不區分大小寫。
答:它會停止遞增,任何進一步的插入都將產生錯誤,因為密鑰已被使用。
如果表的類型是 MyISAM,那么是 18。因為 MyISAM 表會把自增主鍵的最大 ID 記錄到數據文件里,重啟 MySQL 自增主鍵的最大ID 也不會丟失。
如果表的類型是 InnoDB,那么是 15。InnoDB 表只是把自增主鍵的最大 ID 記錄到內存中,所以重啟數據庫或者是對表進行OPTIMIZE 操作,都會導致最大 ID 丟失。
第一范式(1NF):字段具有原子性,不可再分。(所有關系型數據庫系 統都滿足第一范式數據庫表中的字段都是單一屬性的,不可再分)
第二范式(2NF)是在第一范式(1NF)的基礎上建立起來的,即滿足 第二范式(2NF)必須先滿足第一范式(1NF)。要求數據庫表中的每 個實例或行必須可以被惟一地區分。通常需要為表加上一個列,以存儲 各個實例的惟一標識。這個惟一屬性列被稱為主關鍵字或主鍵。
滿足第三范式(3NF)必須先滿足第二范式(2NF)。簡而言之,第三 范式(3NF)要求一個數據庫表中不包含已在其它表中已包含的非主關 鍵字信息。>所以第三范式具有如下特征: >>1. 每一列只有一個 值 >>2. 每一行都能區分。>>3. 每一個表都不包含其他表已經包含 的非主關鍵字信息。
新聞熱點
疑難解答
圖片精選