MySQL高效编程
查看书籍详细信息:
内容简介
本书详细系统地介绍了MySQL数据库的开发技术,从MySQL数据库以及MySQL中使用的SQL语言基础入手,再结合具体的网店数据库实例,重点介绍了事务处理、索引、视图、存储过程、存储函数、触发器等高级应用技巧,最后介绍了如何使用MySQL数据库开发如Facebook或mixi一样的社交网站,并配备了详细的源代码解说。
本书适用于数据库开发人员、系统设计人员、系统维护人员、数据库管理人员、数据库初学者及其他数据库从业人员,也可以作为各大中专院校相关专业的参考用书和相关培训机构的培训教材。
作者简介
王志刚
1998年大学毕业后进入青岛海尔集团,经历过IT泡沫那个激动人心的时代。由于工作原因东渡日本,历经程序员、系统工程师、项目经理、开发部长等职,在13年的开发生涯中,参加过日立、富士通等公司主导的大型项目的开发,取得了如获得日本国专利等成绩。作者擅长各种Web开发技术,在十多年的工作中,积累了不少大型项目的开发经验,并愿意和尝试着与他人分享。
目录
第1部分 MySQL基础篇
第1章 数据库与MySQL
1.1 数据库简介
1.1.1 数据库管理系统
1.1.2 数据库应用程序
1.2 数据库的种类
1.2.1 阶层型/网络型数据库
1.2.2 卡片型数据库
1.2.3 关系型数据库
1.2.4 面向对象型数据库
1.2.5 XML型数据库
1.3 认识MySQL数据库
1.3.1 选择MySQL数据库的两大理由
1.3.2 两种MySQL数据库类型
1.3.3 MySQL数据库的优势
1.4 SQL语言
第2章 MySQL的安装与配置
2.1 Windows环境下所需的软件包
2.2 下载Windows版安装软件包
2.3 在Windows下执行安装程序
2.4 启动MySQL数据库服务器
2.5 在Linux环境下安装MySQL
第3章 启动MySQL监视器(Monitor)创建数据库
3.1 确认数据库运行环境
3.2 使用MySQL监视器(Monitor)
3.2.1 MySQL监视器的启动
3.2.2 MySQL监视器不能正常启动的原因
3.2.3 MySQL监视器的退出
3.2.4 使用历史命令
3.2.5 安全的密码输入方式
3.3 创建数据库与表
3.3.1 创建数据库
3.3.2 创建表
3.3.3 显示表信息
3.4 数据插入及显示
3.5 CREATE TABLE命令的选项
3.5.1 AUTO_INCREMENT自增序列
3.5.2 初始化AUTO_INCREMENT
3.5.3 其他选项
第4章 在MySQL中使用SQL
4.1 导入实用小型网店数据库
4.2 SQL语句的种类
4.3 在MySQL监视器使用SQL语句的规则
4.4 数据的插入/更新/删除
4.4.1 新记录的插入——INSERT命令
4.4.2 更新已存在的记录——UPDATE命令
4.4.3 删除记录——DELETE命令
4.4.4 数据检索——SELECT命令
4.5 运算符与数据库函数
4.5.1 运算符
4.5.2 数据库函数
4.6 多个表的连接
4.6.1 内连接
4.6.2 外连接
4.6.3 3个或3个以上表间的连接
4.6.4 在其他查询的基础上进行数据检索
第5章 表的维护和改造
5.1 修改表的列结构
5.1.1 ALTER TABLE命令
5.1.2 改变列的数据类型
5.1.3 追加新列
5.1.4 改变列的位置
5.1.5 改变列名与类型
5.1.6 删除列
5.2 复制表和删除表
5.2.1 表的列构造与数据的复制
5.2.2 表的删除
第2部分 MySQL高级应用篇
第6章 事务处理及锁定
6.1 存储引擎
6.1.1 了解MySQL的存储引擎
6.1.2 设置存储引擎
6.1.3 存储引擎的变更
6.2 事务处理
6.2.1 为什么需要事务处理
6.2.2 演示简单的事务处理——删除后回滚
6.2.3 自动提交功能
6.2.4 部分回滚——只提交针对数据库的部分操作
6.2.5 事务处理的利用范围
6.3 锁定与事务处理分离水平
6.3.1 为什么需要锁定
6.3.2 锁定的种类
6.3.3 锁定粒度
6.3.4 多用户数据更新中理解事务处理的分离水平
6.4 深入理解事务处理内部的动作
6.4.1 UNDO日志
6.4.2 REDO日志
第7章 如何在数据库中使用索引
7.1 什么是索引
7.2 了解索引的内部构造
7.2.1 B树
7.2.2 使用索引后的检索过程
7.3 索引的设置与分析
7.3.1 为员工信息表创建索引
7.3.2 创建多列构成的复合索引及唯一性索引
7.3.3 确认员工信息表索引的使用状态,分析索引优劣
7.3.4 索引实效的场合总结
第8章 如何在网店数据库中使用视图
8.1 为什么需要视图
8.2 视图的本质
8.3 在网店订单信息检索中应用视图
8.3.1 创建网店订单信息视图
8.3.2 确认网店订单视图的内容
8.3.3 在检索订单信息时使用视图
8.3.4 在变更数据(INSERT/UPDATE/DELETE)时使用视图
8.3.5 创建视图时使用[WITH CHECK OPTION]命令
第9章 如何在数据库中使用存储过程
9.1 什么是存储过程
9.2 在数据库中使用存储过程
9.2.1 定义存储过程
9.2.2 确认数据库中存储过程
9.2.3 执行存储过程
9.3 创建存储过程的要点
9.3.1 定义输出参数
9.3.2 使用IF命令实现多重条件分支
9.3.3 使用CASE命令使用多重条件分支
9.3.4 定义本地变量
9.3.5 使用循环语句
9.3.6 WHILE命令与REPEAT命令的区别
第10章 使用函数与触发器
10.1 存储函数
10.1.1 定义存储函数
10.1.2 确认创建成功的存储函数
10.2 触发器
10.2.1 触发器的基本语法
10.2.2 定义触发器
10.2.3 确认创建完成的触发器
10.2.4 测试触发器
10.3 游标
第11章 数据库管理中文件的使用
11.1 从文本文件中读取数据(import)
11.1.1 CSV文件与数据导入
11.1.2 导入数据文件
11.2 将表中数据以文本文件形式导出(export)
11.3 执行文件中保存的SQL命令系列
11.3.1 在MySQL监视器中执行文件中保存的SQL命令系列
11.3.2 在命令行窗口中执行文件中保存的SQL命令系列
11.4 文件中保存SQL的执行结果
11.4.1 使用重定向将SQL语句的执行结果输出到文本文件中
11.4.2 使用tee命令将SQL语句的执行结果保存到文件中
11.5 数据库整体的备份与恢复
11.5.1 备份与恢复的方法
11.5.2 使用mysqldump命令对数据库进行转储
11.5.3 使用转储文件进行数据库恢复
第3部分 实例篇
第12章 MySQL+PHP的运行环境
12.1 Linux环境中的基本配置
12.1.1 Apache服务器的安装方法
12.1.2 PHP的安装方法
12.2 Windows环境中的基本配置
12.2.1 安装Apache服务器
12.2.2 安装PHP
第13章 使用PHP+MySQL构建网络留言社区
13.1 网络留言社区的系统概要
13.2 数据库表设计以及程序设计
13.2.1 表设计
13.2.2 程序设计
13.3 程序详细代码及详解
13.4 关于函数htmlspecialchars
第14章 使用MySQL+PHP构筑SNS网站
14.1 SNS网站概要
14.1.1 功能简介
14.1.2 界面概况
14.2 框架选择及子系统设计
14.2.1 选择Zend Framework&Smarty的理由
14.2.2 系统分析——子系统设计
14.2.3 配置Zend Framework&Smarty的运行环境
14.2.4 系统共通功能设计
14.3 子系统详细代码及解说
14.3.1 用户注册
14.3.2 个人简介
14.3.3 我的社交圈
14.3.4 我的博客
14.3.5 站内留言
附录A 将默认存储引擎设置为InnoDB
A.1 修改my.ini配置文件
A.2 配置my.cnf文件
附录B MySQL数据库的图形化管理工具
B.1 MySQL Front
B.2 phpMyAdmin
在线试读部分章节
第1章 数据库与MySQL
为了使零基础的读者快速入门,本章首先介绍一些有关数据库的基本概念,然后再重点介绍MySQL数据库。
1.1 数据库简介
数据库起源于第二次世界大战中,美军为了更有效率地管理大量的资料,而将数据信息集中到一个基地来进行管理,这个集合数据信息的基地就被称为数据库(Database)。现在,数据库意味着以某种规则收集数据,且一般情况下具有对收集的数据进行“插入”、“检索”、“抽出”操作等功能。
将数据收集在一起并不能称为数据库,只有具有能利用数据信息的功能时才能被称为数据库。因此,通常提到“数据库”这个专用名词时,必须要理解下面的两个概念。
数据库管理系统;
数据库应用程序。
1.1.1 数据库管理系统
数据库仅仅只是放置数据的抽屉。对数据进行读取/插入操作的是由数据库管理系统(DataBaseManageIllent
System,DBMS)完成的。DBMS主要是进行数据的创建(Create)、读取(Read)、更新(Update)、删除(Delete)等数据操作,当然还要完成其他一些功能。
1.1.2 数据库应用程序
DBMS仅仅是提供操作/管理数据库等通用手段的软件。DBMS能进行所有与数据库相关的操作,但是用户必须具有与数据库相关的专业知识,这对终端用户来说有困难。因此,对终端用户来讲,需要使用定制的应用程序这种更简洁的形式来利用数据库。
以我们身边的例子Google搜索引擎来说,Google在Internet上收集的巨大的网页信息数据库,用户只用输入检索关键字,点击“检索”后就能利用这些在数据库中存储的信息。
……