## MySQL專題零:簡介
[TOC]
MySQL是最流行的開源SQL數據庫管理系統,由Oracle Corporation開發,分發和支持
- **MySQL數據庫是關系型的:** 關系數據庫將數據存儲在單獨的表中,而不是將所有數據放在一個大的存儲室中。數據庫結構被組織成針對速度進行了優化的物理文件。具有對象(例如數據庫,表,視圖,行和列)的邏輯模型提供了靈活的編程環境。
- **MySQL數據庫是CS模式的:** MySQL數據庫軟件是一個客戶端/服務器系統,由支持不同后端的多線程SQL Server,幾個不同的客戶端程序和庫,管理工具以及各種應用程序編程接口(API)組成。
- **MySQL數據庫是開源的:** 使用C和C++語言編寫,項目地址:[https://github.com/mysql](https://github.com/mysql)
- **MySQL數據庫是多元連接的:** 既可以使用連接器也可以使用API連接MySQL
- MySQL連接器為客戶端程序提供與MySQL服務器的連接,如`Connector / J`提供驅動程序支持,以使用標準Java數據庫連接(JDBC)API從Java應用程序連接到MySQL。
- API提供對MySQL協議和MySQL資源的低級訪問,`C API`提供通過低級別的訪問到MySQL客戶/服務器協議`libmysqlclient`的客戶端庫
- **MySQL數據庫是多功能的:**
* 提供事務性和非事務性存儲引擎
* 實現內存中的哈希表,用作臨時表
* 支持觸發器和存儲過程的使用
* 查詢[`SELECT`](https://dev.mysql.com/doc/refman/5.6/en/select.html "13.2.9 SELECT語句")列表和`WHERE`子句中的完全運算符和函數支持。例如:
~~~sql
mysql> SELECT CONCAT(first_name, ' ', last_name)
-> FROM citizen
-> WHERE income/dependents > 10000 AND age > 30;
~~~
* 完全支持SQL`GROUP BY`和`ORDER BY`子句。支持基函數([`COUNT()`](https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_count),[`AVG()`](https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_avg),[`STD()`](https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_std),[`SUM()`](https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_sum),[`MAX()`](https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_max),[`MIN()`](https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_min),和[`GROUP_CONCAT()`](https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_group-concat))。
* 支持標準SQL和ODBC語法,`LEFT OUTER JOIN`并`RIGHT OUTER JOIN`同時支持它們。
* 支持標準SQL要求的表和列別名。
* 支持[`DELETE`](https://dev.mysql.com/doc/refman/5.6/en/delete.html "13.2.2 DELETE語句"),[`INSERT`](https://dev.mysql.com/doc/refman/5.6/en/insert.html "13.2.5 INSERT語句"),[`REPLACE`](https://dev.mysql.com/doc/refman/5.6/en/replace.html "13.2.8更換聲明"),和[`UPDATE`](https://dev.mysql.com/doc/refman/5.6/en/update.html "13.2.11 UPDATE語句")以返回更改(受影響)的行數,或返回通過連接到服務器時設置標志,而不是匹配的行的數量。
* 支持特定于MySQL的[`SHOW`](https://dev.mysql.com/doc/refman/5.6/en/show.html "13.7.5 SHOW語句")語句,該語句檢索有關數據庫,存儲引擎,表和索引的信息。支持`INFORMATION_SCHEMA`數據庫,根據標準SQL實現。
* 一條[`EXPLAIN`](https://dev.mysql.com/doc/refman/5.6/en/explain.html "13.8.2 EXPLAIN聲明")語句,顯示優化器如何解析查詢。
* 函數名稱與表或列名稱的獨立性。
* 可以在同一條語句中引用來自不同數據庫的表。
- JavaCook
- Java專題零:類的繼承
- Java專題一:數據類型
- Java專題二:相等與比較
- Java專題三:集合
- Java專題四:異常
- Java專題五:遍歷與迭代
- Java專題六:運算符
- Java專題七:正則表達式
- Java專題八:泛型
- Java專題九:反射
- Java專題九(1):反射
- Java專題九(2):動態代理
- Java專題十:日期與時間
- Java專題十一:IO與NIO
- Java專題十一(1):IO
- Java專題十一(2):NIO
- Java專題十二:網絡
- Java專題十三:并發編程
- Java專題十三(1):線程與線程池
- Java專題十三(2):線程安全與同步
- Java專題十三(3):內存模型、volatile、ThreadLocal
- Java專題十四:JDBC
- Java專題十五:日志
- Java專題十六:定時任務
- Java專題十七:JavaMail
- Java專題十八:注解
- Java專題十九:淺拷貝與深拷貝
- Java專題二十:設計模式
- Java專題二十一:序列化與反序列化
- 附加專題一:MySQL
- MySQL專題零:簡介
- MySQL專題一:安裝與連接
- MySQL專題二:DDL與DML語法
- MySQL專題三:工作原理
- MySQL專題四:InnoDB存儲引擎
- MySQL專題五:sql優化
- MySQL專題六:數據類型
- 附加專題二:Mybatis
- Mybatis專題零:簡介
- Mybatis專題一:配置文件
- Mybatis專題二:映射文件
- Mybatis專題三:動態SQL
- Mybatis專題四:源碼解析
- 附加專題三:Web編程
- Web專題零:HTTP協議
- Web專題一:Servlet
- Web專題二:Cookie與Session
- 附加專題四:Redis
- Redis專題一:數據類型
- Redis專題二:事務
- Redis專題三:key的過期
- Redis專題四:消息隊列
- Redis專題五:持久化