MySQL是最受歡迎的開源SQL數據庫管理系統,由Oracle Corporation開發、分發和支持。html
MySQL網站(http://www.mysql.com/)提供有關MySQL軟件的最新信息。mysql
數據庫是數據的結構化集合,它能夠是從簡單的購物清單到圖片庫或公司網絡中的大量信息。要添加、訪問和處理存儲在計算機數據庫中的數據,你須要一個數據庫管理系統,如MySQL Server。因爲計算機很是擅長處理大量數據,所以數據庫管理系統在計算、做爲獨立的實用程序或其餘應用程序的一部分中發揮着核心做用。web
關係型數據庫將數據存儲在單獨的表中,而不是將全部數據放在一個大的庫房中,數據庫結構被組織成針對速度優化的物理文件。邏輯模型具備數據庫、表、視圖、行和列等對象,可提供靈活的編程環境。你能夠設置規則來控制不一樣數據字段之間的關係,例如一對1、一對多、惟1、必需或可選,以及不一樣表之間的「指針」。數據庫強制執行這些規則,所以使用設計良好的數據庫,你的應用程序永遠不會看到不一致、重複、孤立、過時或丟失的數據。 sql
「MySQL」的SQL部分表明「結構化查詢語言」,SQL是用於訪問數據庫的最經常使用的標準化語言。取決於你的編程環境,你能夠直接輸入SQL(例如,生成報告)、將SQL語句嵌入到用其餘語言編寫的代碼中,或使用隱藏SQL語法的特定於語言的API。數據庫
SQL由ANSI/ISO SQL標準定義,SQL標準自1986年以來一直在發展,而且存在多個版本。在本手冊中,「SQL-92」是指1992年發佈的標準,「SQL:1999」是指1999年發佈的標準,「SQL:2003」是指當前版本的標準,在任什麼時候候都使用短語「SQL標準」來表示當前版本的SQL標準。編程
開源意味着任何人均可以使用和修改軟件,任何人均可以從互聯網上下載MySQL軟件並使用它而無需支付任何費用,若是你願意,你能夠學習源代碼並根據須要進行更改。MySQL軟件使用GPL(GNU通用公共許可證)http://www.fsf.org/licenses/來定義在不一樣狀況下你能夠和不可使用該軟件的內容,若是你對GPL感到不舒服或須要將MySQL代碼嵌入到商業應用程序中,你能夠從oracle購買商業許可版本,有關更多信息,請參閱MySQL許可概述(http://www.mysql.com/company/...)。segmentfault
若是這正是你正在尋找的,那麼你應該嘗試一下。MySQL Server能夠在臺式機或筆記本電腦上輕鬆運行,與其餘應用程序、Web服務器等一塊兒運行,幾乎不須要注意什麼。若是你將整臺機器專用於MySQL,則能夠調整設置以利用全部可用的內存、CPU功率和I/O容量,MySQL還能夠擴展到聯網的集羣機器。後端
MySQL Server最初是爲了比現有解決方案更快地處理大型數據庫而開發的,而且已經成功地在高要求的生產環境中使用了好幾年,儘管在不斷的開發中,MySQL Server提供了一組豐富而有用的功能,它的鏈接性、速度和安全性使MySQL Server很是適合訪問Internet上的數據庫。安全
MySQL數據庫軟件是一個客戶端/服務器系統,由支持不一樣後端的多線程SQL服務器、幾個不一樣的客戶端程序和庫、管理工具、和普遍的應用程序編程接口(API)組成。服務器
還提供MySQL Server做爲嵌入式多線程庫,你能夠將其連接到你的應用程序,以得到更小、更快、更易於管理的獨立產品。
MySQL Server有一組與用戶緊密合做開發的實用功能,你最喜歡的應用程序或語言極可能支持MySQL數據庫服務器。
本節介紹MySQL數據庫軟件的一些重要特性,在大多數方面,該路線圖適用於全部版本的MySQL,有關在特定於系列的基礎上引入MySQL的特性的信息,請參閱相應手冊。
MyISAM
)。FLOAT
、DOUBLE
、CHAR
,VARCHAR
、BINARY
、VARBINARY
、TEXT
、BLOB
、DATE
、TIME
、DATETIME
、TIMESTAMP
、YEAR
、SET
、ENUM
和OpenGIS空間類型.查詢的SELECT
列表和WHERE
子句中提供完整的操做符和函數支持,例如:
mysql> SELECT CONCAT(first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10000 AND age > 30;
GROUP BY
和ORDER BY
子句,支持組函數(COUNT()
、AVG()
、STD()
、SUM()
、MAX()
、MIN()
、GROUP_CONCAT()
)。LEFT OUTER JOIN
和RIGHT OUTER JOIN
。DELETE
、INSERT
、REPLACE
和UPDATE
以返回已更改(受影響)的行數,或經過在鏈接到服務器時設置標誌來返回匹配的行數。SHOW
語句,用於檢索有關數據庫、存儲引擎、表和索引的信息,支持INFORMATION_SCHEMA
數據庫,根據標準SQL實現。EXPLAIN
語句,用於顯示優化器如何解析查詢。ABS
是有效的列名,惟一的限制是,對於函數調用,函數名和它後面的「(」之間不容許有空格。CHAR
、VARCHAR
、BLOB
或TEXT
列類型列的前綴。客戶端可使用多種協議鏈接到MySQL Server:
named_pipe
系統變量的狀況下啓動服務器,則客戶端可使用命名管道進行鏈接。若是在啓用shared_memory
系統變量的狀況下啓動,Windows服務器也支持共享內存鏈接,客戶端可使用--protocol=memory
選項經過共享內存進行鏈接。latin1
(cp1252)、german
、big5
、ujis
,幾個Unicode字符集等等,例如,表和列名稱中容許使用斯堪的納維亞字符「å」、「ä」和「ö」。MyISAM
表上執行這些操做。--help
或 -?
選項調用MySQL程序得到在線幫助。Oracle一開始打算使用mSQL數據庫系統,使用他們快速低級(ISAM)例程鏈接到表,可是,通過一些測試,得出的結論是,mSQL不夠快或不夠靈活,沒法知足需求。這致使了數據庫的新SQL接口,但具備與mSQL幾乎相同的API接口,此API旨在使編寫用於mSQL的第三方代碼能夠輕鬆移植到MySQL。
MySQL以聯合創始人Monty Widenius的女兒My命名。
MySQL Dolphin(logo)的名稱是「Sakila」,它是從「海豚名人」比賽用戶建議的大量名字中選出的,獲獎名稱由非洲斯威士蘭的開源軟件開發商Ambrose Twebaze提交,根據Ambrose的說法,女性化的名字Sakila源於SiSwati,Swaziland的當地語言,Sakila也是坦桑尼亞阿魯沙一個小鎮的名字,靠近Ambrose的原籍Uganda。