Mysql是什么?
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的 SQL 語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL 軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,其體積小、速度快、總體擁有成本低,并且開源.
學(xué)完本教程,推薦您進(jìn)行實(shí)戰(zhàn)練習(xí):點(diǎn)擊進(jìn)入實(shí)戰(zhàn)
Mysql有什么特性?
- 使用 C和 C++編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證了源代碼的可移植性。
- 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。
- 為多種編程語(yǔ)言提供了 API。這些編程語(yǔ)言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。
- 支持多線程,充分利用 CPU 資源。
- 優(yōu)化的 SQL查詢算法,有效地提高查詢速度。
- 既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中。
- 提供多語(yǔ)言支持,常見的編碼如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。
- 提供 TCP/IP、ODBC 和 JDBC等多種數(shù)據(jù)庫(kù)連接途徑。
- 提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。
- 支持大型的數(shù)據(jù)庫(kù)。可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。
- 支持多種存儲(chǔ)引擎。
- MySQL 是開源的,所以你不需要支付額外的費(fèi)用。
- MySQL 使用標(biāo)準(zhǔn)的 SQL數(shù)據(jù)語(yǔ)言形式。
- MySQL 對(duì) PHP 有很好的支持,PHP是目前最流行的 Web 開發(fā)語(yǔ)言。
- MySQL是可以定制的,采用了 GPL協(xié)議,你可以修改源碼來(lái)開發(fā)自己的 MySQL 系統(tǒng)。
- 在線 DDL/更改功能,數(shù)據(jù)架構(gòu)支持動(dòng)態(tài)應(yīng)用程序和開發(fā)人員靈活性(5.6新增)
- 復(fù)制全局事務(wù)標(biāo)識(shí),可支持自我修復(fù)式集群(5.6新增)
- 復(fù)制無(wú)崩潰從機(jī),可提高可用性(5.6新增)
- 復(fù)制多線程從機(jī),可提高性能(5.6新增)
- 3倍更快的性能(5.7新增)
- 新的優(yōu)化器(5.7新增)
- 原生JSON支持(5.7新增)
- 多源復(fù)制(5.7新增)
- GIS的空間擴(kuò)展(5.7新增)
Mysql存儲(chǔ)引擎
- MyISAM MySQL 5.0 之前的默認(rèn)數(shù)據(jù)庫(kù)引擎,最為常用。擁有較高的插入,查詢速度,但不支持事務(wù).
- InnoDB事務(wù)型數(shù)據(jù)庫(kù)的首選引擎,支持ACID事務(wù),支持行級(jí)鎖定, MySQL 5.5 起成為默認(rèn)數(shù)據(jù)庫(kù)引擎.
- BDB源 自 Berkeley DB,事務(wù)型數(shù)據(jù)庫(kù)的另一種選擇,支持Commit 和Rollback 等其他事務(wù)特性
- Memory所有數(shù)據(jù)置于內(nèi)存的存儲(chǔ)引擎,擁有極高的插入,更新和查詢效率。但是會(huì)占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會(huì)在 MySQL 重新啟動(dòng)時(shí)丟失
- Merge將一定數(shù)量的 MyISAM 表聯(lián)合而成一個(gè)整體,在超大規(guī)模數(shù)據(jù)存儲(chǔ)時(shí)很有用
- Archive非常適合存儲(chǔ)大量的獨(dú)立的,作為歷史記錄的數(shù)據(jù)。因?yàn)樗鼈儾唤?jīng)常被讀取。Archive 擁有高效的插入速度,但其對(duì)查詢的支持相對(duì)較差
- Federated將不同的 MySQL 服務(wù)器聯(lián)合起來(lái),邏輯上組成一個(gè)完整的數(shù)據(jù)庫(kù)。非常適合分布式應(yīng)用
- Cluster/NDB高冗余的存儲(chǔ)引擎,用多臺(tái)數(shù)據(jù)機(jī)器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大,安全和性能要求高的應(yīng)用
- CSV 邏輯上由逗號(hào)分割數(shù)據(jù)的存儲(chǔ)引擎。它會(huì)在數(shù)據(jù)庫(kù)子目錄里為每個(gè)數(shù)據(jù)表創(chuàng)建一個(gè) .csv 文件。這是一種普通文本文件,每個(gè)數(shù)據(jù)行占用一個(gè)文本行。CSV 存儲(chǔ)引擎不支持索引。
- BlackHole 黑洞引擎,寫入的任何數(shù)據(jù)都會(huì)消失,一般用于記錄 binlog 做復(fù)制的中繼
- EXAMPLE 存儲(chǔ)引擎是一個(gè)不做任何事情的存根引擎。它的目的是作為 MySQL 源代碼中的一個(gè)例子,用來(lái)演示如何開始編寫一個(gè)新存儲(chǔ)引擎。同樣,它的主要興趣是對(duì)開發(fā)者。EXAMPLE 存儲(chǔ)引擎不支持編索引。另外,MySQL 的存儲(chǔ)引擎接口定義良好。有興趣的開發(fā)者可以通過(guò)閱讀文檔編寫自己的存儲(chǔ)引擎。
Mysql管理工具
MyDB Studio 下載:http://www.cr173.com/soft/57493.html#address
DBTools Manager 下載:https://www.crsky.com/soft/88541.html
dbForge Studio 下載:http://down.51cto.com/data/881344
SQLWave 下載:https://www.crsky.com/soft/8510.html#down
phpMyAdmin 下載:https://www.phpmyadmin.net/
Sequel Pro 下載:http://www.sequelpro.com/
HeidiSQL 下載:http://www.heidisql.com/download.php
Navicat 下載:https://www.navicat.com.cn/download/navicat-premium
Mysql附加資料
MySQL官網(wǎng):https://www.mysql.com/
MySQL文檔:http://dev.mysql.com/doc/
MySQL下載:https://www.mysql.com/downloads/
MySQL教程:http://www.o2fo.com/mysql/mysql-install-setup.html
在開始學(xué)習(xí)本教程前你應(yīng)該了解?
在開始學(xué)習(xí)本教程前你應(yīng)該了解 PHP 和 HTML 的基礎(chǔ)知識(shí),并能簡(jiǎn)單的應(yīng)用。
本教程的很多例子都跟 PHP 語(yǔ)言有關(guān),我們的實(shí)例基本上是采用 PHP 語(yǔ)言來(lái)演示。
如果你還不了解 PHP,你可以通過(guò)本站的 PHP教程來(lái)了解該語(yǔ)言。