## 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专题五:持久化