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。