| MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。 在MySQL的网站(http://www.mysql.com/)上,给出了关于MySQL和MySQL的最新信息。 ·         MySQL是一种数据库管理系统。 数据库是数据的结构化集合。它可以是任何东西,从简单的购物清单到画展,或企业网络中的海量信息。要想将数据添加到数据库,或访问、处理计算机数据库中保存的数据,需要使用数据库管理系统,如MySQL服务器。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。   
    
    MySQL是一种关联数据库管理系统。 关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL指得是“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言,它是由ANSI/ISO SQL标准定义的。SQL标准自1986年以来不断演化发展,有数种版本。在本手册中,“SQL-92”指得是1992年发布的标准,“SQL:1999”指得是1999年发布的标准,“SQL:2003”指得是标准的当前版本。我们采用术语“SQL标准”标示SQL标准的当前版本。
    MySQL软件是一种开放源码软件。 “开放源码”意味着任何人都能使用和改变软件。任何人都能从Internet下载MySQL软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。MySQL软件采用了GPL(GNU通用公共许可证),ww.fsf.org/licenses/,定义了在不同情况下可以用软件作的事和不可作的事。如果你对GPL不满意,或需要在商业应用程序中嵌入MySQL代码,可从我方购买商业许可版本。 
    MySQL数据库服务器具有快速、可靠和易于使用的特点。 如果它正是你所寻找的,不妨一试。MySQL服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。 MySQL 服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的MySQL十分适合于访问Internet上的数据库。 
    MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。  MySQL数据库软件是一种客户端/服务器系统,由支持不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口API组成。 我们还能以嵌入式多线程库的形式提供MySQL服务器,你可以将其链接到你的应用程序,从而获得更小、更快、和更易管理的产品。
    有大量可用的共享MySQL软件。 你所喜欢的应用程序和语言均支持MySQL数据库服务器,这种情况十分可能。   “MySQL”的正式发音是“My Ess Que Ell”(而不是“my sequel”),但我们并不介意你的发音方式是“my sequel”或其他当地方式。   MySQL的历史  我们最初的出发点是,使用mSQL来连接我们的表,这类表采用了我们的快速低层面(ISAM)子程序。然而,经过一些测试后,我们得出结论,mSQL的速度或灵活性不足以满足我们的要求。其结果是,为我们的数据库提供了新的SQL接口,但API接口与mSQL的几乎一样。设计该API的目的在于,允许将为 mSQL编写的第三方代码方便地移植到MySQL。 MySQL名称的起源不明。10多年来,我们的基本目录以及大量库和工具均采用了前缀“my”。不过,共同创办人Monty Widenius的女儿名字也叫“My”。时至今日,MySQL名称的起源仍是一个迷,即使对我们也一样。MySQL Dolphin(我方徽标)的名称为“Sakila”,它是由MySQL AB公司的创办人从用户在“Dolphin命名”比赛中提供的众多建议中选定的。该名称是由来自非洲斯威士兰的开放源码软件开发人Ambrose Twebaze提出的。根据Ambrose的说法,按斯威士兰的本地语言,女性化名称Sakila源自SiSwati。Sakila也是坦桑尼亚、Arusha地区的一个镇的镇名,靠近Ambrose的母国乌干达。   MySQL的的主要特性  下面介绍了MySQL数据库软件的一些重要特性。 ·         内部构件和可移植性 o        使用C和C++编写  o        用众多不同的编译器进行了测试  o        能够工作在众多不同的平台上。 o        使用GNU Automake、Autoconf和Libtool进行移植。 o        提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。 o        采用核心线程的完全多线程 如果有多个CPU,它能方便地使用这些CPU。 o        提供了事务性和非事务性存储引擎。 o        使用了极快的“B树”磁盘表(MyISAM)和索引压缩。 o        添加另一个存储引擎相对简单。如果打算为内部数据库添加一个SQL接口,该特性十分有用。 o        极快的基于线程的内存分配系统。 o        通过使用优化的“单扫描多连接”,能实现极快的连接。 o        存储器中的哈希表用作临时表。 o        SQL函数是使用高度优化的类库实现的,运行很快。通常,在完成查询初始化后,不存在存储器分配。 o        采用Purify(商业内存溢出检测器)以及GPL工具Valgrind(http://developer.kde.org/~sewardj/)测试了MySQL代码。 o        服务器可作为单独程序运行在客户端/服务器联网环境下。它也可作为库提供,可嵌入(链接)到独立的应用程序中。这类应用程序可单独使用,也能在网络环境下使用。   
    (责任编辑:admin)
    列类型     
    语句和函数   
        
        在SELECT和查询的WHERE子句中,提供完整的操作符和函数支持。例如: mysql> SELECT CONCAT(first_name, ' ', last_name)
    -> FROM citizen
    -> WHERE income/dependents > 10000 AND age > 30;
        对SQL GROUP BY和ORDER BY子句的全面支持。支持聚合函数(COUNT(), COUNT(DISTINCT ...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT())。
        支持LEFT OUTER JOIN和RIGHT OUTER JOIN,采用标准的SQL和ODBC语法。
        按照标准SQL的要求,支持表别名和列别名。
        DELETE、INSERT、REPLACE和UPDATE返回更改(影响)的行数。连接到服务器时,可通过设置标志返回匹配的行数。
        MySQL的SHOW命令可用于检索关于数据库、数据库引擎、表和索引的信息。EXPLAIN命令可用于确定优化器处理查询的方式。
        函数名与表名或列名不冲突。例如,ABS是有效的列名。唯一的限制在于,调用函数时,函数名和随后的符号“(”之间不得有空格。 
        可以将不同数据库的表混合在相同的查询中(就像MySQL 3.22中那样)。
    安全    
    可伸缩性和限制 
    连接性 
    
        
        在任何平台上,客户端可使用TCP/IP协议连接到MySQL服务器。在Windows系统的NT系列中(NT、2000、XP或2003),客户端可使用命名管道进行连接。在Unix系统中,客户端可使用Unix域套接字文件建立连接。
        在MySQL 4.1和更高的版本中,如果是以“--shared-memory”选项开始,Windows服务器还支持共享内存连接。客户端可使用“--protocol=memory”选项,通过共享内存建立连接。
        Connector/ODBC (MyODBC)接口为使用ODBC(开放式数据库连接性)连接的客户端程序提供了MySQL支持。例如,可以使用MS Access连接到你的MySQL服务器。客户端可运行在Windows或Unix平台上。提供了MyODBC源。支持所有的ODBC 2.5函数,以及众多其他函数。
        Connector/J接口为使用JDBC连接的Java客户端程序提供了MySQL支持。客户端可运行在Windows或Unix平台上。提供了Connector/J源码。   
    本地化   
        
        服务器可使用多种语言向客户端提供错误消息。
        对数种不同字符集的全面支持,包括latin1 (cp1252)、german、big5、ujis等。例如,在表名和列名中允许使用斯堪的纳维亚字符‘å’、‘ä’和‘ö’。从MySQL 4.1开始,提供了Unicode支持。 
        所有数据均以所选的字符集保存。正常字符串列的比较不区分大小写。
        分类是根据所选的字符集(默认情况下,使用瑞典校对)进行的。启动MySQL服务器时,可更改该项设置。要想查看高级分类的示例,请参见Czech分类代码。MySQL服务器支持众多不同的字符集,这类字符集可在编译时和运行时指定。  
    客户端和工具     |