• 使用外來鍵的條件
– 表的儲存引擎必須是 innodb
– 字段型別要一致
– 被參照字段必須要是索引型別的一種 (primary key)
主要包括 8 個部分:
連線池:程序數限制、記憶體檢查、快取檢查等。
sql 介面:使用者通過 sql 客戶端發過來的命令,由 sql 介面接收,sql 操作(dml 資料操作語
言:查詢、修改、公升級資料等;ddl 資料定義語言:建立乙個新的資料庫、新的索引、刪除一
個使用者等;儲存過程、檢視觸發器。
分析器: 分析查詢語句 事務處理 物件訪問許可權。
優化器: 優化訪問路徑 、 生成執行樹。
快取和緩衝:儲存 sql 查詢結果。
儲存引擎:用於管理儲存的檔案系統,將邏輯結構轉換為物理結構的程式;不同的儲存引擎有
不同的功能和儲存方式。
管理工具:備份,恢復,安全,移植,集群等,這些工具一般和檔案系統打交道,不需要和
mysql-server 打交道,它們對應的都是命令。
物理儲存裝置(檔案系統)。
• 作為可插拔式的元件提供
– mysql 服務軟體自帶的功能程式,處理表的處理器
– 不同的儲存引擎有不同的功能和資料儲存方式
• 預設的儲存引擎
– mysql 5.0/5.1 —> myisam
– mysql 5.5/5.6 —> innodb
myisam 儲存引擎的主要特點
– 支援表級鎖
– 不支援事務、事務回滾、外來鍵
• 相關的表檔案
– 表名 .frm 、 – 表名 .myi – 表名 .myd
– 支援行級鎖定
– 支援事務、事務回滾、支援外來鍵• 相關的表檔案
– ***.frm 、 ***.ibd
– ibdata1
– ib_logfile0 – ib_logfile1
• 鎖粒度
– 表級鎖:一次直接對整張表進行加鎖。
– 行級鎖:只鎖定某一行。
– 頁級鎖:對整個頁面( mysql 管理資料的基本儲存單 位)進行加鎖。
• 鎖型別
– 讀鎖(共享鎖):支援併發讀。
– 寫鎖(互斥鎖、排它鎖):是獨佔鎖,上鎖期間其他 執行緒不能讀表或寫表。
mysql怎麼建儲存過程 mysql儲存過程怎麼寫
mysql 儲存過程是一些 sql 語句的集合,比如有的時候我們可能需要一大串的 sql 語句,或者說在編寫 sql 語句的過程中還需要設定一些變數的值,這個時候我們就完全有必要編寫乙個儲存過程。下面我們來介紹一下如何建立乙個儲存過程。語法格式 可以使用 create procedure 語句建立儲...
MySQL 匯出建表建儲存過程語句 備份
版本一 匯出 只導資料結構 areskris areskris acer mysqldump u root p d add drop table 資料庫名字 匯出的檔名 匯出 包括資料 areskris areskris acer mysqldump u root p add drop table ...
2016 11 10 MySQL外來鍵約束不能建表
因為時間比較遠了,當時遇到這個問題時查詢資料解決了,但是沒有保留引用位址,如原作者認為侵權,立刪!在mysql中建立外來鍵時,經常會遇到問題而失敗,這是因為mysql中還有很多細節需要我們去留意可能有以下幾種常見原因。1.兩個欄位的型別或者大小不嚴格匹配。例如,如果乙個是int 10 那麼外來鍵也必...