MySQL手册.docx

上传人:b****8 文档编号:10955898 上传时间:2023-02-23 格式:DOCX 页数:63 大小:76.19KB
下载 相关 举报
MySQL手册.docx_第1页
第1页 / 共63页
MySQL手册.docx_第2页
第2页 / 共63页
MySQL手册.docx_第3页
第3页 / 共63页
MySQL手册.docx_第4页
第4页 / 共63页
MySQL手册.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

MySQL手册.docx

《MySQL手册.docx》由会员分享,可在线阅读,更多相关《MySQL手册.docx(63页珍藏版)》请在冰豆网上搜索。

MySQL手册.docx

MySQL手册

Skipnavigationlinks

Theworld'smostpopularopensourcedatabase

窗体顶端

窗体底端

Login|Register

∙DeveloperZone

∙Downloads

∙Documentation

∙MySQLServer

∙MySQLEnterprise

∙MySQLWorkbench

∙MySQLCluster

∙TopicGuides

∙ExpertGuides

∙OtherDocs

∙Archives

∙About

 

 

∙DocumentationLibrary

oTableofContents

窗体顶端

Searchmanual:

窗体底端

MySQL5.1参考手册:

:

1.一般信息

«前言

2.安装MySQL»

SectionNavigation     [Toggle]

∙前言

∙1.一般信息

∙2.安装MySQL

∙3.教程

∙4.MySQL程序概述

∙5.数据库管理

∙6.中的复制

∙7.优化

∙8.客户端和实用工具程序

∙9.语言结构

∙10.字符集支持

∙11.列类型

∙12.函数和操作符

∙13.SQL语句语法

∙14.插件式存储引擎体系结构

∙15.存储引擎和表类型

∙16.编写自定义存储引擎

∙17.MySQL簇

∙18.分区

∙19.中的空间扩展

∙20.存储程序和函数

∙21.触发程序

∙22.视图

∙23.INFORMATION_SCHEMA信息数据库

∙24.精度数学

∙25.API和库

∙26.连接器

∙27.扩展MySQL

∙A.问题和常见错误

∙B.错误代码和消息

∙C.感谢

∙D.MySQL变更史

∙E.移植到其他系统

∙F.环境变量

∙G.正则表达式

∙H.LimitsinMySQL

∙I.特性限制

∙J.GNU通用公共许可

∙K.MySQLFLOSS许可例外

∙索引

第1章:

一般信息

目录

1.1.关于本手册

1.2.本手册采用的惯例

1.3.MySQLAB概述

1.4.MySQL数据库管理系统概述

1.4.1.MySQL的历史

1.4.2.MySQL的的主要特性

1.4.3.MySQL稳定性

1.4.4.MySQL表最大能达到多少

1.4.5.2000年兼容性

1.5.MaxDB数据库管理系统概述

1.5.1.什么是MaxDB?

1.5.2.MaxDB的历史

1.5.3.MaxDB的特性

1.5.4.许可和支持

1.5.5.MaxDB和MySQL之间的特性差异

1.5.6.MaxDB和MySQL之间的协同性

1.5.7.与MaxDB有关的链接

1.6.MySQL发展大事记

1.6.1.MySQL5.1的新特性

1.7.MySQL信息源

1.7.1.MySQL邮件列表

1.7.2.IRC(在线聊天系统)上的MySQL社区支持

1.7.3.MySQL论坛上的MySQL社区支持

1.8.MySQL标准的兼容性

1.8.1.MySQL遵从的标准是什么

1.8.2.选择SQL模式

1.8.3.在ANSI模式下运行MySQL

1.8.4.MySQL对标准SQL的扩展

1.8.5.MySQL与标准SQL的差别

1.8.6.MySQL处理约束的方式

MySQL®软件提供了十分快速的多线程、多用户、牢靠的SQL(结构化查询语言)数据库服务器。

MySQL服务器定位于任务关键型、重负荷生产系统,并能嵌入在大量部署的软件中。

MySQL是MySQLAB的注册商标。

MySQL软件采用双许可方式。

用户可根据GNU通用公共许可(http:

//www.fsf.org/licenses/)条款,将MySQL软件作为开放源码产品使用,或从MySQLAB公司购买标准的商业许可证。

关于我方许可策略的更多信息,请参见

在下面的清单中,介绍了本手册感兴趣的一些特殊部分。

∙关于MySQL数据库服务器的讨论,请参见1.4.2“MySQL的的主要特性”。

∙关于安装说明,请参见第2章:

安装MySQL。

∙关于将MySQL数据库软件移植到新体系结构或操作系统方面的技巧,请参见附录E:

移植到其他系统。

∙关于从5.0版向上升级的更多信息,请参见2.10.1节,“从5.0版升级”。

∙关于MySQL数据库服务器的教程说明,请参见第3章:

教程。

∙关于SQL示例和标准程序信息,请参见标准程序目录(在本发布版中,为sql-bench)。

∙关于新特性和缺陷更正的历史信息,请参见附录D:

MySQL变更史。

∙关于当前已知缺陷和错误特性的列表,请参见A.8“MySQL中的已知事宜”。

∙关于未来计划,请参见1.6“MySQL发展大事记”。

∙关于本项目所有贡献人的清单,请参见附录C:

感谢。

重要说明:

请将错误报告(通常称为缺陷)以及问题和评论发送到。

请参见1.7.1.3“如何通报缺陷和问题”。

如果在MySQL服务器中发现敏感的安全缺陷,请使用电子邮件立刻通知我们:

security@。

1.1. 关于本手册

这是关于5.1版至5.1.2-alpha版MySQL数据库系统的参考手册。

该手册不适用于旧版本MySQL软件,这是因为在MySQL5.1和以前的版本存在很多功能性差异和其他差异。

如果正在使用MySQL软件的较旧版本,请参阅MySQL5.0参考手册,该手册涵盖了MySQL5.0,或参阅MySQL4.1参考手册,该手册涵盖了MySQL3.22、3.23、4.0和4.1系列。

在手册的文本中,通过引用发布版本号(5.1.x),注明了MySQL5.1的二级版本。

由于本手册是作为参考手册而编制的,在本手册中未提供关于SQL或关联数据库概念的一般说明。

在本手册中,也不包含如何使用操作系统或命令行解释器方面的信息。

MySQL数据库软件始终在发展,参考手册也会相应地频繁更新。

本手册的最新版本以在线方式提供,请使用CHM版本。

主要文档是DocBookXML文件的集合。

对于HTML版本和其他格式,它们是使用DocBookXSLstylesheets自动生成的。

如果你有任何关于本手册应增加内容或更正内容方面的建议,请将其发送给文档编制团队:

本手册最初是由DavidAxmark和Michael“Monty”Widenius编制的。

由MySQL文档编制团队负责维护,团队成员包括PaulDuBois、StefanHinz、MikeHillyer和JonStephens。

关于中多其他贡献人,请参见附录C:

感谢。

本手册的版权归瑞典公司MySQLAB所有。

MySQL®和MySQL徽标均是MySQLAB的注册商标。

本手册中引用的其他商标和注册商标是相应所有人的财产,在本手册中仅将其用于辨识目的。

1.2. 本手册采用的惯例

本手册采用了特定的印刷惯例:

·        这类风格的文本用于SQL语句,数据库、表和列名称,C和Perl代码,以及环境变量。

例如:

要想重新加载授权表,请使用FLUSHPRIVILEGES语句。

这类风格的文本用于指明键入的数如信息。

·        这类风格的文本用于指明可执行程序和脚本的名称,例如mysql(MySQL命令行客户端程序)和mysqld(MySQL服务器执行程序)。

·        这类风格的文本用于变量输入,应使用你选择的值替换它。

·        文件名和目录名采取下述方式:

“全程f位于目录/etc下”。

·        字符序列采取下述方式:

“要想使用通配符,请使用字符%”。

·        这类风格的文本用于强调。

·        这类风格的文本用于表头,并用于传递强调信息。

当出现准备在特定程序中执行的命令时,该程序将由位于命令前的提示符指明。

例如,shell>指明命令将从注册外壳程序中执行,mysql>指明命令将从mysql客户端程序中执行:

shell>typeashellcommandhere(在此输入shell命令)

mysql>typeamysqlstatementhere(在此输入mysql语句)

“shell”是命令解释程序。

在Unix平台上,它通常是程序,如sh、csh或bash。

在Windows平台下,等效程序为或cmd.exe,通常运行在控制台窗口中。

输入示例中显示的命令或语句时,不要输入示例中给出的提示符。

数据库、表和;列名必须代入语句中。

为了指明该代入是必要的,在本手册中使用了db_name、tbl_name和col_name。

例如,你将见到如下所示的语句:

mysql>SELECTcol_nameFROMdb_name.tbl_name;

这意味着,如果你输入了类似的语句,应提供你的数据库、表和列名,如下例所示:

mysql>SELECTauthor_nameFROMbiblio_db.author_list;

SQL关键字不区分大小写,因此即可为大写也可为小写。

在本手册中采用大写。

在语法介绍中,方括号(“[”和“]”)用于指明可选字或子句。

例如,在下面的语句中,IFEXISTS是可选的:

DROPTABLE[IFEXISTS]tbl_name

当某一语法成分由多个可选项组成时,可选项应用竖线“|”分开。

当可能选择一组选择中的某一成员时,可选项将列在方括号(“[”和“]”)中。

TRIM([[BOTH|LEADING|TRAILING][remstr]FROM]str)

当必须选择一组选择中的某一成员时,可选项将列在大括号(“{”和“}”)中。

{DESCRIBE|DESC}tbl_name[col_name|wild]

省略号(…)表明省略了语句的某一选择,通常是为了提供复杂语法的简短表述。

例如,INSERT...SELECT是后跟SLECT语句的INSERT语句的简短形式。

省略号还能指明语句的前部分语法元素可重复。

在下面的示例中,可给定多个reset_option值,第1个值后每一个可由逗号分开:

RESETreset_option[,reset_option]...

对于用来设置shell变量的命令,采用Bourneshell语法给出。

例如,用于设置环境变量的序列和运行命令的序列,与下述Bourneshell语法给出的类似:

shell>VARNAME=valuesome_command

如果你正在使用csh或tcsh,必须使用略有不同的命令。

应执行与下例所示类似的序列:

shell>setenvVARNAMEvalue

shell>some_command

1.3. MySQLAB概述

MySQLAB是由MySQL创始人和主要开发人创办的公司。

MySQLAB最初是由DavidAxmark、AllanLarsson和Michael“Monty”Widenius在瑞典创办的。

我们致力于开发MySQL数据库软件,并向新用户宣传推广它。

MySQLAB拥有MySQL源代码、MySQL徽标和(注册)商标、以及本手册的版权。

请参见

1.4“MySQL数据库管理系统概述”。

MySQL的核心价值取向指明了我们对MySQL和开发源码的贡献。

这些核心价值取向规定了MySQLAB与MySQL服务器软件的协作方式:

·        成为世界上最好和使用最广泛的数据库。

·        面向所有人,而且所有人均能支付得起。

·        使用简单。

·        在保持快速和安全的同时不断改进。

·        使用和改进充满乐趣。

·        不存在缺陷。

这就是MySQLAB公司及其雇员的核心价值取向。

·        我们同意开放源码理念,并支持开放源码群。

·        我们的目标是成为最佳公民。

·        我们倾向于那些与我们有共同价值取向和思想倾向的合作伙伴。

·        我们将回复电子邮件并提供支持。

·        我们是一家与其他方联系在一起的“虚拟”公司。

·        我们反对软件专利。

在MySQL的网站(

顺便提及一下,公司名中的“AB”是瑞典语“aktiebolag”或“股份公司”的首字母缩写。

可将其翻译为“MySQL有限公司”。

事实上,MySQL有限公司和MySQLGmbH均是MySQLAB子公司的名称。

它们分别位于美国和德国。

1.4. MySQL数据库管理系统概述

1.4.1.MySQL的历史

1.4.2.MySQL的的主要特性

1.4.3.MySQL稳定性

1.4.4.MySQL表最大能达到多少

1.4.5.2000年兼容性

MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQLAB公司开发、发布并支持的。

MySQLAB是由多名MySQL开发人创办的一家商业公司。

它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。

在MySQL的网站(

·        MySQL是一种数据库管理系统。

数据库是数据的结构化集合。

它可以是任何东西,从简单的购物清单到画展,或企业网络中的海量信息。

要想将数据添加到数据库,或访问、处理计算机数据库中保存的数据,需要使用数据库管理系统,如MySQL服务器。

计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。

∙MySQL是一种关联数据库管理系统。

关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。

这样就增加了速度并提高了灵活性。

MySQL的SQL指得是“结构化查询语言”。

SQL是用于访问数据库的最常用标准化语言,它是由ANSI/ISOSQL标准定义的。

SQL标准自1986年以来不断演化发展,有数种版本。

在本手册中,“SQL-92”指得是1992年发布的标准,“SQL:

1999”指得是1999年发布的标准,“SQL:

2003”指得是标准的当前版本。

我们采用术语“SQL标准”标示SQL标准的当前版本。

∙MySQL软件是一种开放源码软件。

“开放源码”意味着任何人都能使用和改变软件。

任何人都能从Internet下载MySQL软件,而无需支付任何费用。

如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。

MySQL软件采用了GPL(GNU通用公共许可证),

∙MySQL数据库服务器具有快速、可靠和易于使用的特点。

如果它正是你所寻找的,不妨一试。

MySQL服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。

在我们的基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。

请参见7.1.4“MySQL基准套件”。

MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。

尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。

它具有良好的连通性、速度和安全性,这使的MySQL十分适合于访问Internet上的数据库。

∙MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。

MySQL数据库软件是一种客户端/服务器系统,由支持不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口API组成。

我们还能以嵌入式多线程库的形式提供MySQL服务器,你可以将其链接到你的应用程序,从而获得更小、更快、和更易管理的产品。

∙有大量可用的共享MySQL软件。

你所喜欢的应用程序和语言均支持MySQL数据库服务器,这种情况十分可能。

“MySQL”的正式发音是“MyEssQueEll”(而不是“mysequel”),但我们并不介意你的发音方式是“mysequel”或其他当地方式。

1.4.1. MySQL的历史

我们最初的出发点是,使用mSQL来连接我们的表,这类表采用了我们的快速低层面(ISAM)子程序。

然而,经过一些测试后,我们得出结论,mSQL的速度或灵活性不足以满足我们的要求。

其结果是,为我们的数据库提供了新的SQL接口,但API接口与mSQL的几乎一样。

设计该API的目的在于,允许将为mSQL编写的第三方代码方便地移植到MySQL。

MySQL名称的起源不明。

10多年来,我们的基本目录以及大量库和工具均采用了前缀“my”。

不过,共同创办人MontyWidenius的女儿名字也叫“My”。

时至今日,MySQL名称的起源仍是一个迷,即使对我们也一样。

MySQLDolphin(我方徽标)的名称为“Sakila”,它是由MySQLAB公司的创办人从用户在“Dolphin命名”比赛中提供的众多建议中选定的。

该名称是由来自非洲斯威士兰的开放源码软件开发人AmbroseTwebaze提出的。

根据Ambrose的说法,按斯威士兰的本地语言,女性化名称Sakila源自SiSwati。

Sakila也是坦桑尼亚、Arusha地区的一个镇的镇名,靠近Ambrose的母国乌干达。

1.4.2. MySQL的的主要特性

下面介绍了MySQL数据库软件的一些重要特性。

关于当前特性和即将提供特性的更多信息,,请参见1.6节,“MySQL发展大事记”。

·        内部构件和可移植性

o       使用C和C++编写

o       用众多不同的编译器进行了测试

o       能够工作在众多不同的平台上。

请参见2.1.1“MySQL支持的操作系统”。

o       使用GNUAutomake、Autoconf和Libtool进行移植。

o       提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。

请参见第25章:

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       服务器可作为单独程序运行在客户端/服务器联网环境下。

它也可作为库提供,可嵌入(链接)到独立的应用程序中。

这类应用程序可单独使用,也能在网络环境下使用。

∙列类型

▪众多列类型:

带符号/无符号整数,1、2、3、4、8字节长,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,以及OpenGIS空间类型。

请参见第11章:

列类型。

▪定长和可变长度记录。

语句和函数

▪在SELECT和查询的WHERE子句中,提供完整的操作符和函数支持。

例如:

▪mysql>SELECTCONCAT(first_name,'',last_name)

▪->FROMcitizen

▪->WHEREincome/dependents>10000ANDage>30;

▪对SQLGROUPBY和ORDERBY子句的全面支持。

支持聚合函数(COUNT(),COUNT(DISTINCT...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT())。

▪支持LEFTOUTERJOIN和RIGHTOUTERJOIN,采用标准的SQL和ODBC语法。

▪按照标准SQL的要求,支持表别名和列别名。

▪DELETE、INSERT、REPLACE和UPDATE返回更改(影响)的行数。

连接到服务器时,可通过设置标志返回匹配的行数。

▪MySQL的SHOW命令可用于检索关于数据库、数据库引擎、表和索引的信息。

EXPLAIN命令可用于确定优化器处理查询的方式。

▪函数名与表名或列名不冲突。

例如,ABS是有效的列名。

唯一的限制在于,调用函数时,函数名和随后的符号“(”之间不得有空格。

请参见9.6“MySQL中保留字的处理”。

▪可以将不同数据库的表混合在相同的查询中(就像MySQL3.22中那样)。

安全

▪十分灵活和安全的权限和密码系统,允许基于主机的验证。

连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。

可伸缩性和限制

▪处理大型数据库:

我们使用了MySQL服务器和含5千万条记录的数据库。

我们还听说,有些用户将MySQL用于含60000个表和约50亿行的数据库。

▪每个表可支持高达64条索引(在MySQL4.1.2之前为32条)。

每条索引可由1~16个列或列元素组成。

最大索引宽度为1000字节(在MySQL4.1.2之前为500)。

索引可使用具备CHAR、VARCHAR、BLOB或TEXT列类型的列前缀。

连接性

▪在任何平台上,客户端可使用TCP/IP协议连接到MySQL服务器。

在Windows系统的NT系列中(NT、2000、XP或2003),客户端可使用命名管道进行连接。

在Unix系统中,客户端可使用Unix域套接字文件建立连接。

▪在MySQL4.1和更高的版本中,如果是以“--shared-memory”选项开始,Windows服务器还支持共享内存连接。

客户端可使用“--protocol=memory”选项,通过共享内存建立连接。

▪Co

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1