资源预览内容
第1页 / 共238页
第2页 / 共238页
第3页 / 共238页
第4页 / 共238页
第5页 / 共238页
第6页 / 共238页
第7页 / 共238页
第8页 / 共238页
第9页 / 共238页
第10页 / 共238页
亲,该文档总共238页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Oracle Java EE实训教材系列 数据库的设计与开发,第一章 MySQL介绍,目 标,解释MySQL产品的起源和状态 列出现有的MySQL产品及专业服务 安装MySQL及“world”数据库 描述MySQL客户端-服务器模型,3,MySQL概述,MySQL最初是由“MySQL AB”公司开发的一套关系型数据库管理系统(RDBMS)。 MySQL不仅是最流行的开源数据库,而且是业界增长最快的数据库,每天有超过7万次的下载量,其应用范围从大型企业到专有的嵌入应用系统。 MySQL AB是由两个瑞典人和一个芬兰人:David Axmark、Allan Larsson和Michael “Monty” Widenius在瑞典创办的。 在2008年初,Sun Microsystems收购了MySQL AB公司。在2009年,Oracle收购了Sun公司,使MySQL并入Oracle的数据库产品线。,4,MySQL图形用户界面(GUI)工具,MySQL GUI工具为MySQL数据库提供了一组丰富的图形用户界面。 MySQL移植工具包 MySQL Administrator MySQL Query Browser,6,MySQL驱动程序,MySQL数据库驱动程序(也称作连接器),为多种编程语言提供数据库客户端的连接。MySQL包括以下连接器: MySQL C API MySQL连接器/ODBC MySQL连接器/J MySQL连接器/Net MySQL连接器/PHP,7,嵌入式MySQL解决方案,MySQL还提供了库文件,用来将MySQL数据库服务器嵌入到程序中。 libmysqld MySQL MXJ,8,安装MySQL,推荐到MySQL网站的下载网页: downloads/下载MySQL数据库服务器。这里有多种支持的平台,并且每个版本都有不同的安装说明。 在Windows中安装MySQL服务器,9,安装“world”数据库,MySQL提供了三个数据库示例,以用于测试数据库特征及培训。下载地址为: 需要使用MySQL命令行客户端来装载world数据库。 1.创建“world”数据库 mysql CREATE DATABASE world; 2.选择“world”数据库 mysql USE world; 3.构建“world”数据库的表 mysql SOURCE C:/world.sql,10,MySQL客户端-服务器模型,在网络环境中,MySQL采用客户端/服务器架构进行工作。 MySQL的安装包括以下主要部件: MySQL服务器 客户端程序 MySQL非客户端工具,11,MySQL客户端-服务器模型,12,第二章 MySQL客户端,目 标,在MySQL客户/服务器体系结构中调用客户端程序 使用mysql客户端程序,14,调用客户端程序,MySQL客户端程序可以从命令行调用。 当客户端程序被调用时,可以通过在程序名后指定选项来控制它的行为。选项也可以在选项文件中定义。 shell mysql help shell mysql -version,15,通用命令选项语法,MySQL程序选项具有以下两种通用形式: 长选项,由单词之前加两个减号组成 短选项,由单个字母之前加一个减号组成 shell mysql -version shell mysql -V 一些选项是要赋值的。例如: shell mysql -host= shell mysql -h shell mysql -,16,建立连接的选项,17,MySQL用户身份选项,-user=“用户名”或 u “用户名” -password=“密码值”或 p“密码值”,18,如何指定连接参数,用缺省主机名和用户名(没有密码)连接服务器: shell mysql 使用用户名“myname”连接本地主机服务器,让mysql提示用户输入密码: shell mysql -host=localhost -password -user=myname 与上例使用相同的选项,但使用相应的短选项形式: shell mysql -h localhost -p -u myname,19,交互式使用mysql,mysql客户端程序可以交互式地使用,或以批处理模式从文件中读取查询。 交互式模式对日常使用是非常有用的,例如快速的SQL语句处理,以及测试SQL语句是如何工作的。 对运行保存在文本文件中的SQL语句(也称为SQL脚本),批处理是很有用的。 例如: mysql SELECT VERSION(); 或 shell mysql -u user_name -ppassword -e SELECT VERSION(),20,语句结束符,有多个结束符可用于终结语句: mysql SELECT VERSION(), DATABASE(); mysql SELECT VERSION(), DATABASE()g 可以用mysql命令DELIMITER来改变结束符: mysql DELIMITER go mysql SELECT COUNT(*) - FROM world.City - go G序列也被用作语句结束符,但它还有其它影响,即导致mysql以垂直方式显示结果: mysql SELECT VERSION(), DATABASE() G,21,语句结束符,mysql允许使用多个输入行来键入一个查询: mysql SELECT Name, Population FROM City - WHERE CountryCode = IND - AND Population 3000000; 如果一条语句导致错误,mysql将显示服务器返回的错误信息: mysql This is an invalid statement; 如果想要终止一条正在编写的语句,可键入c。 为了退出mysql,可使用q、QUIT或EXIT: mysql q,22,mysql提示符,23,mysql提示符,为了重新定义“mysql”提示符,可使用prompt命令; mysql prompt win 1 win 1 在提示符中放入当前信息,诸如用户、主机和数据库; mysqlprompt (uh) d PROMPT set to (uh) d (rootlocalhost) world 为了将提示符转换为缺省形式,应输入不带参数的prompt命令或R。 (rootlocalhost) worldprompt Returning to default PROMPT of mysql mysql,24,在mysql中使用编辑键,mysql客户端支持输入行的编辑,这使得它可以回调以前的输入行并可以进行编辑。在Unix/Linux上,它还支持“tab”完成键,从而可以更容易地输入查询。 四个方向键 在Unix下,mysql客户端拥有全部的readline功能 会话期间命令历史的保存,25,在mysql中使用脚本文件,一个包含SQL语句并将要被执行的输入文件叫做脚本文件或SQL批处理文件。 处理脚本文件的方法之一是用SOURCE命令在mysql中执行它: mysql SOURCE input_file 例如: mysql SOURCE C:/scripts/my_commands.sql mysql SOURCE ./scripts/my_commands.sql,26,客户端命令与SQL语句,当mysql在运行中发布一条SQL语句时,程序将该语句发送到MySQL服务器来执行。SELECT、INSERT、UPDATE和DELETE都是这类输入的示例。 mysql也会知道其中哪些是自己的命令而非SQL语句。例如: QUIT SOURCE STATUS HELP,27,第三章 表数据查询,目 标,使用SELECT语法执行基本的、单个表的查询 聚集查询结果 使用UNION关键字连接多个SELECT语句的结果,29,SELECT语句,SELECT语句主要被用于查询数据库中的一个或多个表里的数据。 SELECT语句表示数据库中一组特定的数据记录。 SELECT语句的基本的语法模式如下: SELECT FROM 例如: mysql SELECT Name FROM Country; mysql SELECT 1+2;,30,基本的SELECT使用,许多子句及它们的结合都可以用于SELECT语句中: FROM:指定从哪些表中获取数据 DISTINCT:消除重复的记录行 WHERE:只返回满足特定条件(也叫过滤器)的记录行 ORDER BY:按照表达式列表排序记录 LIMIT:返回特定部分的数据,而不是所有的结果集 示例: SELECT DISTINCT FROM WHERE ORDER BY LIMIT ,31,使用FROM,FROM子句在SELECT语句中是可选项,它出现在语句的表达式之后,而表达式是在SELECT关键字后面出现。 FROM子句指定语句要处理的表。 非限定表名 FROM 例如:FROM Country 限定的表名 FROM . 例如:FROM world.Country 表的别名 在SQL语句里,在FROM子句里引用的表可以给定一个临时的名称,该名称叫做表的别名。,32,使用DISTINCT,如果查询的结果中包含重复的记录,该重复记录要被删除以生成每行都是唯一的结果集。为了达到这个目的,可在SELECT关键字后添加DISTINCT关键字。 mysql SELECT Continent FROM Country; mysql SELECT DISTINCT Continent FROM Country; 在指定的列里,DISTINCT将所有的NULL值当作相同的值。 mysql SELECT i, j FROM t; mysql SELECT DISTINCT i, j FROM t;,33,使用WHERE,WHERE子句将过滤满足特定条件的记录。例如: mysql SELECT ID, Name, District FROM city WHERE Name = New York; MySQL支持许多不同类型的运算符,这依赖于操作数的数据类型,或操作数与运算符处理的值的数据类型。 运算 比较 逻辑 例如: mysql SELECT Name, Population - FROM Country - WHERE Population 50000000 AND - (Continent = Europe OR Code = USA); mysql SELECT ID, Name, District - FROM city - WHERE Name IN (New York, Rochester, Syracuse);,34,关于NULL,如果有一个操作数的结果是NULL,则大多数运算符的求值结果也会是NULL。 当NULL值表达式在函数中被用于操作数时,运算符将产生NULL。 WHERE子句也有相同的情况,WHERE子句会丢弃那些条件不是TRUE的记录。,35,在SELECT语句里使用ORDER BY,如果有必要让输出记录按某一特定的顺序返回,可以使用ORDER BY子句以显示如何排序结果集。 mysql SELECT Name FROM Country ORDER BY Name; 可以在ORDER BY表达式后使用ASC或DESC来明确指定记录按升序或降序排列。 mysql SELECT Name - FROM Country - ORDER BY Name DESC; 还可以用多个表达式同时排序,每个表达式有自己的排列顺序。 mysql SELECT Name, Continent - FROM Country - ORDER BY Continent D
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号