前
言
MySQL
是一个广受
Linux
社区人们喜爱的半商业的数据库。
MySQL
是可运行在大多数
的
Linux
平台
(i386
,
Sparc
,
etc)
,以及少许非
Linux
甚至非
Unix
平台。
MySQL
的普及很大程度上源于它的宽松,除了略显不寻常的许可费用。
MySQL
的价格
随平台和安装方式变化。
MySQL
的
Windows
版本(
NT
和
9X
)在任何情况下都不免费,而
任何
Unix
变种(包括
Linux
)的
MySQL
如果由用户自己或系统管理员而不是第三方安装则
是免费的,第三方安装则必须付许可费。而且现在已经有了符合
GPL
的
MySQL
版本。
MySQL
具有这样明显的优势,并且由于它优异的性能,
MySQL
的应用也越来越广泛,
使用者也越来越多。但是在市场上,相应的适合培训的教材却屈指可数,广大爱好者苦于资
料的缺乏而无法对
MySQL
做进一步的了解。为了适应培训市场的需求,本书定位于具有一
定计算机知识读者的培训教材。读者在本书中,可以循序渐进的掌握
MySQL
的安装、使
用、管理、备份和安全等多方面的知识。由于内容的翔实和学习内容的由浅入深,本书也适
合于个别读者的自学过程。
本书的一大特色是——对于每一项具体的服务器操作,都尽量给出了多种的解决方
案。读者既可以学会如何使用
MySQL
,同时也可以通过这样的安排一窥
MySQL
的灵活
性,并且可以通过这种举一反三的方法,对
MySQL
系统有一个非常详尽的了解,也能够加
深对培训内容的理解和记忆。
此外,每一章的结束,本书都提出若干思考题,基本上都覆盖了该章的内容,可以用
来测试培训的效果,也可以用来读者可以用之检测自己的掌握程度。在正文中的例子,读者
也不应该忽视,阅读后建议重复正文中所有的例子,再考虑思考题中的内容。
本书结构的这种安排就是最大限度的满足培训教材的要求,同时为普通读者的阅读创
造方便,使本书包含较大的信息量。在通读本书之后,相信读者可以对
MySQL
有了很深的
了解,可以独立的对
MySQL
数据库系统进行管理。
编者时间仓促,难免在文中有疏漏之处,如果给您的阅读造成困难,请谅解。
编著者
内 容 提 要
本书详细介绍了如何安装、管理、备份、维护和优化一个 MySQL 系统。对于每一件服务
器操作都提出了多种的解决方案。对于每一种的方法,虽然不一定都是非常实用的方法,读者
能通过这些方法,熟悉 MySQL 的特点和强大的功能。
第一章简单介绍了 MySQL 的历史、特点,同时对 SQL 的语法进行了简单的介绍。如果读
者对第一章的内容不能很好的掌握,可以略过不了解的内容,在阅读二、三章之后重新理解其
中内容。第二章介绍了如何安装一个 MySQL 系统。第三、四章详细叙述了如何利用 SQL 语言
以及其它的客户工具对 MySQL 数据库中的数据进行操作。第五、六章介绍了数据库目录以及
如何备份、恢复和维护数据库安装。第七章介绍了 MySQL 权限系统和如何为数据库创建、撤
销授权。第八章则对优化数据库性能的各个方面进行了阐述。
附录一中详细列出了 M
YSQL 列类型、函数和 SQL 语句的参考。附录二全面介绍了本书出
现的程序的全部选项及其含义。
目 录
第一章 MYSQL 入门与初步 ................................................................................................. 1
1.1
MYSQL简介 ............................................................................. 错误!未定义书签。
1.1.1 MySQL
是什么
? ....................................................................
错误!未定义书签。
1.1.2
我需要
MySQL
吗
? ...............................................................
错误!未定义书签。
1.1.3
我需要付钱吗
? ...................................................................
错误!未定义书签。
1.1.4
如何得到
MySQL? ...............................................................
错误!未定义书签。
1.1.5
总结
......................................................................................
错误!未定义书签。
1.2 关系数据库管理系统 ................................................................ 错误!未定义书签。
1.2.1
关系数据库系统
.................................................................
错误!未定义书签。
1.2.2
数据库系统的发展
.............................................................
错误!未定义书签。
1.2.3
与数据库系统通讯
.............................................................
错误!未定义书签。
1.2.4 MySQL
的体系结构
..............................................................
错误!未定义书签。
1.2.5
总结
......................................................................................
错误!未定义书签。
1.3 MYSQL使用的SQL语言 ............................................................ 错误!未定义书签。
1.3.1
表、列和数据类型
.............................................................
错误!未定义书签。
1.3.2
函数
......................................................................................
错误!未定义书签。
1.3.3 SQL
的语句
...........................................................................
错误!未定义书签。
1.3.4
总结
......................................................................................
错误!未定义书签。
1.4 MYSQL数据处理 ........................................................................ 错误!未定义书签。
1.4.1 MySQL
的数据
......................................................................
错误!未定义书签。
1.4.1.1、字符串值 .................................................................... 错误!未定义书签。
1.4.1.2 数字值 ........................................................................... 错误!未定义书签。
1.4.1.3 十六进制值 ................................................................... 错误!未定义书签。
1.4.1.4 日期和时间值 ............................................................... 错误!未定义书签。
1.4.1.4 NULL值 ........................................................................ 错误!未定义书签。
1.4.2
列类型概述
..........................................................................
错误!未定义书签。
1.4.3
数字列类型
.........................................................................
错误!未定义书签。
1.4.3.1 整数类型 ....................................................................... 错误!未定义书签。
1.4.3.2 浮点数类型 ................................................................... 错误!未定义书签。
1.4.4
日期和时间类型
.................................................................
错误!未定义书签。
1.4.4.1 Y2K问题和日期类型 ................................................... 错误!未定义书签。
1.4.4.2 DATETIME,DATE和TIMESTAMP类型 ..................... 错误!未定义书签。
1.4.4.3 TIME类型 ..................................................................... 错误!未定义书签。
MySQL
金典培训教程
2
http://www.yurennet.com
1.4.4.4 YEAR类型 .................................................................... 错误!未定义书签。
1.4.5
字符串类型
.........................................................................
错误!未定义书签。
1.4.5.1 CHAR和VARCHAR类型 ............................................. 错误!未定义书签。
1.4.5.2 BLOB和TEXT类型 ...................................................... 错误!未定义书签。
1.4.5.3 ENUM和SET类型 ........................................................ 错误!未定义书签。
1.4.6
总结
......................................................................................
错误!未定义书签。
第二章 MySQL 的安装 27
2.1 MYSQL系统的安装布局 ............................................................ 错误!未定义书签。
2.1.1
二进制安装
.........................................................................
错误!未定义书签。
2.1.2 RPM
安装
..............................................................................
错误!未定义书签。
2.1.3
源代码安装
.........................................................................
错误!未定义书签。
2.1.4
总结
......................................................................................
错误!未定义书签。
2.2 安装MYSQL系统的分发 ......................................................... 错误!未定义书签。
2.2.1
在
Windows
下的安装一个二进制分装
..............................
错误!未定义书签。
2.2.2
在
Windows NT/2000
下安装成系统服务
..........................
错误!未定义书签。
2.2.3
在
Linux
下安装一个
RPM
分发
............................................
错误!未定义书签。
2.2.4
在
Linux
下安装二进制分发
................................................
错误!未定义书签。
2.2.5
在
Linux
下安装源代码分发
................................................
错误!未定义书签。
2.2.6
总结
.....................................................................................
错误!未定义书签。
2.3 安装后期的的设置与测试 ........................................................ 错误!未定义书签。
2.3.1
建立启动
MySQL
的帐户
......................................................
错误!未定义书签。
2.3.2
初始化授权表
.....................................................................
错误!未定义书签。
2.3.3
测试服务器是否工作
.........................................................
错误!未定义书签。
2.3.4
自动运行和停止
MySQL .....................................................
错误!未定义书签。
2.3.5
更改
root
用户的密码
..........................................................
错误!未定义书签。
2.3.6
修改选项文件
.....................................................................
错误!未定义书签。
2.3.7
总结
......................................................................................
错误!未定义书签。
2.4 系统的升级 ................................................................................ 错误!未定义书签。
2.4.1
备份数据库与其他配置文件
.............................................
错误!未定义书签。
2.4.2
重新安装二进制分发
.........................................................
错误!未定义书签。
2.4.3
重新安装源代码分发
..........................................................
错误!未定义书签。
2.4.4
升级一个
RPM
分发
.............................................................
错误!未定义书签。
2.4.5
检查数据库是否工作及完整
.............................................
错误!未定义书签。
2.4.6
总结
......................................................................................
错误!未定义书签。
2.5 在同一台机器上运行多个MYSQL服务器 ............................... 错误!未定义书签。
2.5.1
使用重新编译的方法
..........................................................
错误!未定义书签。
2.5.2
使用指定服务器参数的方法
..............................................
错误!未定义书签。
2.5.3
有关选项文件的问题
..........................................................
错误!未定义书签。
8
MySQL
入门及初步
http://www.yurennet.com
3
2.5.4
总结
.....................................................................................
错误!未定义书签。
第三章 数据库的基本操作 ............................................................................................ 46
3.1
MYSQL的启动与终止 ................................................................ 错误!未定义书签。
3.1.1
直接运行守护程序
.............................................................
错误!未定义书签。
3.1.2
使用脚本
mysql.server
启动关闭数据库
.............................
错误!未定义书签。
3.1.3
使用
mysqladmin
实用程序关闭、重启数据库
..................
错误!未定义书签。
3.1.4
启动或停止
NT
平台上的系统服务
....................................
错误!未定义书签。
3.1.5
使用选项文件提供服务器的参数
.....................................
错误!未定义书签。
3.1.6
总结
.....................................................................................
错误!未定义书签。
3.2 MYSQL与客户机的连接 ............................................................ 错误!未定义书签。
3.2.1
建立和中止与服务器的连接
..............................................
错误!未定义书签。
3.2.2
利用选项文件简化连接
......................................................
错误!未定义书签。
3.2.3
利用
mysql
的输入行编辑器
............................................
错误!未定义书签。
3.2.4
批处理模式连接
.................................................................
错误!未定义书签。
3.2.5
总结
.....................................................................................
错误!未定义书签。
3.3 有关数据库的操作 .................................................................... 错误!未定义书签。
3.3.1
用
SHOW
显示已有的数据库
..............................................
错误!未定义书签。
3.3.2
用
Create Dabase
创建数据库
...........................................
错误!未定义书签。
3.3.3
用
DROP DATABASE
删除数据库
......................................
错误!未定义书签。
3.3.4
使用
mysqladmin
工具创建和删除
......................................
错误!未定义书签。
3.3.5
直接在数据库目录中创建或删除
.....................................
错误!未定义书签。
3.3.6
用
USE
选用数据库
..............................................................
错误!未定义书签。
3.3.7
总结
.....................................................................................
错误!未定义书签。
3.4 有关数据表的操作 .................................................................... 错误!未定义书签。
3.4.1
用
SHOW/ DESCRIBE
语句显示数据表的信息
.................
错误!未定义书签。
3.4.2
使用
mysqlshow
工具得到信息
.........................................
错误!未定义书签。
3.4.3
用
CREATE TABLE
语句创建数据表
................................
错误!未定义书签。
3.4.4
利用
SELECT
的结果创建表
............................................
错误!未定义书签。
3.4.5
用
ALTER TABLE
语句修改表的结构
.................................
错误!未定义书签。
3.4.6
用
DROP TABLE
语句删除数据表
....................................
错误!未定义书签。
3.4.7
总结
.....................................................................................
错误!未定义书签。
3.5 向数据表插入行记录 ................................................................ 错误!未定义书签。
3.5.1
使用
INSERT
语句插入新数据
............................................
错误!未定义书签。
3.5.2
使用
INSERT…SELECT
语句插入从其他表选择的行
......
错误!未定义书签。
3.5.3
使用
replace
、
replace…select
语句插入
.............................
错误!未定义书签。
3.5.4
使用
LOAD
语句批量录入数据
..........................................
错误!未定义书签。
3.5.5
总结
.....................................................................................
错误!未定义书签。
3.6 查询数据表中的记录 ................................................................ 错误!未定义书签。