MySQL 3.23.7-alpha中文参考手册
译者:晏子
(
[email protected]
) 主页:
http://linuxdb.yeah.net
0 译者序
1 MySQL的一般的信息
1.1 什么是MySQL?
1.2 关于本手册
1.2.1 本手册中使用的约定
1.3 MySQL的历史
1.4 MySQL的主要特征
1.5 MySQL稳定性?
1.6 顺应2000年
1.7 SQL一般信息和教程
1.8 有用的MySQL相关链接
2 MySQL 邮件列表及如何提问或报告错误
2.1 MySQL邮件列表
2.2 提问或报告错误
2.3 怎样报告错误或问题
2.4 在邮件列表上回答问题的指南
3 MySQL的许可证和技术支持
3.1 MySQL的许可证政策
3.2 MySQL 使用的版权
3.2.1 可能的未来版权改变
3.3 MySQL商业性分发
3.4 许可证实例
3.4.1 销售使用 MySQL的产品
3.4.2 销售MySQL相关的服务
3.4.3 ISP MySQL服务
3.4.4 运营一个使用MySQL的Web服务器
3.5 MySQL的许可证和技术支持费用
3.5.1 付款信息
3.5.2 联系信息
3.6 商业性支持的类型
3.6.1 基本的电子邮件支持
3.6.2 扩展的电子邮件支持
3.6.3 登录支持
3.6.4 扩展的登录支持
4 安装 MySQL
4.1 怎样获得MySQL
4.2 MySQL支持的操作系统
4.3 使用MySQL哪个版本
4.4 怎样和何时发布更新版本
4.5 安装布局
4.6 安装MySQL二进制代码分发
4.6.1 Linux RPM注意事项
4.6.2 构造客户程序
4.6.3 系统特定的问题
4.6.3.1 Linux 注意事项
4.6.3.2 HP-UX
注意事项
4.7 安装 MySQL源代码分发
4.7.1 快速安装概述
4.7.2 运用补丁
4.7.3 典型的configure选项
4.8 编译问题?
4.9 MIT-pthreads 注意事项
4.10 Perl 安装说明
4.10.1 在Unix操作系统上安装 Perl
4.10.2 在 Win32上安装 ActiveState Perl
4.10.3 在 Win32 上安装 MySQL Perl 分发
4.10.4 使用 Perl DBI/DBD接口遇到的问题
4.11 系统特定的问题
4.11.1 Solaris注意事项
4.11.2 Solaris 2.7 注意事项
4.11.3 Solaris x86 注意事项
4.11.4 SunOS 4 注意事项
4.11.5 Linux (所有的Linux版本)注意事项
4.11.5.1 Linux-x86 注意事项
4.11.5.2 RedHat 5.0 注意事项
4.11.5.3 RedHat 5.1 注意事项
4.11.5.4 Linux-SPARC 注意事项
4.11.5.5 Linux-Alpha 注意事项
4.11.5.6 MkLinux 注意事项
4.11.5.7 Qube2 Linux 注意事项
4.11.6 Alpha-DEC-Unix 注意事项
4.11.7 Alpha-DEC-OSF1 注意事项
4.11.8 SGI-Irix 注意事项
4.11.9 FreeBSD 注意事项
4.11.10 NetBSD 注意事项
4.11.11 BSD/OS 注意事项
4.11.11.1 BSD/OS 2.x 注意事项
4.11.11.2 BSD/OS 3.x 注意事项
4.11.11.3 BSD/OS 4.x 注意事项
4.11.12 SCO 注意事项
4.11.13 SCO Unixware 7.0 注意事项
4.11.14 IBM-AIX 注意事项
4.11.15 HP-UX 注意事项
4.12 Win32 注意事项
4.12.1 在 Win32 上安装 MySQL
4.12.2 在 Win95 /Win98上启动 MySQL
4.12.3 在 NT 上启动 MySQL
4.12.4 在 Win32 上运行 MySQL
4.12.5 用 SSH 从 Win32 连接一个远程MySQL
4.12.6 MySQL-Win32与Unix MySQL 比较
4.13 OS/2 注意事项
4.14 TcX 二进制代码
4.15 安装后期(post-installation)的设置与测试
4.15.1 运行mysql_install_db 的问题
4.15.2 启动 MySQL 服务器的问题
4.15.3 自动启动和停止 MySQL
4.15.4 选项文件
4.16 升级和降级(downgrading)时有什么特别要做的事情吗?
4.16.1 从一个 3.22 版本升级到 3.23
4.16.2 从一个 3.21 版本升级到 3.22
4.16.3 从一个 3.20 版本升级到 3.21
4.16.4 升级到其他的体系结构
5 MySQL 与标准的兼容性?
5.1 MySQL对ANSI SQL92 的扩充
5.2 以ANSI模式运行 MySQL
5.3 MySQL相比ANSI SQL92的差别
5.4 MySQL 缺乏的功能
5.4.1 子选择(Sub-selects)
5.4.2 SELECT INTO TABLE
5.4.3 事务(Transactions)
5.4.4 存储过程和触发器
5.4.5 外键(Foreign Keys)
5.4.5.1 不使用外键的理由
5.4.6 视图(Views)
5.4.7 '--'作为一个 注解的开始
5.5 MySQL 遵循什么标准?
5.6 怎样处理没有提交/回卷(COMMIT / ROLLBACK)
6 MySQL 存取权限系统
6.1 权限系统做什么
6.2 MySQL用户名和口令
6.3 与MySQL服务器连接
6.4 使你的口令安全
6.5 MySQL 提供的权限
6.6 权限系统工作原理
6.7 存取控制,阶段1:连接证实
6.8 存取控制,阶段2:请求证实
6.9 权限更改何时生效
6.10 建立初始的 MySQL权限
6.11 向MySQL增加新用户权限
6.12 怎样设置口令
6.13 存取拒绝(Access Denied)错误的原因
6.14 怎样使MySQL安全以对抗解密高手(cracker)
7 MySQL 语言参考
7.1 文字:怎样写字符串和数字
7.1.1 字符串
7.1.2 数字
7.1.3 十六进制值
7.1.4 NULL值
7.1.5 数据库,表,索引,列和别名的命名
7.1.5.1 名字的大小写敏感性
7.2 用户变量
7.3 列类型
7.3.1 列类型的存储要求
7.3.5 数字类型
7.3.6 日期和时间类型
7.3.6.1 问题和日期类型
7.3.6.2 DATETIME,DATE和TIMESTAMP类型
7.3.6.3 TIME类型
7.3.6.4 YEAR类型
7.3.7 字符串类型
7.3.7.1 CHAR和VARCHAR类型
7.3.7.2 BLOB和TEXT类型
7.3.7.3 ENUM类型
7.3.7.4 SET类型
7.3.8 为列选择正确的类型
7.3.9 列索引
7.3.10 多列索引
7.3.11 使用来自其他数据库引擎的列类型
7.4 用在SELECT和WHERE子句的函数
7.4.1 分组函数
7.4.2 常用的算术运算
7.4.3 位函数
7.4.4 逻辑运算
7.4.5 比较运算符
7.4.6 字符串比较函数
7.4.7 类型转换运算符
7.4.8 控制流函数
7.4.9 数学函数
7.4.10 字符串函数
7.4.11 日期和时间函数
7.4.12 其他函数
7.4.13 与GROUP BY子句一起使用的函数
7.5 CREATE DATABASE (创建数据库)句法
7.6 DROP DATABASE (抛弃数据库)句法
7.7 CREATE TABLE (创建表)句法
7.7.1 隐含(silent)的列指定变化
7.8 ALTER TABLE (改变表)句法
7.9 OPTIMIZE TABLE (优化表) 句法
7.10 DROP TABLE (抛弃表)句法
7.11 DELETE (删除)句法
7.12 SELECT (精选)句法
7.13 JOIN (联接)句法
7.14 INSERT (插入)句法
7.15 REPLACE (替换)句法
7.16 LOAD DATA INFILE (装载数据到文件)句法
7.17 UPDATE (更新)句法
7.18 USE (使用)句法
7.19 FLUSH (清除缓存)句法
7.20 KILL (杀灭)句法
7.21 SHOW (显示)句法(得到关于表,列等的信息)
7.22 EXPLAIN (解释)句法(得到关于SELECT的信息)
7.23 DESCRIBE (描述)句法(得到列的信息)
7.24 LOCK TABLES/UNLOCK TABLES (锁定表/解锁表)句法
7.25 SET OPTION (设置选项)句法
7.26 GRANT (授权)和REVOKE (撤回)句法
7.27 CREATE INDEX (创建索引)句法
7.28 DROP INDEX (抛弃索引)句法
7.29 注释句法
7.30 CREATE FUNCTION/DROP FUNCTION (创建函数/抛弃函数)句法
7.31 MySQL对保留字很挑剔吗?
8 MySQL 教程
8.1 联接和断开服务器
8.2 输入查询
8.3 常用查询的例子
8.3.1 列的最大值
8.3.2 拥有某个列的最大值的行
8.3.3 列的最大值:按组:只有值
8.3.4 拥有某个字段的组间最大值的行
8.3.5 使用外键
8.4 创建并使用一个数据库
8.4.1 创建并选用一个数据库
8.4.2 创建一个数据库表
8.4.3 将数据装入数据库表
8.4.4 从一个数据库表检索信息
8.4.4.1 选择所有数据
8.4.4.2 选择特定行
8.4.4.3 选择特定列
8.4.4.4 排序行
8.4.4.5 日期计算
8.4.4.6 NULL值操作
8.4.4.7 模式匹配
8.4.4.8 行计数
8.4.5 使用多个数据库表
8.5 获得数据库和表的信息
8.6 以批处理模式使用mysql
8.7 从"双胞项目"中查询
8.7.1 找出所有非独处的双胞胎
8.7.2 显示关于双胞胎近况的表
9 MySQL 服务器功能
9.1 MySQL 支持哪些语言?
9.1.1 用于数据和排序的字符集
9.1.2 增加一个新的字符集
9.1.3 多字节字符支持
9.2 更新日志
9.3 MySQL数据库表可以有多大?
9.4 MySQL数据库表类型
10 从 MySQL 得到最大的性能
10.1 优化概述
10.2 系统/编译时和启动参数的调节
10.2.1 编译和链接如何影响 MySQL 的速度
10.2.2 磁盘问题
10.2.2.1 为数据库和表格使用符号链接
10.2.3 调节服务器参数
10.2.4 MySQL 怎样打开和关闭数据库表
10.2.5 在同一个数据库中创建大量数据库表的缺点
10.2.6 为什么有这么多打开的表?
10.2.7 MySQL 怎样使用内存
10.2.8 MySQL 怎样锁定数据库表
10.2.9 数据库表级锁定的问题
10.3 使你的数据尽可能小
10.4 MySQL 索引的使用
10.5 存取或更新数据的查询速度
10.5.1 估计查询性能
10.5.2 SELECT 查询的速度
10.5.3 MySQL 怎样优化WHERE子句
10.5.4 MySQL 怎样优化LEFT JOIN
10.5.5 MySQL 怎样优化LIMIT
10.5.6 INSERT查询的速度
10.5.7 UPDATE查询的速度
10.5.8 DELETE查询的速度
10.6 选择一种表类型
10.6.1 静态(定长)表的特点
10.6.2 动态表的特点
10.6.3 压缩表的特点
10.6.4 内存(In-memory table)表的特点
10.7 其他优化技巧
10.8 使用你自己的基准测试
10.9 设计选择
10.10 MySQL 设计局限/折衷
10.11 可移植性
10.12 我们已将MySQL用在何处?
11 MySQL 基准套件
12 MySQL 实用程序
12.1 各种 MySQL 程序概述
12.2 管理一个 MySQL 服务器
12.3 从 MySQL 数据库和表中倒出(dump)结构和数据
12.4 从文本文件导入数据
12.5 MySQL 压缩只读表生成器
13 维护 MySQL 安装
13.1 使用myisamchk进行表维护和崩溃恢复
13.1.1 myisamchk的调用语法
13.1.2 myisamchk的内存使用
13.2 13.2 建立一个数据库表维护规范
13.3 获得关于一个表的信息
13.4 使用myisamchk进行崩溃恢复
13.4.1 怎样检查表的出错
13.4.2 怎样修复表
13.4.3 表优化
13.5 日志文件维护
14 为MySQL增加新函数
14.1 增加一个新的用户定义函数
14.1.1 UDF调用顺序
14.1.2 参数处理
14.1.3 返回值和出错处理
14.1.4 编译并安装用户定义函数
14.2 增加一个新的原生(native)函数
15 为MySQL增加新过程
15.1 analyse过程
15.2 编写一个过程
16 MySQL对 ODBC 支持
16.1 MyODBC 支持的操作系统
16.2 怎样报告 MyODBC的问题
16.3 已知可用 MyODBC一起工作的程序
16.4 怎样填写 ODBC 管理程序的各种域
16.5 怎样在ODBC中获得一个AUTO_INCREMENT列的值
16.6 报告 MyODBC 的问题
17 与一些常用程序一起使用MySQL
17.1 与 Apache一起使用 MySQL
18 问题和常见的错误
18.1 如果 MySQL总是崩溃怎么办
18.2 使用 MySQL 时一些常见错误
18.2.1 MySQL server has gone away错误
18.2.2 Can't connect to [local] MySQL server错误
18.2.3 Host '...' is blocked错误
18.2.4 Out of memory错误
18.2.5 Packet too large错误
18.2.6 The table is full错误
18.2.7 Commands out of sync in client错误
18.2.8 Ignoring user错误
18.2.9 Table 'xxx' doesn't exist错误
18.3 MySQL 怎样处理一个溢出的磁盘
18.4 怎样从一个文本文件运行SQL命令
18.5 MySQL 在哪儿存储临时文件
18.6 怎样保护
"/tmp/mysql.sock"
不被删除
18.7 Access denied 出错
18.8 怎样作为一个一般用户运行 MySQL
18.9 怎样重新设置一个忘记的口令
18.10 文件许可权限问题
18.11 文件没找到
18.12 使用DATE列的问题
18.13 时区问题
18.14 在搜索中的大小写敏感性
18.15 NULL值问题
18.16
alias
问题
18.17 从相关的表中删除行
18.18 解决没有匹配行的问题
18.19
ALTER TABLE
问题
18.20 怎样改变一个表中列的次序
19 解决MySQL 一些常见的问题
19.1 数据库复制
19.2 数据库备份
19.3 在同一台机器上运行多个 MySQL 服务器
20 MySQL 客户工具和 API
20.1 MySQL C API
20.2 C API数据类型
20.3 C API函数概述
20.4 C API函数描述
20.4.1 mysql_affected_rows ()
20.4.2 mysql_close ()
20.4.3 mysql_connect ()
20.4.4 mysql_change_user ()
20.4.5 mysql_create_db ()
20.4.6 mysql_data_seek ()
20.4.7 mysql_debug ()
20.4.8 mysql_drop_db ()
20.4.9 mysql_dump_debug_info ()
20.4.10 mysql_eof ()
20.4.11 mysql_errno ()
20.4.12 mysql_error ()
20.4.13 mysql_escape_string ()
20.4.14 mysql_fetch_field ()
20.4.15 mysql_fetch_fields ()
20.4.16 mysql_fetch_field_direct ()
20.4.17 mysql_fetch_lengths ()
20.4.18 mysql_fetch_row ()
20.4.19 mysql_field_count ()
20.4.20 mysql_field_seek ()
20.4.21 mysql_field_tell ()
20.4.22 mysql_free_result ()
20.4.23 mysql_get_client_info ()
20.4.24 mysql_get_host_info ()
20.4.25 mysql_get_proto_info ()
20.4.26 mysql_get_server_info ()
20.4.27 mysql_info ()
20.4.28 mysql_init ()
20.4.29 mysql_insert_id ()
20.4.30 mysql_kill ()
20.4.31 mysql_list_dbs ()
20.4.32 mysql_list_fields ()
20.4.33 mysql_list_processes ()
20.4.34 mysql_list_tables ()
20.4.35 mysql_num_fields ()
20.4.36 mysql_num_rows ()
20.4.37 mysql_options ()
20.4.38 mysql_ping ()
20.4.39 mysql_query ()
20.4.40 mysql_real_connect ()
20.4.41 mysql_real_query ()
20.4.42 mysql_reload ()
20.4.43 mysql_row_seek ()
20.4.44 mysql_row_tell ()
20.4.45 mysql_select_db ()
20.4.46 mysql_shutdown ()
20.4.47 mysql_stat ()
20.4.48 mysql_store_result ()
20.4.49 mysql_thread_id ()
20.4.50 mysql_use_result ()
20.4.51 为什么在mysql_query()返回成功后mysql_store_result()有时返回NULL?
20.4.52 我能从查询得到什么结果?
20.4.53 我怎样才能获得最后插入的行的唯一ID?
20.4.54 链接 C API的问题
20.4.55 怎样制作一个线程安全(thread-safe)的客户
20.5 MySQL Perl API
20.5.1 DBI与DBD::mysql
20.5.2 DBI接口
20.5.3 更多的DBI/DBD信息
20.6 MySQL Eiffel 包装
20.7 MySQL Java 连接(JDBC)
20.8 MySQL PHP API
20.9 MySQL C++ API
20.10 MySQL Python API
20.11 MySQL TCL API
21 怎样对比MySQL与其他数据库
21.1 怎样对比MySQL和mSQL
21.1.1 怎样将mSQL工具转换到MySQL
21.1.2 mSQL和MySQL的 客户机/服务器通讯协议有何不同
21.1.3 mSQL 2.0 SQL句法与MySQL有何不同
21.2 怎样对比MySQL与PostgreSQL
A 一些 MySQL 用户
B 贡献的程序
C MySQL贡献者
D MySQL 变迁的历史记录
E MySQL中已知的错误和设计缺限
F 我们想要在未来加入到MySQL 的计划表( TODO )
G 对移植到其他系统的说明
H MySQL 正则表达式句法的描述
I 什么是 Unireg?
J 针对非微软操作系统的 MySQL 服务器许可证
K 针对微软操作系统的 MySQL 许可证
SQL命令,类型和函数索引
概念索引