Mysql簡介
Mysql簡介
MySQL是最流行的開源關係SQL資料庫管理系統。MySQL是用於開發各種基於Web的軟體應用程式的最佳RDBMS之一。MySQL由瑞典公司MySQL AB開發,但後來被Sun和Oracle公司收購,現在由Oracle公司、MariaDB公司、Percona公司銷售和支援。
什麼是資料庫?
資料庫是儲存資料集合的獨立應用程式。每個資料庫都有一個或多個不同的API,用於建立,訪問,管理,搜尋和複製其所儲存的資料。
也可以使用其他型別的資料儲存,例如檔案系統上的檔案或記憶體中的大型雜湊表,但是使用這些型別的系統,資料的獲取和寫入將不那麼快捷,容易。
如今,我們使用關係型資料庫管理系統(RDBMS:Relational Database Management System)來儲存和管理大量資料。之所以稱為關係型資料庫,是因為所有資料都儲存在不同的表中,並且使用主鍵或稱為外來鍵的其他鍵來建立關係。
關係型資料庫管理系統(RDBMS)是一種軟體:
- 使我們能夠使用表,列和索引來實現資料庫。
- 確保各種表的行之間的引用完整性。
- 自動更新索引。
- 解釋SQL查詢併合並來自各個表的資訊。
除了RDBMS關係型資料庫(MySQL、Oracle、Microsoft SQL Server、PostgreSQL),我們經常使用的還有NOSQL非關係資料庫(MongoDB、Redis、Elasticsearch)。
當然,還有云資料庫產品(RDS、PolarDB、TDSQL)以及NewSQL(TiDB)。
RDBMS術語
下列是一些與資料庫有關的定義:
-
資料庫:資料庫是具有相關資料的表的集合。
-
表:表是包含資料的矩陣。資料庫中的表看起來像一個簡單的電子表格。
-
列:一列(資料元素)包含一種相同型別的資料,例如一列郵政編碼。
-
行:行(=元組,條目或記錄)是一組相關資料,例如一個賬戶的賬號密碼等資料。
-
冗餘:兩次儲存資料,以提高系統速度。
-
主鍵:主鍵是唯一的。一個表中的鍵值不能出現兩次。使用金鑰,您只能找到一行。
-
外來鍵:外來鍵是兩個表之間的連線橋。
-
複合鍵:複合鍵是由多列組成的鍵,因為一列不夠唯一。
-
索引:資料庫中的索引類似於書後部的索引。
-
引用完整性:引用完整性可確保外來鍵值始終指向現有行。
MySQL資料庫
MySQL是一種快速,易於使用的RDBMS,可用於許多大小企業。由於許多原因,MySQL變得如此流行:
-
MySQL是在開源許可證下發布的。因此,您無需付費即可使用它。
-
MySQL本身就是一個非常強大的程式。它處理最昂貴,功能最強大的資料庫程式包的大部分功能。
-
MySQL使用眾所周知的SQL資料語言的標準形式。
-
MySQL可在許多作業系統上執行,並支援多種語言,包括PHP,PERL,C,C ++,JAVA等。
-
MySQL可以非常快速地執行,並且即使對於大型資料集也可以很好地執行。
-
MySQL支援大型資料庫,一個表中多達5000萬行或更多。表的預設檔案大小限制為4GB,但您可以將其增加(如果作業系統可以處理),理論上可以達到800萬兆位元組(TB)。
-
MySQL是可定製的。開源GPL許可證允許程式設計師修改MySQL軟體以適合他們自己的特定環境。
目前MySQL版本選擇
當MySQL版本有存在問題,有bug時,處理方式為升級新的穩定版本。
MySQL行業主流版本
- 5.6:5.636,5.638,5.640,5.646 (5.6版本據說不再更新了)
- 5.7:5.720,5.722,5.724,5.726,5.728
- 8.0(現在開始研究新特性):8.011,8.017,8.018
最好選擇5.7或者8.0的版本,其中最好選擇黃色標記的版本:
1.一般選擇官方主流版本
2.GA(穩定釋出版)
3.6-12月的產品版本
企業版MySQL分支:
- Oracle:
MySQL官方版 - 紅帽 :
MariaDB - Percona:
PerconaDB