MySQL入门到精通_李波.pdf

所需积分/C币:46 2019-07-05 11:05:35 34.58MB PDF
收藏 收藏 2
举报

MySQL入门到精通经典教程适合初中级开发学习使用,mysql基础知识,优化,以及基本语法。包括数据库设计规则、基本语法等
第1童初识 MySQL 表给每一个作者分配一个“作者编号”,该编号作为数据表的主键,如果出现相同的值,将提 示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出 现重复的名字,这与现实中的情况不相符合,因此“姓名”字段不适合做为主键。 1。2数据库技术构成 数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计 算机、存储设备等。软件部分则主要包括DBMS、支持DBMS运行的操作系统,以及支持多 种语言进行应用开发的访问技术等。本节将介绍数据库的技术构成。 1.2.1数据库系统 数据库系统有3个主要的组成部分。 数据库:用于存储数据的地方。 ●数据库管理系统:用于管理数据库的软件 ●数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充 数据库( Database System)提供了一个存储空间用以存储各种数据,可以将数据库视为一 个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。 数据库管理系统( Data Base Management System,DBMS)是用户创建、管理和维护数据 库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据 存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性 数据库应用程序( Data Base Application)虽然已经有了DBMS,但是在很多情况下,DBMS 无法满是对数据管理的要求。数据库应用程序的使用可以满是对数据管理的更高要求,还可以 使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMs 中存储的数据,允许用户插入、修改、删除DB中的数据。 数据库系统如图1.2所示 3 MySQL从入门到精道(视频教学版 用户 用户 用户 应用程序 数据库管理系统 操作系统 硬件 图1.2数据库系统 122SQL语言 对数据库进行查询和修改操作的语言叫做SQL。SQL的含义是结构化查询语言( Structured Query Languate)。SQL有许多不同的类型,有3个主要的标准:ANsI(美国国家标准机构) SQL,对 ANSI SQL修改后在1992年采纳的标准,称为SQL92或SQL2。最近的SQL99标 准,从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供 不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持 SQL92标准 SQL语言包含以下4个部分。 1)数据定义语言(DDL):DROP、 CREATE、 ALTER等语句。 (2)数据操作语言(DML): INSERT(插入)、 UPDATE(修改)、 DELETE(删除)语 (3)数据查询语言(DQL): SELECT语句。 (4)数据控制语言(DCL): GRANT、 REVOKE、 COMMIT、 ROLLBACK等语句。 下面是一条SQL语句的例子,该语句声明创建一个名叫 students的表: CREATE ABLE students uG白时t主d:INr三s江NE, name VARCHAR(30J, se CHAR (LI, birth DATE PRIMARY RET (student iG) 第1章初误 MySQL 该表包含4个字段,分别为 student id、name、sex、 birth,其中 student id定义为表的主 键。 现在只是定义了一张表格,但并没有任何数据,接下来这条SQL声明语句,将在 students 表中插入一条数据记录 INSERT INTO students (atudent id, riamB, sex, birth) VBs(410月101,1yeem',190-02-14) 执行完该SQL语句之后, students表中就会增加一行新记录,该记录中字段 student id的 值为41048101,mame字段的值为 Lucy Green,sex字段值为1, birth字段值为190-02-14 再使用 SELECT查询语句获取刚才插入的数据,如下: SELEC rae FROM0 dcrts HER3日n主=4108101 I name I Ludy Green 上面简单列举了常用的数据库操作语句,在这里给读者一个直观的印象,读者可能还不能 理解,接下来会在学习 MySQL的过程中详细介绍这些知识。 1.2.3数据库访问接口 不同的程序设计语言会有各自不同的数据库访间接口,程序语言通过这些接口,执行SQL 语句,进行数据库管理。主要的数据库访问接口有: 1. ODBC Open Database Connectivity(开放数据库互连)技术为访问不同的sQL数据库提供了一个 共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性: 一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道, 所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是 Access, MySQL 还是 Oracle数据库,均可用 ODBC API进行访问。由此可见,ODBC的最大优点是能以统一 的方式处理所有的数据库。 2. JDBC Java Data Base Connectivity(Java数据库连接)用于Java应用程序连接数据库的标准方法, 是一种用于执行SQL语句的 Java APl,可以为多种关系数据库提供统一访问,它由一组用Java 语言编写的类和接口组成 3, ADO. NET ADONET是微软在NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。 5 MySe从入门到精通(视频教学版 ADO NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及 数据库进行交互。 4. PDO PDO( PHP Data Object)为PHP访问数据库定义了一个轻量级的、一致性的接口,它提 供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获 取数据。PDO是PHP5新加入的一个重大功能 针对不同的程序语言,在 MySQL提供了不同数据库访问连接驱动,读者可以在下载页面 Chttp://dev.Mysql.com/downloads/)下载相关驱动 1.3什么是 MySQL MySQL是一个小型关系数据库管理系统,与其他大型数据库管理系统例如 Oracle、DB2、 SQL Server等相比, MySQL规模小、功能有限,但是它体积小、速度快、成本低,且它提供 的功能对稍微复杂的应用来说已经够用,这些特性使得 MySQL成为世界上最受欢迎的开放源 代码数据库。本节将介绍 MySQL的特点。 1.3.1客户机-服务器软件 主从式架构( Client-server model)或客户端-服务器( Client/server)结构简称CS结构, 是一种网络架构,通常在该网络架构下软件分为客户端( Client)和服务器( Server)。 服务器是整个应用系统资源的存储与管理中心,多个客户端则各自处理相应的功能,共同 实现完整的应用。在客户服务器结构中,客户端用户的请求被传送到数据库服务器,数据库 服务器进行处理后,将结果返回给用户,从而减少了网络数据传输量。 用户使用应用程序时,首先启动客户端通过有关命令告知服务器进行连接以完成各种操 作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或 应用程序服务器发出请求。 这种系统的特点就是,客户端和服务器程序不在同台计算机上运行,这些客户端和服务 器程序通常归属不同的计算机。 主从式架构通过不同的途径应用于很多不同类型的应用程序,比如,现在人们最熟悉的在 因特网上使用的网页。例如,当顺客想要在当当网站上买书的时候,电脑和网页浏览器就被当 做一个客户端,同时,组成当当网的电脑、数据库和应用程序就被当做服务器。当顾客的网页 浏览器向当当网请求搜寻数据库相关的图书时,当当网服务器从当当网的数据库中找出所有该 类型的图书信息,结合成一个网页,再发送回顾客的浏览器。服务器端一般使用高性能的计算 机,并配合使用不同类型的数据库,比如 Oracle、 Sybase或者是 MySQL等:客户端需要安装 专门的软件,比如专门开发的客户端工具浏览器等 第1章初识My3Q 1.32 MySQL版本 针对不同用户,MyQL分为两个不同的版本: MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持 MySQL Enterprise Server(企业版服务器):它能够以很高性价比为企业提供数据仓库 应用,支持ACID事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但 是该版本需付费使用、官方提供电话技术支持 ysQL Cluster主要用于架设集群服务器,需要在社区版成企业版基础上使用。 MYSQL的命名机制由3个数字和1个后缀组成,例如:Myso-56.10 (1)第1个数字(5)是主版本号,描述了文件格式,所有版本5的发行版都有相同的文 件格式。 (2)第2个数字(6)是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。 (3)第3个数字(10)是在此发行系列的版本号,随每次新分发版本递增。通常选择已 经发行的最新版本。 在 MySQL开发过程中,同时存在多个发布系列,每个发布处在成熟度的不同阶段 (1) MySQL56是最新开发的稳定(GA)发布系列,是将执行新功能的系列,目前已经 可以正常使用。 (2) MySQL5.5是比较稳定(GA)发布系列。只针对漏洞修复重新发布,没有增加会影 响稳定性的新功能。 (3) MySQL5.1是前一稳定(产品质量)发布系列。只针对严重漏洞修复和安全修复重 新发布,没有增加会影响该系列的重要功能。 对于 MySQL41、40和323等低于50的老版本,官方将不再提供支持。而所有发布的 MySQL( Current generally available release)版本已经经过严格标准的测试,可以保证其 安全可靠地使用。针对不同的操作系统,读者可以在 MySQL官方下载页面 (htp:/ dev, MySQL. com/downloads/)下载到相应的安装文件。 1.3.3 MySQL的优势 MySQL的主要优势如下: (1)速度:运行速度快。 (2)价格: My SQL对多数个人来说是免费的。 (3)容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。 (4)可移植性:能够工作在众多不同的系统平台上,例如: Windows Linux、Unⅸx、 MySQL从入门到精通(机频教学版y Mac os等 (5)丰富的接口:提供了用于C、C++、Eifl、Java、Perl、PHP、 Python、Ruby和Tcl 等语言的API (6)支持查询语言: MySQL可以利用标准SQL语法和支持ODBC(开放式数据库连接) 的应用程序。 (7)安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连接 到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。并且由于 MySQL是网 络化的,因此可以在因特网上的任何地方访间,提高数据共享的效率 1.3.4 MySQL56的新功能 和 MySQL5.5相比, MySQL56的新功能主要包括以下几个方面。 (1)子查询最优化:通过优化子查询,可以提高执行效率,主要表现在查询的结果集合、 分类和返回的执行次数上 (2)强化 Optimizer Diagnostics功能;运用 EXPLAIN执行 INSERT、 UPDATE和 DELETE, EXPLAⅣN以JsoN格式输出,提供更精确的最优化指标和最佳的可读性, Optimizer Traces功 能更可追踪最佳化决策过程。 (3)通过强化 InnoDB储存引擎,提升处理性能和应用软件的可用性:提升处理和只读 量高达230%, InnoDB重构得以尽量减少传统执行线程、冲洗和净化互斥的冲突和瓶颈,在 高负载的OLTP系统展现更优异的数据并发性,显著提升只读和交易工作负载的处理量。 (4)大幅提升可用性:数据库管理员使用联机数据定义语言作业,可执行新增索引和表 变更功能,并同时更新应用程序。 (5)新增 Index Condition Pushdown(CP)和 Batch Key Access(BKA)功能,提升特定 查询量高达280倍。 (6) InnoDB全文检索功能:开发人员可以在 InODE表上建立全文索引功能,以呈现文 字搜索结果,加快搜索单词和语句。 (7)自我修复复制集群:新增的 Global Transaction Identifiers and Utilities简化自动检测 和恢复功能。当数据库发生毁损时,数据库管理员无须介入,即可运用 Crash-Safe Replication 功能,自动将二进制记录和备份数据恢复至正确位置。 Checksums可通过自动检测和警告错误 的功能,跨集群保持数据的完整性。 (8)高性能复制集群:通过Mui- Threaded Slaves, Binlog Group Commit and Optimized RoW- Based Replication提高复制能力是正常的5倍之多,用户向外扩充其跨产品系统的工作负 载时,得以大幅提升复制的性能和效率 (9)时间延迟复制:防止主机的作业失误,例如意外删除表。 (10)增强的 PERFORMANCE SCHEMA:协助用户得以监控使用最多资源的密集查询 指令、对象、用户和应用程序,并可汇总集查询、执行线程、用户、主机和对象的统计数据汇 8 第1章初识 MySQL 整成新的摘要页面,新增功能让缺省配置更加简易,而且耗费不到5%的成本。 (11) MySQL-5.6纳入的新功能还包括精确空间操作的地理信息系统( Geographic Information System)、增强的Pv6设备以及最优化的服务器默认值。 1.4 MysQL工具 MySQL数据库管理系统提供了许多命令行工具,这些工具可以用来管理 MySQL服务器 对数据库进行访问控制、管理 MySQL用户以及数据库备份和恢复工具等,而且 MySQL提供 图形化的管理工具,这使得对数据库的操作更加简单。本节将为读者介绍这些工具的作用。 1.4.1 MySQL命令行实用程序 MySQL服务器端实用工具程序如下: (1) mysqld:SOL后台程序(即 MySQL服务器进程)。该程序必须运行之后,客户端 才能通过连接服务器来访问数据库。 (2) mysqld safe:服务器启动脚本。在Unix和 Net ware中推荐使用 MySQLd safe来启 动 MySQLd服务器。 MySQLd safe增加了一些安全特性,例如当出现错误时重启服务器并向 错误日志文件写入运行时间信息。 (3) sqlserver:服务器启动脚本。在Unix中的 MySQL分发版包括 MySQL. server脚 本。该脚本用于使用包含为特定级别的、运行启动服务的脚本的、运行目录的系统。它调用 MysQLd safe来启动 MySQL服务器。 (4) mysql multi:服务器启动脚本,可以启动或停止系统上安装的多个服务器。 (5) myisamchk:用来描述、检查、优化和维护 MyISAM表的实用工具 (6) mysqlbug: MySQL缺陷报告脚本,它可以用来向 MySQL邮件系统发送缺陷报告。 (7) mysql install db;该脚本用默认权限创建 MySQL授权表。通常只是在系统上首次 安装 MySQL时执行一次。 MySQL客户端实用工具程序如下: (1) myisampack:压缩 MyISAM表以产生更小的只读表的一个工具 (2) mysql:交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具 (3) mysqlaccess:检查访间主机名、用户名和数据库组合的权限的脚本 (4) MySQLadmin:执行管理操作的客户程序,例如创建或删除数据库,重载授权表, 将表刷新到硬盘上,以及重新打开日志文件。 MySQLadmin还可以用来检索版本、进程,以 及服务器的状态信息 (5) mysqlbinlog:从二进制日志读取语句的工具。在二进制日志文件中包舍执行过的语 句,可用来帮助系统从崩溃中恢复。 MySQL从入门到精通(频数学版) (6) mysqlcheck:检查、修复、分析以及优化表的表维护客户程序。 (7) mysqldump:将 MySQL数据库转储到一个文件(例如SQL语句或tab分隔符文本 文件)的客户程序。 (8) mysqlhotcopy:当服务器在运行时,快速备份 MyISAM或ISAM表的工具。 (9) mysql import:使用 LOAD DATA INFILE将文本文件导入相关表的客户程序。 (10) mysqlshow:显示数据库、表、列以及索引相关信息的客户程序。 (11) perror:显示系统或 MySQL错误代码含义的工具。 1.4.2 MySQL Workbench MySQL Workbench是下一代可视化数据库设计软件, MySQL Workbench为数据库管理员 和开发人员提供了一整套可视化数据库操作环境,主要功能有: 数据库设计和模型建立 SOL开发(取代 My SQL Query Browser) 数据库管理(取代 MySQL Administrator) MySQL Workbench有两个版本: (1) MySQL Workbench Community Edition(也叫 MySQL Workbench OSS,社区版) MySQL Workbench OSS是在GPL证书下发布的开源社区版本。 (2) MySQL Workbench Standard Edition(也叫 MySQL Workbench SE,商业版), MySQL Workbench SE是按年收费的商业版本。 截至本书完稿时,最新版本为 MySQL Workbench5.2.34。一些出版时间较早的 MySQL 教程中会提到图形化的工具 MySQL Query Browser和 MySQL Administrator.随着 MYSQL 的发展, Oracle公司使用更高效、便捷的 Workbench替换掉了这两个工具,目前官方已 经不再提供 MySQL Query Browser和 MySQL Administrator的技术支持和更新,但是仍然 可以在使用旧版本 MySQL时使用它们。 1.5如何学习MSQL 在学习 MySQL数据库之前,很多读者都会问如何才能学习好 MySQL5.6的相关技能呢? 下面就来讲述学习 MySQL的方法。 1.培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以板大地提高学习效率。当然学习 MySQL56也不例外。 10

...展开详情
试读 127P MySQL入门到精通_李波.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    img

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐
    MySQL入门到精通_李波.pdf 46积分/C币 立即下载
    1/127
    MySQL入门到精通_李波.pdf第1页
    MySQL入门到精通_李波.pdf第2页
    MySQL入门到精通_李波.pdf第3页
    MySQL入门到精通_李波.pdf第4页
    MySQL入门到精通_李波.pdf第5页
    MySQL入门到精通_李波.pdf第6页
    MySQL入门到精通_李波.pdf第7页
    MySQL入门到精通_李波.pdf第8页
    MySQL入门到精通_李波.pdf第9页
    MySQL入门到精通_李波.pdf第10页
    MySQL入门到精通_李波.pdf第11页
    MySQL入门到精通_李波.pdf第12页
    MySQL入门到精通_李波.pdf第13页
    MySQL入门到精通_李波.pdf第14页
    MySQL入门到精通_李波.pdf第15页
    MySQL入门到精通_李波.pdf第16页
    MySQL入门到精通_李波.pdf第17页
    MySQL入门到精通_李波.pdf第18页
    MySQL入门到精通_李波.pdf第19页
    MySQL入门到精通_李波.pdf第20页

    试读已结束,剩余107页未读...

    46积分/C币 立即下载 >