“入门很简单丛书”是由清华大学出版社精心打造的一套编程入门图书。丛书强调“零门槛学编程,看得懂,学得会,容易上手”的理念。目前已经出版了十几个品种,涵盖常见编程语言和技术。丛书中的每一本都由经验丰富的编程老手精心编写,讲解细腻,易学好用,视频教学,深受读者喜爱,销量居于同类图书的前列,是近年来不可多得的编程图书。可以说,这套丛书是编程新手上手的读物!
本书从初学者的角度出发,由浅入深,循序渐进地介绍了mysql数据库应用与开发的相关知识。书中提供了大量操作mysql数据库的示例,还提供了大量实例和上机实践内容,供读者演练。本书附带1张dvd光盘,内容为与本书内容配套的多媒体教学视频和本书涉及的源代码。
本书共分5篇。第1篇介绍数据库的基本知识、在windows平台下安装mysql数据库、在linux平台下安装mysql数据库;第2篇介绍mysql数据类型、创建和删除数据库、数据库存储引擎、创建表、修改表、删除表、索引、视图、触发器;第3篇介绍查询数据、插入数据、更新数据、删除数据、mysql运算符、mysql函数、存储过程和函数;第4篇介绍mysql用户管理、数据备份、数据还原、mysql日志、性能优化;第5篇介绍java访问mysql数据库、php访问mysql数据库、c#访问mysql数据库,还提供了一个项目实战案例。
本书涉及面广,几乎涉及mysql数据库应用与开发的所有重要知识,适合所有的mysql数据库初学者快速入门,也适合mysql数据库管理员和想学习mysql数据库技术的人员阅读。另外,对于大中专院校和培训班的学生,本书更是一本不可多得的教材。
超值、大容量DVD光盘
本书源文件与数据库备份文件
25.5小时本书配套多媒体教学视频
17小时SQL Server学习视频(赠送)
27.5小时Linux学习视频(赠送)
获得大量好评的MySQL畅销书,累计8次印刷,畅销近20000册
荣获“读者喜爱的原创IT技术图书奖”
MySQL数据库入门必读经典,25.5小时配套教学视频,送教学PPT浅显易懂,
零门槛学MySQL,看得懂,学得会,容易上手,真的很简单!
亲切自然,老鸟带领菜鸟,快速掌握MySQL数据库
推荐阅读:
PHP典型模块与项目实战大全》
Oracle数据库管理从入门到精通 Oracle PL/SQL从入门到精通(套装全2册)》
Oracle数据库管理从入门到精通》 (一本书彻底搞定Oracle数据库管理与维护)
Oracle PL/SQL从入门到精通》(PL/SQL经典畅销书)
SQL Server 2012王者归来——基础、安全、开发及性能优化》
《NoSQL数据库技术实战》 (腾讯工程师力作)
SQL Server入门很简单》 (数据库畅销书作者力作,10小时视频)
我和数学有约——趣味数学及算法解析》
程序员的数学思维修炼(趣味解读)》 (专门为程序员而写,生动有趣)
黄缙华毕业于华北电力大学,获硕士学位。致力于MySQL、Linux和Java等开源技术的研究,担任国内知名Linux论坛的数据库版的版主。长期参与电力行业项目开发,从事电力系统图形、数据、模型一体化的研究。业余喜欢羽毛球、乒乓球、游泳等运动。
第1篇 MySQL数据库基
第1章 数据库概述(教学视频:10分钟)
1.1 数据库理论基
1.1.1 数据存储方式
1.1.2 数据库泛型
1.1.3 数据库在开发中作用
1.2 数据库技术构成
1.2.1 数据库系统
1.2.2 SQL语
1.2.3 数据库访问技术
1.3 MySQL基
1.3.1 常见数据库系统
1.3.2 为什么要使用MySQL
1.3.3 MySQL版本和获取
1.4 如何学习数据库
1.5 常见问题及解答
1.6 小结
1.7 本章习题
第2章 Windows平台下安装与配置MySQL(教学视频:52分钟)
2.1 安装与配置MySQL
2.1.1 安装MySQL
2.1.2 配置MySQL
2.2 启动服务并登录MySQL数据库
2.2.1 启动MySQL服务
2.2.2 登录MySQL数据库
2.2.3 配置Path变量
2.3 更改MySQL的配置
2.3.1 通过配置向导来更改配置
2.3.2 手工更改配置
2.4 MySQL常用图形管理工具
2.5 使用免安装的MySQL
2.6 上机实践
2.7 常见问题及解答
2.8 小结
2.9 本章习题
第3章 Linux平台下安装与配置MySQL(教学视频:7分钟)
3.1 Linux操作系统下的MySQL版本介绍
3.2 安装和配置MySQL的RPM包
3.3 安装和配置MySQL的二进制包
3.4 安装和配置MySQL的源码包
3.5 上机实践
3.6 常见问题及解答
3.7 小结
3.8 本章习题
第2篇 MySQL数据库基本操作
第4章 MySQL数据类型(教学视频:92分钟)
4.1 MySQL数据类型介绍
4.1.1 整数类型
4.1.2 浮点数类型和定点数类型
4.1.3 日期与时间类型
4.1.4 字符串类型
4.1.5 二进制类型
4.2 如何选择数据类型
4.3 常见问题及解答
4.4 小结
4.5 本章习题
第5章 操作数据库(教学视频:29分钟)
5.1 创建数据库
5.2 删除数据库
5.3 数据库存储引擎
5.3.1 MySQL存储引擎简介
5.3.2 InnoDB存储引擎
5.3.3 MyISAM存储引擎
5.3.4 MEMORY存储引擎
5.3.5 存储引擎的选择
5.4 本章实例
5.5 上机实践
5.6 常见问题及解答
5.7 小结
5.8 本章习题
第6章 创建、修改和删除表(教学视频:113分钟)
6.1 创建表
6.1.1 创建表的语法形式
6.1.2 设置表的主键
6.1.3 设置表的外键
6.1.4 设置表的非空约束
6.1.5 设置表的性约束
6.1.6 设置表的属性值自动增加
6.1.7 设置表的属性的默认值
6.2 查看表结构
6.2.1 查看表基本结构语句DESCRIBE
6.2.2 查看表详细结构语句SHOW CREATE TABLE
6.3 修改表
6.3.1 修改表名
6.3.2 修改字段的数据类型
6.3.3 修改字段名
6.3.4 增加字段
6.3.5 删除字段
6.3.6 修改字段的排列位置
6.3.7 更改表的存储引擎
6.3.8 删除表的外键约束
6.4 删除表
6.4.1 删除没有被关联的普通表
6.4.2 删除被其他表关联的父表
6.5 本章实例
6.6 上机实践
6.7 常见问题及解答
6.8 小结
6.9 本章习题
第7章 索引(教学视频:82分钟)
7.1 索引简介
7.1.1 索引的含义和特点
7.1.2 索引的分类
7.1.3 索引的设计原则
7.2 创建索引
7.2.1 创建表的时候创建索引
7.2.2 在已经存在的表上创建索引
7.2.3 用ALTER TABLE语句来创建索引
7.3 删除索引
7.4 本章实例
7.5 上机实践
7.6 常见问题及解答
7.7 小结
7.8 本章习题
第8章 视图(教学视频:80分钟)
8.1 视图简介
8.1.1 视图的含义
8.1.2 视图的作用
8.2 创建视图
8.2.1 创建视图的语法形式
8.2.2 在单表上创建视图
8.2.3 在多表上创建视图
8.3 查看视图
8.3.1 DESCRIBE语句查看视图基本信息
8.3.2 SHOW TABLE STATUS语句查看视图基本信息
8.3.3 SHOW CREATE VIEW语句查看视图详细信息
8.3.4 在views表中查看视图详细信息
8.4 修改视图
8.4.1 CREATE OR REPLACE VIEW语句修改视图
8.4.2 ALTER语句修改视图
8.5 更新视图
8.6 删除视图
8.7 本章实例
8.8 上机实践
8.9 常见问题及解答
8.10 小结
8.11 本章习题
第9章 触发器(教学视频:59分钟)
9.1 创建触发器
9.1.1 创建只有一个执行语句的触发器
9.1.2 创建有多个执行语句的触发器
9.2 查看触发器
9.2.1 SHOW TRIGGERS语句查看触发器信息
9.2.2 在triggers表中查看触发器信息
9.3 触发器的使用
9.4 删除触发器
9.5 本章实例
9.6 上机实践
9.7 常见问题及解答
9.8 小结
9.9 本章习题
第3篇 sql查询语句
第10章 查询数据(教学视频:207分钟)
第11章 插入、更新与删除数据(教学视频:45分钟)
第12章 mysql运算符(教学视频:75分钟)
第13章 mysql函数(教学视频:132分钟)
第14章 存储过程和函数(教学视频:78分钟)
第4篇 mysql数据库高级管理
第15章 mysql用户管理(教学视频:75分钟)
第16章 数据备份与还原(教学视频:56分钟)
第17章 mysql日志(教学视频:54分钟)
第18章 性能优化(教学视频:48分钟)
第5篇 mysql应用与实战开发
第19章 java访问mysql数据库(教学视频:45分钟)
第20章 php访问mysql数据库(教学视频:44分钟)
第21章 c#访问mysql数据库(教学视频:55分钟)
第22章 驾校学员管理系统(教学视频:95分钟)
第1章 数据库概述
简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效地组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server和MySQL等诸多的数据库。本章将讲解的内容包括如下:
数据存储方式;
数据库泛型;
数据库在开发中作用;
SQL语言;
数据库访问技术;
常见数据库系统;
MySQL数据库的介绍;
如何学习数据库。
通过本章的学习,读者可以了解为什么要使用数据库?什么是数据库泛型?什么是SQL语言?如何访问数据库?常见的数据库有哪些等。同时,读者可以了解MySQL数据库的优势和如何获得MySQL数据库。,读者将会了解如何学习数据库。
1.1 数据库理论基
数据库能够将数据按照特定的规律组织起来。那么,数据是如何存储的?数据库要遵守什么规则?数据库在什么地方使用?这些都是首先要了解的问题。本节将为读者介绍这些问题。
1.1.1 数据存储方式
如今数据库已经无处不在了。一个网站需要有数据库来存储数据;一个学校需要用数据库来存储学生和教师的信息;一个公司需要用数据库来存储员工的信息和公司的资料。要学习数据库,必须先要了解数据库是如何存储数据的。本小节将为读者介绍数据的存储方式。数据存储分为3个阶段即人工管理阶段、文件系统阶段和数据库系统阶段。
1.人工管理阶段
在计算机发展的早期,它的主要作用是进行科学计算。而且,计算机存储设备还没有发展起来?数据主要是存储在纸带、磁带等介质上,或者直接通过手工记录。
说明:美国人Herman Hollerith(1860~1929年)根据提花织布机的原理发明了穿孔片计算机,通过纸带来存储数据。在19世纪50年代,IBM最早把盘式磁带用在数据存储上。一卷磁带可以代替1万张打孔纸卡。随着技术的发展,逐渐出现了磁鼓、软盘、硬盘和光盘等存储设备。
这个阶段,数据都是依靠人工进行整理和保存的。使用这种方式来管理数据很不方便。例如,不便于查询数据、难以共享数据和不便于保存。现在,国内的一些部门还处在人工管理数据的阶段,还需要管理大量的纸质文件。
2.文件系统阶段
随着计算机操作系统的出现和硬件的发展,可以将数据存储在计算机的磁盘上。这些数据都以文件的形式出现,然后通过文件系统来管理这些文件。文件系统通过文件的存储路径和文件名称来访问文件中的数据。
文件系统可以很好的保存文件,使用起来也很方便。相对于人工管理阶段而言,文件系统使得数据管理变得简单。至少不用为了一个文件而翻箱倒柜的查找了。但是,这些文件中的数据没有进行结构化处理,查询起来还不是很方便。
3.数据库系统阶段
随着数据量的增加和处理速度的要求,文件系统渐渐地不能满足数据管理的要求了。数据库系统阶段开始使用专门的数据库来管理数据。用户可以在数据库系统中建立数据库,然后在数据库中建立表,将数据存储在这些表中。
数据库是指长期存储在计算机内、有组织的和可共享的数据集合。简而言之,数据库就是一个存储数据的地方。表是数据库存储数据的基本单位。一个表由若干字段组成。例如,某个学校有个学生管理系统,其中的数据可以存储在名为student的数据库中。在student数据库中,可以为每个班级的学生建立一张表。表中包含学生的学号、姓名、性别和籍贯等信息。学号、姓名等就是这个表中的字段。可以根据这些字段来找到学生的相应信息。
数据库和表都存储在磁盘上,但用户不必关心它们在磁盘上的具体位置。用户可以直接通过数据库管理系统来查询表中的数据。现在使用最多的数据库是关系数据库。Oracle、SQL Server和MySQL等数据库都是关系数据库。关系数据库中的表都是二维表。
1.1.2 数据库泛型
数据库泛型就是数据库应该遵循的规则。数据库泛型也称为范式。目前,关系数据库最常用的4种范式分别是及时范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCN范式(BCNF)。本小节将为读者简单地介绍一下范式的内容。
在设计数据库时,数据库需要满足的低要求的范式是及时范式。及时范式的要求即表中不能有重复字段,并且每个字段不能再拆分。如果一个数据库连及时范式都不能满足的话,那就不能称之为关系数据库了。只有满足了及时范式的要求,才可以在这个关系数据库中创建表。
在满足及时范式的基础上,可以将数据库中进行进一步的细化。细化后可以使数据库满足第二范式的要求。依次进行细化,可以得到第三范式、BCN范式。
说明:例如,一个学生表中有学号、院系号和院系名这3个字段。因为学号可以决定是院系名,院系号也可以决定院系名。因此,这个表不是第二范式。现在对该表进行细化,细化后生成两个表。及时个表有学号、院系号这两个字段。第二个表有院系号、院系名这两个字段。这样就满足了第二范式的要求。
通常情况下,如果一个数据库能够满足第三范式的要求,那么这个数据库就是一个很好的数据库了。当一个数据库达到第三范式的要求,数据库中基本上没有冗余的内容了。但是,有时为了满足查询速度等要求,可以有意识的让某些表有些冗余。这是为了提高整个数据库的性能。
因此,在设计数据库时,不一定要拘泥于达到第三范式或者BCN范式。只要数据库的设计能提高整个系统的性能,这就是一个合理的数据库。
1.1.3 数据库在开发中作用
现在大部分的管理系统和软件都需要使用数据库来存储数据。在开发过程中,数据库已经成为必不可少的一部分。本小节将为读者简单介绍一下数据库在开发中的作用。
在软件开发过程中,经常需要使用数据库来存储数据。例如,一个学校的学生管理系统就需要数据库来存储学生的学籍信息、考试信息、教师的信息和课程信息等。再比如,银行的管理系统也需要数据库来存储信息。用户的银行账户、存款量、存款和取款的记录等信息都是存储在数据库中的。当用户向自己的账户里存款时,管理系统会在数据库中更新该用户的存款量。
笔者曾经开发过一个驾校的学员管理系统。在这个管理系统中,笔者就使用了MySQL数据库来存储管理员的信息、驾校学员的学籍信息和学员的考试信息等。然后通过网页的应用程序查询数据库中的数据、更新数据和删除数据。例如,管理员要登录系统就必须输入用户名和密码。然后网页的应用程序将管理员输入的用户名和密码与数据库表中的数据进行比较。如果表中存在这个用户名和密码,就允许管理员登录。
笔者还为某供电局开发过一个定值单管理的软件。在这个软件中,需要存储管理员的信息、用户的信息和定值单的信息等。笔者也是选择MySQL数据库来存储这些数据的。然后通过页面的应用程序来处理数据库中的数据。
说明:数据库的使用范围非常广泛,各行各业中都已经有了数据库的应用。例如,电力行业需要数据库来存储发电量、供电量和电费等信息;石油行业需要数据库来存储有关石油的数据;金融行业需要使用数据库来存储各种金融数据。
总而言之,数据库已经成为了软件开发不可缺少的一部分。如果没有数据库,这个软件将无法获得数据,也无法将执行后的数据保存。
1.2 数据库技术构成
数据库技术的出现是为了更加有效地管理和存取大量的数据资源。简单地讲,数据库技术主要包括数据库系统、SQL语言和数据库访问技术等。本节将为读者介绍数据库技术的内容。
1.2.1 数据库系统
很多读者认为数据库就是数据库系统(DataBase System,简称为DBS)。其实,数据库系统的范围比数据库大很多。数据库系统不是一个单纯的数据库,而是由数据库、数据库管理系统、应用开发工具等构成。很多时候,数据库管理员和用户也可以当成数据库系统的一份子。本小节将为读者介绍数据库系统的内容。
前面的章节对数据库已经进行了简单地介绍,数据库就是存储数据的地方。数据库管理系统(DataBase Management System,简称为DBMS)是用来定义数据、管理和维护数据的软件。它是数据库系统的一个重要的组成部分。应用系统是需要使用数据库的软件。比如学员管理系统就是一个应用系统。这个应用系统需要数据库来管理它的数据。应用开发工具就是用来开发应用系统的。
除了上述的软件部分以外,数据库系统还包括数据库管理员和用户。因为,依靠单纯的数据库管理系统来管理数据库中的数据是不现实的。很多时候需要一些专门管理这些数据的专业人员。这些管理数据的专业人员就是数据库管理员(DataBase Administrator,简称为DBA)。通常在大型的公司都需要有专门的数据库管理员。例如,网易就有专业的DBA组,他们主要负责管理和维护数据库。用户一般不直接与数据库接触,而是通过应用系统来使用数据。
1.2.2 SQL语
SQL(Structured Query Language即结构化查询语言)。数据库管理系统通过SQL语言来管理数据库中的数据。本小节将为读者介绍SQL语言的知识。
SQL语言是一种数据库查询和程序设计语言。其主要用于存取数据、查询数据、更新数据和管理关系数据库系统。SQL语言是IBM公司于1975年~1979年之间开发出来的,主要使用于IBM关系数据库原型System R。在20世纪80年代,SQL语言被美国国家标准学会(American National Standards Institute,简称为ANSI)和国际标准化组织(International Organization for Standardization,简称为ISO)通过为关系数据库语言的标准。
SQL语言分为3个部分数据定义语言(Data Definition Language,简称为DDL)、数据操作语言(Data Manipulation Language,简称为DML)和数据控制语言(Data Control Language,简称为DCL)。
DDL语句:数据定义语言主要用于定义数据库、表、视图、索引和触发器等。其中包括CREATE语句、ALTER语句和DROP语句。CREATE语句主要用于创建数据库、创建表和创建视图等。ALTER语句主要用于修改表的定义、修改视图的定义等。DROP语句主要用于删除数据库、删除表和删除视图等。
DML语句:数据操纵语言主要用于插入数据、查询数据、更新数据和删除数据。其中包括INSERT语句、SELECT语句、UPDATE语句和DELETE语句。INSERT语句用于插入数据;SELECT语句用于查询数据;UPDATE语句用于更新数据;DELETE语句用于删除数据。
DCL语句:数据控制语言主要用于控制用户的访问权限。其中包括GRANT语句和REVOKE语句。GRANT语句用于给用户增加权限;REVOKE语句用于收回用户的权限。
数据库管理系统通过这些SQL语句可以操作数据库中的数据。在应用程序中,也可以通过SQL语句来操作数据。例如,可以在Java语言中嵌入SQL语句。通过执行Java语言来调用SQL语句,这样即可在数据库中插入数据、查询数据。SQL语句也可以嵌入到C#语言、PHP语言等编程语言中。
1.2.3 数据库访问技术
应用系统中,程序语言需要使用数据库访问技术来访问数据库。只有使用数据库访问技术,程序中嵌入的SQL语句才会起作用。不同程序语言访问数据库的方式是不一样的。本小节将为读者简单讲解各种数据库访问技术。
不同的程序语言使用不同的数据库访问技术。早期的数据库访问技术是ODBC(Open Database Connectivity)。C#语言通过ADO.NET来访问数据库。Java语言使用JDBC(Java Data Base Connectivity)来访问数据库。使用这些数据库访问技术时,必须要另外安装相应的驱动程序。
ODBC 技术为访问不同的关系数据库提供了一个共同的接口。通过ODBC提供的接口,应用程序可以连接数据库。然后,可以执行SQL语言来操作数据库中的数据。ODBC提供的接口提供了较大限度的互操作性。使用ODBC来访问MySQL数据库时,必须安装驱动程序Connector/ODBC。
ADO.NET是微软公司提供的组件。用户可以通过ADO.NET提供的方法来访问数据库。ADO.NET是在.NET框架下优先使用的数据访问接口。使用ADO.NET来连接MySQL数据库时,必须安装驱动程序Connector/Net。
JDBC是一种用于执行SQL语句的Java API。Java语言通过JDBC可以访问多种关系数据库。JDBC由一组用Java语言编写的类和接口组成。使用JDBC时,必须要安装驱动程序Connector/J。
刚开时读,不过看到还附送其它视频,很不错。看来作者人品不会差,顶一个
很基础的入门书,内容有时候有些啰嗦,但是对于对数据库没有任何概念的人很不错。
别人推荐的书正在读,感觉不错,适合入门的人看
里面的内容很适合初学者,光盘送了其他教程,比如linux等,读盘的效果也很流畅,唯一不足的是书的纸张质量不是太好,其他没什么问题了
刚好用的时候就收到了 很好很及时 内容还没开始看呢
都是一些简单的SQL语句,并没有什么典型的实例给我们学习。尽管这样,这本书用来接触MySQL还是一个不错选择。幸亏那个光盘附带了大量的视频资料,而且还附带Linux的教学视频,就是因为多了这张光盘,我觉得这本书的价格还是可以接受。
书中的内容很基础,也比较全面,适合入门者的学习,也可以当做平时查找的一本工具书,挺不错的!
书得内容不错。初学者看看多有帮助。悲剧的是我购买的时候么送光盘给我。我联系了当当,,他们给我做了退货处理。客服态度非常好。再次非常感谢。我买了其他书。
书的质量很好,书的内容通俗易懂,是一本很好的Mysql入门书籍。
这书之前在书店看过一部份,感觉内容可以,所以才到杂志之家买的,比书店要便宜十几块。美中不足的是送来的这本书页面有些发黄,封面比较严重,而且封面还有褶皱!
视频讲解很坑爹,就是读PPT,如果是奔着视频讲解来的话,还是不要买了,视频对于学习没有任何帮助,只是浪费时间而已
如果你只是想稍微了解mysql,那这本书还行,但如果你想要掌握sql,这本书不适合你
适合菜鸟,赠送的视频有两个系统,linux+ ubuntu
讲了在MS和linux系统搭建,已经SQL语法和PHP java多种方式调用,很清晰,非常适合入门
这本书写的不错,比较适合新手,写的比较详细,值得没有学过mysql的读一读。
快递速度很快,内容对于初学者很实用,讲解细致,还在学习中
如果你没学过数据库的话,可以读这本书入门。也可以拿这本书当参考书。
书本讲锝太基础了点,考虑到不同层次读者的需求也算不错,但所谓的视频就是纯粹骗人的了,本书配套讲解教程大部分无法播放,linux教程就像一个小学生拿着书本照着在生硬的念。
对比了好几本,才选的这本书,结果没有光盘,网上申请换货,却变成了退货,估计是没有库存了,这样我也就理解为什么其他的书都很干净,唯独这一本有些脏兮兮的了。
内容还没怎么看但是光看包装就知道很用心的包装
书的质量很好,适合初学者和有一定基础的技术爱好者学习,强烈推荐
几经周折终于能刷公务卡了,给实验室购买的,不刷公务卡没法报账的。书很实用
我也不想说什么了,我只是想问问,这个书,是不是盗版的,才看了100页,不是图贴错了,就是有错别字。不做校对的吗?这么随意吗?
书光盘内真的有好多资源,本书内容、linux的、sqlsever 2005,还有作者推荐的书单,真的很值。光盘讲的很细致。书很厚,希望在看完后能有很大的提高!对了,送货速度也超快,感谢快递员!
这书买得太值了,买了一本mysql教程,光盘里还送微软的sqlserver技术大全,还送linux系统教程,一本书可以顶三本书用。大力推荐,大力支持作者,
书的内容讲的非常详细,很适合初学者,语言通俗易懂,还赠送有光盘,光盘内容很全,有SQL serve视频,还有Linux学习视屏和本书自己的视频。很满意
不错,mysql中适合于开发的入门书,其实是最基础了.不过肯定有用.