1. 程式人生 > 資料庫 >面試題記錄 - 資料庫

面試題記錄 - 資料庫

資料庫基礎

  1. 安裝資料庫
  2. 檢視(如何使用,有什麼用)
  3. 子查詢、標量子查詢、關聯子查詢

資料庫操作

  1. 表的建立、刪除、更新
  2. 常用函式
  3. order by 預設升序
select * from tablename order by c2 asc;  #升
select * from tablename order by c2 desc;  #降
select * from tablename order by c1 asc,c2 desc;

問題

  1. ACID - 原子性、一致性、隔離性、永續性

  2. 主鍵和外來鍵
    主鍵:唯一地標識表中的每一行
    外來鍵:外來鍵是相對於主鍵說的,是用於建立表之間 的聯絡,外來鍵作主關鍵字的表被稱為主表,具有 此外來鍵的表被稱為主表的從表。用於與另一張表的關聯。

    比如這裡有兩張,user(使用者)表和qx(許可權)表,user中gid是使用者許可權id,而gid是依賴於qx中的id。那麼qx中的id就是user的外來鍵。

  3. Mysql的行鎖和表鎖( 鎖是計算機協調多個程序或純執行緒併發訪問某一資源的機制)

表級鎖
每次操作鎖住整張表。開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發生鎖衝突的概率最高,併發度最低;
行級鎖
每次操作鎖住一行資料。開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖衝突的概率最低,併發度也最高;
  1. Mysql 2種儲存引擎
    儲存引擎:就是如何儲存資料、如何為儲存的資料建立索引和如何更新、查詢資料等技術的實現方法。 在Oracle 和SQL Server等資料庫中只有一種儲存引擎。而MySql資料庫提供了多種儲存引擎。
    MyISAM更適合讀密集的表,而InnoDB更適合寫密集的的表。
MyISAM特點
  • 不支援行鎖(MyISAM只有表鎖),不支援事務;不支援外來鍵;不支援崩潰後的安全恢復
  • 在表有讀取查詢的同時,支援往表中插入新紀錄
  • 支援全文索引
InnoDB(MySQL的預設資料庫引擎)
  • 支援行鎖,支援事務,支援外來鍵,支援崩潰後的安全恢復
  • 不支援全文索引
  1. Mysql預設配置檔名:my.cnf