MySql数据库培训教程PPT课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MySql数据库培训教程PPT课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySql 数据库 培训 教程 PPT 课件
- 资源描述:
-
1、MySQL数据库 数据库概述 数据库基础知识 SQL语言 MySQL数据库基础操作MySQL数据库数据库第一部分:数据库概述第一部分:数据库概述 数据库基本概念数据库基本概念 什么是什么是MySQL数据库数据库 MySQL基本操作基本操作 数据数据(Data)(Data) 数据库数据库(Database)(Database) 数据库管理系统数据库管理系统(DBMS)(DBMS) 数据库系统数据库系统(DBS)(DBS) 数据库数据库基本概念基本概念 数据数据(Data)的定义:的定义: 对客观事物的符号表示,对客观事物的符号表示,如图形符号、数字、字母等,数据是数据库中存储的基本对象。 在日常
2、生活中,人们直接用语言来描述事物;在计算机中,为了存储和处理这些事物,就要将事物的特征抽象出来组成一个记录来描述。 数据的种类 文字、图形、图象、声音 数据的特点 数据与其语义是不可分的数据数据 学生档案中的学生记录(崔文华,男,1984,上海,计算机系,1990) 数据的形式不能完全表达其内容 数据的解释 语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间 解释:崔文华是个大学生,1984年出生,上海人,2003年考入计算机系数据举例 数据库数据库(Database,简称DB)的定义的定义:“按照数据结构来组织、存储和管理数据的仓库” J.Martin给数据库下了一个比较完整的定义:数
3、据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务数据库数据库 人工管理阶段 人力手工整理存储数据 文件系统阶段 使用磁盘文件来存储数据 数据库系统阶段 关系型数据库 高级数据库阶段 “关系-对象”型数据库数据库的发展史 纯文本数据库:纯文本数据库:纯文本数据库是只用空格符、制表符和换行符来分割信息的文本文件。适用于小型应用,对于大中型应用来说它存在诸多限制: 只能顺序访问,不能进行随机访问。 查找数据和数据关系或多用户同时访问进行写操作时非常困难。 关系数据库:关系数据库:由于纯文本数据库存在诸多局限,所以人们开始研究数据模型,设计各种类型的使用方
4、便的数据库。在数据库的发展史上,最具影响的数据库模型有:层次模型、网状模型和关系模型。其中,关系模型是目前应用最广泛和最有发展前途的一种数据模型,其数据结构简单,当前主流的数据库系统几乎都采用关系模型。数据库的类型数据库的类型 数据按一定的数据模型组织、描述和储存 可为各种用户共享 冗余度较小,节省存储空间 易扩展,编写有关数据库应用程序数据库的优点 数据库管理系统数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。 关系型数据库管理系统称为RDBMS,R指RelationRelation DBMS
5、的作用 它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据库管理系统 数据定义功能: 提供数据定义语言(DDL) 定义数据库中的数据对象 数据操纵功能: 提供数据操纵语言(DML) 操纵数据实现对数据库的基本操作 (查询、插入、删除和修改)DBMS的主要功能For程序员 数据库的运行管理 保证数据的安全性、完整性、 多用户对数据的并发使用 发生故障后的系统恢复 数据库的建立和维护功能(实用程序) 数据库数据批量装载 数据库转储 介质故障恢复 数据库的重组织 性能监视等DBMS的主要功能For数据库管理员 Oracle 应用广泛、功能强大,分布式数据库系统 “关系-对象”型数据库
6、 MySQL 快捷、可靠 开源、与PHP组成经典的LAMP组合 SQL Server 针对不同用户群体的五个特殊的版本 易用性好 DB2 应用于大型应用系统,具有较好的可伸缩性时下流行的DBMS 数据库系统(Database System,简称DBS)是一个实际可运行的存储、维护和应用系统提供数据的软件系统 数据库系统构成 DBMS DB 应用软件 数据库管理员 用户数据库系统数据库系统的使用数据库服务器应用程序 什么是MySQL MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体
7、拥有成本低,尤其是开放源码这一特点,许多中小型 网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL数据库 性能快捷、优化性能快捷、优化SQL语言语言 容易使用容易使用 多线程和可靠性多线程和可靠性 多用户支持多用户支持 可移植性和开放源代码可移植性和开放源代码 遵循国际标准和国际化支持遵循国际标准和国际化支持 为多种编程语言提供为多种编程语言提供APIMySQl特征特征 子查询 视图 存储过程 触发器 事务处理 热备份 二进制Bit类型等等MySQL5特性特性 不能直接处理XML数据 一些功能上支持的不够完善和成熟 不能提供任何OLAP(实时分析系统)功能等等.MySQL
8、不足 MySQL的官方网站引述MySQL是“世界上最受欢迎的开放源代码数据库”。这不是狂妄之语,数字可以证明它:目前,有超过1000万份的MySQL被安装用于支付高负荷的网站和其他关键商业应用,包括像阿尔卡特、爱立信、朗讯、亚马逊、Google、纽约证券交易所、迪斯尼、Yahoo、美国宇航局等这样的产业领袖。在下述网页你还能查看到MySQL和它竞争对手进行了短兵相接的比较。 -me.php MySQL应用 mysql、mysqladmin和mysqldump MySQL管理工具和用户操作界面MySQL基本操作 mysql命令mysql -h host_name -u user_name ppa
9、ssword h:当连接MySQL服务器不在同台主机时,填写主机名或IP地址 u:登录MySQL的用户名 p:登录MySQL的密码 注意:密码如果写在命令行的时候一定不能有空格。如果使用的系统为linux并且登陆用户名字与MySQL的用户名相同即可不用输入用户名密码,linux默认是以root登陆,windows默认用户是ODBCmysql命令 选定默认数据库:use dbname; 显示所有数据库:show databases; 显示默认数据库中所有表:show tables; 放弃正在输入的命令:c 显示命令清单:h 退出mysql程序:q 查看MySQL服务器状态信息:smysql程序常
10、用命令 mysql命令 处理存放在文件里的SQL命令 格式:mysql option dbname file.sqlmysql u root p -default-character-set=latin1 dbname bak.sqlmysqldump u root p tmpdb backuptmp.sql 备份出来的是一个文本文件,默认为utf-8字符集,如果想使用另外一种字符集,必须使用 -default-character-set=gbk选项来设置mysqldump命令 MySQL CC 对于MySQL,它是一个极好的前端查询和数据库管理工具。现有Windows,UNIX和Linux版
11、本可用,并且Mac OS X 的版本现在也有 DBTOOL专业管理器,来自 ,是一个用于管理MySQL数据库、表和索引的图形客户,其输入来自其他RDBMS的数据,该管理器提供一个用于查询和报告设计的接口。附加工具 MySQL是一种功能非常强大的关系型客户服务器数据库系统,它的安全性和稳定性足以满足许多应用程序的要求,而且有着非常高的性价比。总结第二部分:数据库基础知识第二部分:数据库基础知识 数据库基础知识概述数据库基础知识概述 SQL概述概述 SQL语言语言 数据库由一批数据构成的有序集合,这些数据被分门别类地存放在一些结构化的数据表(table)里,而数据表之间又往往存在交叉引用的关系,这
12、种关系使数据库又被称为关系型数据库 档案柜=数据库 抽屉=表 文件=记录数据库基础知识数据库 产品数据库表数据表行(记录)列列(字段字段)数据在表中的存放编号姓名年龄民族部门1王涛33汉族人事管理部2李梅27汉族人事管理部1127李梅21133王涛1部门编码民族编码年龄姓名编号回族2汉族1民族民族编码市场营销部2人事管理部1部门部门编码存在冗余为减少数据查找的麻烦,允许数据有一定的冗余为减少数据查找的麻烦,允许数据有一定的冗余数据存储的完整性Roll NumberNameAddressBookTaken12Alicia Ruth12, Temple StreetAC09114Jason Dar
13、ren123, Sunset Blvd.AC04315Mary Beth32, Golden AvenueAC02112Alicia Ruth12, Temple StreetAC04312Alicia Ruth12, Tmple StreetAC01115Mary Beth33, Golden AvenueAC011不同的地址不同的地址! !存在不正确、不准确的数据,数据库存在不正确、不准确的数据,数据库“失去了完整性失去了完整性”姓名姓名数据的完整性数据完整性数据完整性可靠性可靠性准确性准确性 数据实体完整性 字段完整性 引用完整性 自定义完整性完整性分类数据实体完整性河南新乡赵可以001
14、0016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012. .地址地址姓名姓名学号学号江西南昌雷铜0010014约束方法:唯一约束、主键约束、标识列约束方法:唯一约束、主键约束、标识列字段完整性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012. .地址地址姓名姓名学号学号湖北江门李亮8700000000约束方法:限制数据类型、检查约束、外键约束、约束方法:限制数据类型、检查约束、外键约束、默认值、非空约束默认值、非空约束引用完整性科目学号分数数学001
15、001288数学001001374语文001001267语文001001381数学001001698河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012地址地址姓名姓名学号学号980010021数学约束方法:外键约束约束方法:外键约束自定义完整性帐号姓名信用.00192孙悟空700288猪悟能612333段誉890111虚竹4093000岳不群-10AV121322乔峰CV0016AV372133玄痛CV0015AV378291沙悟净AV0014AV378290猪悟能AV0013AV378289AV378289孙
16、悟空AV0012. .会员证会员证用户姓名用户姓名用户编号用户编号约束方法:规则、存储过程、触发器约束方法:规则、存储过程、触发器触发器:检查信用值 输入的类型是否正确?年龄必须是数字 输入的格式是否正确?身份证号码必须是18位 是否在允许的范围内?性别只能是”男”或者”女” 是否存在重复输入?学员信息输入了两次 是否符合其他特定要求?信誉值大于5的用户才能够加入会员列表 完整性包括列值要求(约束)整行要求(约束)创建数据库表完毕!输入数据项,验证主键、主外键关系、检查约束输入数据项,验证主键、主外键关系、检查约束 什么是SQL? SQL是Structured Query Language(结
17、构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL概述 DML( Data Manipulation Language数据操作语言)查询、插入、删除和修改数据库中的数据;SELECT、INSERT、 UPDATE 、DELETE等; DCL( Data Control Language数据控制语言)用来控制存取许可、存取权限等;GRANT、REVOKE 等; DDL( Data Definition Language数据定义语言)用来建立数据库、数据库对象和定义其列CREATE T
18、ABLE 、DROP TABLE、ALTER TABLE 等 功能函数日期函数、数学函数、字符函数、系统函数等SQL语法组成 属于一个SQL语句,使用分号(;)结尾,否则mysql认为语句没有输入完。 箭头(-)代表SQL语句没有输入完 取消SQL语句使用(c) SQL语句关键字和函数名不区分大小写(Linux区分,Windows不区分) 使用函数时,函数名和后面的括号之间不能有空格MySQL中使用SQL语言几点说明 数据类型种类数据类型种类 数值列类型数值列类型 字符串列类型字符串列类型 日期和时间列类型日期和时间列类型MySQL数据类型数据类型 数值型数值型分为整型和浮点型分为整型和浮点型
19、 整型:整型:可以由十进制和十六进制表示整数由数字序列组成,如:1,100。由十六进制表示方法:0 x且后面加19和AF 的任意数字或字母,并且0 x中的X不能大写。 浮点型浮点型:浮点数由一个数字加一个小数点再加上一个数字组成。两个数字序列不能同时为空。数据类型种类数据类型种类 字符串字符串: 由单引号或者双引号括起来的字符或者数字。 如:”abc”,abc10 字符串中要用转义字符才能表示的特殊符号日期和时间值日期和时间值 是存储如“2005 -1-1” 或者“12:00:00”这样的数值的值。在MySQL中日期是按”年-月-日”的顺序。NULL值值 是一种无类型的值,表示“空,什么也没有
20、”。 MySQL为除了NULL值外的所有通用数据类型提供了列类型。列类型是一种手段,通过这种手段可以描述表的列可以包含什么样类型的值。 数值列类型数值列类型 所有数值列类型的类型名及其说明和所占的字节数见下表:数值列类型数值列类型数值列类型包括整型和浮点型 说明:TINYINT, SAMLLINT, MEDIUMINT, INT, BIGINT每个数据类型的取值范围不同,故分别可以表示不同的数值范围。在定义整型列时,可以指定可选的显示尺寸M(见上表),M是从1到255的值,它表示显示列中值的字符数。 例如:INT(4) 意思是指定了一个具有4个字符显示宽度的INT列。如果定义了一个没有明确宽度
21、的整数列,则会分配缺省的宽度,缺省值为每种类型的最长值的长度。 对于每种浮点型,可指定一个最大的显示尺寸M和小数位数D,M的取值应该是0-30,但小于M-2。M和D对于DECIMAL是必须的。AUTO_INCREMENTAUTO_INCREMENT 自动标识列,在需要产生唯一标志符号或者顺序值时候,可用此属性。值一般从1开始,每行增加1,在插入NULL到一个AUTO_INCREMENT列时,MySQL会插入一个比该列中当前最大值大1 的值,一个表中最多能有一个有此属性的列。对于想使用此属性的列应该定义为NOT NULL,并定义为PRIMARY KEY 或者定义为UNIQUE键。举例:creat
22、e table t(id int auto_increment not null primary key);UNSIGNED UNSIGNED 无符号,此属性禁用负值,将数值的取值范围从零开始。举例:create table t(num tinyint , num2 tinyint unsigned);数值列的完整性约束数值列的完整性约束 NULL和和NOT NULL 默认为NULL,即插入值时没有在此字段插入值时自动填NULL,如果指定了NOT NULL,则必须在插入值时在此字段添入值,不允许插入NULL值。 DEFAULT 可以通过此属性来指定一个缺省值,即如果没有在此列添加值,那么默认添
23、加DEFAULT后指定值。 ZEROFILL 前导零填充数值类型值以达到列的显示宽度。举例:create table test2(num1 int default 1,num2 int zerofill); 字符串列类型字符串列类型 所有字符串列类型及其说明和所占的字节数见下表: 说明: 对于可变长的字符串类型,其长度取决于实际存放在列中的值的长度。此长度在上表中用L来表示。附加若干额外字节,用来记录字符串长度,也就是说总长度等于Ln(n1、2、3、4、8) CHAR和和VARCHAR类型类型 CHAR类型和VARCHAR类型长度范围都是0255之间的大小。他们之间的差别在于MySQL处理存储
24、的方式: CHAR把这个大小视为值的准确大小(用空格填补比较短的值)。 VARCHAR类型把它视为最大值并且只使用了存储字符串实际上需要的字节数(增加了一个额外的字节记录长度)。因而,较短的值当被插入一个语句为VARCHAR类型的字段时,将不会用空格填补(然而,较长的值仍然被截短 )。 BLOB和和TEXT类型类型BLOB是二进制大对象,如果想存储二进制数BLOB将是最佳选择,而TEXT与之相同,只是BOLOB按照二进制编码排序(区分大小写),TEXT按照字符文本模式排序(不区分大小写)。 ENUM 和和SET类型类型是特殊的串类型,其列值必须从固定的串集中选择,二者差别为前者必须是只能选择其
25、中的一个值,而后者可以多选。(不推荐使用) 字符串列类型的字符串列类型的可选可选属性属性 BINARY使用此属性可以使列值作为二进制串处理,即看成BLOB类型。 NULL 和NOT NULL同数值型功能相同 DEFAULT同数值型功能相同日期和时间列类型日期和时间列类型所有时间和日期列类型的类型名及其说明和所占的字节数见下表: 说明:说明: 每个时间和日期列类型都有一个零值,当插入非法每个时间和日期列类型都有一个零值,当插入非法数值时就用零值来添加数值时就用零值来添加 表示日期时必须先按:年,月,日的顺序给出表示日期时必须先按:年,月,日的顺序给出 DATE ,TIME ,DATETIME分别
展开阅读全文