mysql的基本知識

2022-05-13 12:28:03 字數 1259 閱讀 8287

資料庫邏輯結構發展史:層次型、網狀型、關係型(rdbms關係型資料庫管理系統)。我們常用的mysql就是關係型,它的核心就是關係型表。為了對其資料訪問、關係維護進行控制,還提供附加功能,如:資料安全用認證、授權實現;部分資料訪問控制用索引實現;使用者只看到他能看到的資料用檢視實現。

mysql的現在發展:mysql被oracle收購,現在基於mysql改進而來的有mariadb,webscaledb。

mysql是基於c/s架構,client是mysql,server為mysqld,client與server間的互動是由sql協議實現的。具體實現有兩種:1、用開發的命令列,在命令列中直接寫sql語句,進行增刪改查。2、將sql協議封裝成api,如jdbc驅動,用jdbc驅動進行連線。

sql語句:ddl(create、drop、alert)、dml(insert、delete、update、select)、dcl(grant、revoke)。sql語句是使用者與mysqld互動的介面。

為了支援併發,提供了事務,即acid,a 原子性 c一致性 i 隔離性 d 永續性。inodb是支援事務的,myisam沒有事務。事務的隔離級別,讀未提交、讀已提交、可重讀、可序列化。

使用者在命令列或者是用jdbc驅動傳入sql語句,基於socket/tcp通訊將sql語句送給mysqld,在mysqld中有sql直譯器,之後就是進行使用者操作了,因此在mysqld中還提供了檔案管理器、快取管理器、磁碟操作器、事務管理器、鎖管理器、恢復管理器。

日誌:事務日誌:在機械硬碟上存在大量的隨機io,為了提高寫效能,將資料先寫入事務日誌(連續io),之後再寫入硬碟。記錄日誌:簡單的對操作的記錄。

資料寫入過程:開啟事務(事務管理器)——>寫入記憶體(快取管理器)——>寫入事務日誌(快取管理器)——>提交事務(事務管理器)——>寫入資料庫硬碟空間(磁碟管理器)。若事務未提交則還可以回滾(恢復管理器)。

索引:為了方便查詢提供索引,索引指向對應資料在磁碟上的位置,索引的儲存格式以及查詢演算法對資料的讀取至關重要。索引又分為一級索引、二級索引....

資料查詢過程:首先查詢查詢快取,如果找到就直接返回,若查詢快取中沒有就由分析器分析,再去索引空間將頂級索引讀如記憶體,根據頂級索引一級級的查詢到指定資料。

mysqld內部結構:

第一正規化:欄位為基本的資料型別;第二正規化:屬性完全依賴主建;第三正規化:非主屬性不能同時出現在乙個實體的多張表中。

關係型資料庫的約束:主健約束、外健約束、條件約束、非空約束、唯一約束。

mysql的常用元件架構:

mysql開發工具,畫紅線為常用工具:

mysql安裝目錄:

mySQL基本知識

五 字符集 ascii 128個 美式字符集 iso 8859 1 latin1 西歐字符集 255個字元 gb2312 7千多個簡體漢字 gbk 2萬多個漢字 中文常用 utf 8 unicode字符集中最流行的一種實現方式 國際化用它 六 資料庫設計 sybase powerdesigner12...

mysql 基本知識

主要筆記 mysql幫助文件 1,比較常見的建立mysql表的方法 drop table if exists tablname create table tablename create defination table options a.create table if not exists ta...

mysql基本知識

映象複製 內容動態複製到其他計算機 gis函式 全文檢索 簡化對文字欄位內單詞的搜尋 不支援自定義資料型別 不支援xml myisam 靜態 預定義固定長度 儲存效率高 壓縮 減少儲存空間 innodb 支援事務,資料行級鎖定機制,外來鍵約束,不支援全文索引和gis資料 heap 存在於記憶體中,訪...