1. 程式人生 > >MySQL資料庫詳解

MySQL資料庫詳解

1.什麼是資料庫?
        資料庫是多個特俗檔案的集合,是用來儲存資料的,可高效能的儲存資料和管理資料

    2.資料庫管理系統:
        1.資料庫檔案 :用於儲存資料
        2.資料庫管理系統服務端:用於管理資料庫的檔案
        3.資料庫管理系統的客戶端:用於與服務端通訊的

    3.mysql伺服器的主要配置選項有哪些?
        bind-address表示伺服器繫結的ip,預設為127.0.0.1
        port表示埠,預設為3306
        datadir表示資料庫目錄,預設為/var/lib/mysql
        general_log_file表示普通日誌,預設為/var/log/mysql/mysql.log
        log_error表示錯誤日誌,預設為/var/log/mysql/error.log

    4.資料庫的分類
        1.關係型資料庫:由多個表組成,表內部有一定關係,表與表之間有一定的聯絡
        2.非關係型資料庫

    5.關係型資料庫有哪些:
        -oracle:電信,銀行等大型專案
        -ms sql server :微軟生態圈的專案
        -mysql:web時代最廣泛的資料庫
        ...

    6.關係型資料庫的核心元素
        1.資料行(記錄)
        2.資料列(欄位)
        3.資料表(資料行的集合)
        4.資料庫(資料表的集合)

    7.SQL(Structured Query Language)
        SQL:結構化查詢語言,是一種用來操作RDBMS的資料庫語言
        -dql:資料查詢語言:通過sql查詢資料
        -dml:資料庫操作語言:通過sql增刪改 操作
        -ddl:資料定義語言:通過sql對資料庫,資料表的管理比如建立表等

        提示: sql語句不區分大小寫,每條sql語句後面加;

    8.資料完整性:
        1.資料庫中儲存的資料應該符合我們的預期,這就是的完整性
            通過定義資料型別和資料約束兩方面可實現資料的完整性
        2.資料型別:
            使用資料型別的原則是夠用就行,儘量用取值範圍比較小的,節省儲存空間
            -int:整數型別 unsigned:表示沒有正負數之說
            -dicemal:浮點數 dicmal(5,2)表示位數總共有5位,小數佔兩位
            -varchar,char: varchar(3),當儲存ab兩個字元時就只佔兩位"ab",char(3)當儲存ab兩個字元時就佔兩位後還填充了一個空格“ab ”
            -datatime :時間日期型
            -enum:列舉型別

        3.資料約束
            主鍵(primary key)
            非空(not null) 
            預設值(default)
            唯一值(unique)
            外來鍵(foreign key):表示當前的某個欄位是另一個表的主鍵,這個欄位的值來自另一個標的主鍵