传智播客-韩顺平-Mysql数据库.ppt
《传智播客-韩顺平-Mysql数据库.ppt》由会员分享,可在线阅读,更多相关《传智播客-韩顺平-Mysql数据库.ppt(150页珍藏版)》请在三一办公上搜索。
1、北京传智播客教育,php数据库(mysql)编程,讲师:韩顺平,主讲 韩顺平,php 培训日志 从入门到精通,主讲:韩顺平,email:,本章节的讲解:参考视频jdbc详解关于mysql数据库部分!,主讲 韩顺平,php进阶-内容介绍,(一)项目演示(二)php数据库编程-mysql2.1 mysql数据库-基础部分2.2 mysql数据库-加强部分1-mysql表类型和存储引擎-mysql中事务处理2.3 mysql数据库-加强部分2-mysql表的基本查询加强-mysql表的复杂查询-维护数据的完整性约束-mysql内连接、外连接2.4 mysql数据库-加强部分3-维护数据的完整性约束-
2、mysql表自增-mysql索引,主讲 韩顺平,php进阶-雇员管理系统演示,主讲 韩顺平,php进阶-oa(办公自动化)系统演示,主讲 韩顺平,php数据库编程-mysql,1.数据库的基本概念2.mysql数据库的基本操作3.mysql的curd操作4.mysql常用函数5.php如何操作mysql数据库,主讲 韩顺平,学习目标,1.mysql基本操作2.mysql简单的crud操作3.php操作mysql,主讲 韩顺平,一个问题,淘宝网,天涯网,校友网,雇员管理系统,留言本.都有各自的功能,那么当我们关闭系统的时候,下次再访问这些网站时,为什么他们各自的信息还存在?再比如c/s的软件,比
3、如网游、qq、他们又是怎样保存数据的?a.游戏积分 b.qq聊天记录.,主讲 韩顺平,解决之道-文件、数据库,我们刚学习过文件,大家可能回答用文件就可以保存数据嘛!没有错,可以如果用文件保存数据存在几个缺点:(1)文件的安全性问题(2)文件不利于查询和对数据的管理(3)文件不利于存放海量数据(4)文件在程序中控制不方便,主讲 韩顺平,解决之道-文件、数据库,为了解决上述问题,专家们设计出更加利于管理数据的东东-数据库,它能更有效的管理数据。数据库是衡量一个程序员水平的重要指标。举一个生活化的案例说明如果说 图书馆是保存书籍的,那么数据库就是保存数据的。,主讲 韩顺平,数据库简介 SQL Ser
4、ver、Oracle、MySQL、DB2、SyBase*对当前主流数据库做一个比较介绍 MySQL数据库的安装和配置 使用命令行窗口连接MYSQL数据库 mysql h 主机名 u用户名 p密码,启动mysql数据库的常用方式:服务方式启动(界面)net stop mysql服务名 net start mysql服务名,主讲 韩顺平,数据库服务器、数据库和表的关系,MySQLdbms,DB,DB,数据对象(表),数据对象(表),数据对象(表),Client,所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保
5、存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。数据库服务器、数据库和表的关系如图所示:,主讲 韩顺平,数据在数据库中的存储方式,雇员表(employee),行(row),列(column),表的一行称之为一条记录表中一条记录对应一个php对象的数据,主讲 韩顺平,SQL语句分类,DDL:数据定义语句(create alter drop)DML:数据操作语句(insert update delete)DQL:数据查询语句(select)DCL:数据控制语句(grant revoke commit rollback),小面试题:mysql数据库的sql语句分几类?,主讲 韩
6、顺平,创建数据库,CREATE DATABASE IF NOT EXISTS db_name create_specification,create_specification.create_specification:DEFAULT CHARACTER SET charset_name|DEFAULT COLLATE collation_name,CHARACTER SET:指定数据库采用的字符集 COLLATE:指定数据库字符集的比较方式,练习:创建一个名称为db1的数据库。创建一个使用utf-8字符集的db2数据库。创建一个使用utf-8字符集,并带校对规则的mydb3数据库,主讲 韩顺
7、平,查看、删除数据库,显示数据库语句:SHOW DATABASES显示数据库创建语句:SHOW CREATE DATABASE db_name 数据库删除语句:DROP DATABASE IF EXISTS db_name,练习:查看当前数据库服务器中的所有数据库 查看前面创建的db2数据库的定义信息 删除前面创建的db1数据库,主讲 韩顺平,修改、备份、恢复数据库,ALTER DATABASE IF EXISTS db_name alter_specification,alter_specification.alter_specification:DEFAULT CHARACTER SET
8、charset_name|DEFAULT COLLATE collation_name|ENGINE|TYPE=engine_name/表存储引擎再事务是再讲解,备份数据库表中的数据mysqldump-u 用户名-p 数据库名 文件名.sql 恢复数据库Source 文件名.sql,练习1 查看服务器中的数据库,并把其中某一个库的字符集修改为utf8;2 备份test库中的数据,并恢复,主讲 韩顺平,体验Mysql-安装ecshop,安装的时候,可能在创建管理员会报错误,解决方法如下:重新设置date.timezone=PRC,需要重新启动apache才能生效.Date;Defines the
9、 default timezone used by the date functions;http:/=PRC,主讲 韩顺平,创建表(基本语句),CREATE TABLE table_name(field1 datatype,field2 datatype,field3 datatype,)character set 字符集 collate 校对规则 engine 存储引擎方式field:指定列名datatype:指定列类型,注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。例:user表id 整形 name 字符串password 字符串birthday 日期
10、,主讲 韩顺平,mysql 常用的数据类型,VARCHAR、BLOB和TEXT类是变长类型。每个类型的存储需求取决于列值的实际长度。,主讲 韩顺平,mysql 常用的数据类型,主讲 韩顺平,mysql 字符集和校验规则,查询的乱码出现原因:character_set_clinet 设置和客户端实际发出的不一致.charset_set_results 设置和客户端实际需要的编码不一致.,主讲 韩顺平,mysql 字符集和校验规则,collate:校对规则指:在对某个字段排序时,按照怎样的规则来排序这里我们先简单举一个案例,大家了解即可.请查看Mysql关于校对规则手册,主讲 韩顺平,创建表练习,
11、创建一个员工表,主讲 韩顺平,修改表,使用 ALTER TABLE 语句追加,修改,或删除列的语法.,ALTER TABLE tablenameADD(column datatype DEFAULT expr,column datatype.);,ALTER TABLE tablenameMODIFY(column datatype DEFAULT expr,column datatype.);,ALTER TABLE tablenameDROP(column);,修改表的名称:Rename table 表名 to 新表名修改表的字符集:alter table student characte
12、r set utf8;,主讲 韩顺平,修改表,练习 在上面员工表的基本上增加一个image列。修改job列,使其长度为60。删除sex列。表名改为user。修改表的字符集为utf-8 列名name修改为usernamealter table user change column name username varchar(20);,主讲 韩顺平,帮助命令的使用,在mysql使用中,我们可能忘记一个mysql命令的使用,我们可以通过 帮助命令?来查看相关命令的使用方式1.?create 方式2?create table,提示:控制台给出的都是英文说明,如果英文不好,还是用mysql中文手册吧!,
13、主讲 韩顺平,数据库CRUD语句,Insert语句(增加数据)Update语句(更新数据)Delete语句(删除数据)Select语句(查找数据),主讲 韩顺平,Insert语句,INSERT INTOtablename(column,column.)VALUES(value,value.);,使用 INSERT 语句向表中插入数据。,注意事项插入的数据应与字段的数据类型相同。数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。在values中列出的数据位置必须与被加入的列的排列位置相对应。字符和日期型数据应包含在单引号中。插入空值,不指定或insert i
14、nto table value(null),主讲 韩顺平,Insert语句练习,注意:字符和日期要包含在单引号中。show variables like character%;set character_set_results=gbk;,练习:使用insert语句向表中插入三个员工的信息。,主讲 韩顺平,update语句,UPDATE tbl_name SET col_name1=expr1,col_name2=expr2.WHERE where_definition,使用 update语句修改表中数据。,注意事项:UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要
15、给予哪些值。WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。,主讲 韩顺平,update语句练习,练习:在上面创建的employee表中修改表中的纪录。,要求将所有员工薪水修改为5000元。将姓名为zs的员工薪水修改为3000元。将wu的薪水在原有基础上增加1000元。,主讲 韩顺平,delete语句,delete from tbl_name WHERE where_definition,使用 delete语句删除表中数据。,注意事项:如果不使用where子句,将删除表中所有数据。Delete语句不能删除某一列的值(可使用update)使用delete语句仅删除记录,不删
16、除表本身。如要删除表,使用drop table语句。同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题。删除表中数据也可使用TRUNCATE TABLE 语句,它和delete有所不同,参看mysql文档。,主讲 韩顺平,delete语句练习,删除表中名称为zs的记录。删除表中所有记录。使用truncate删除表中记录。,主讲 韩顺平,Select语句(1),SELECT DISTINCT*|column1,column2.column3.FROMtablename;,注意事项(需要创建新的学生表)Sele
17、ct 指定查询哪些列的数据。column指定列名。*号代表查询所有列。From指定查询哪张表。DISTINCT可选,指显示结果时,是否剔除重复数据,基本select语句,主讲 韩顺平,Select语句(1),练习:查询表中所有学生的信息。查询表中所有学生的姓名和对应的英语成绩。过滤表中重复数据。,主讲 韩顺平,Select语句(2),SELECT*|column1expression,column2expression,.FROMtablename;,在select语句中可使用表达式对查询的列进行运算,在select语句中可使用as语句,SELECT columnname as 别名 from
18、 表名;,主讲 韩顺平,Select语句(2),练习在所有学生分数上加10分特长分(即查询所有学生总分再加10分)。统计每个学生的总分。使用别名表示学生分数。,主讲 韩顺平,Select语句(3),使用where子句,进行过滤查询。练习:查询姓名为wu的学生成绩查询英语成绩大于90分的同学查询总分大于200分的所有同学,主讲 韩顺平,Select语句(4),在where子句中经常使用的运算符,Like语句中,%代表零个或多个任意字符,_ 代表一个字符,例first_name like _a%;,主讲 韩顺平,Select语句(4),查询英语分数在 8090之间的同学。查询数学分数为89,90,
19、91的同学。查询所有姓李的学生成绩。查询数学分80,语文分80的同学。,主讲 韩顺平,Select语句(5),SELECT column1,column2.column3.FROMtable;order by column asc|desc,使用order by 子句排序查询结果。,Order by 指定排序的列,排序的列即可是表中的列名,也可以是select 语句后指定的列名。Asc 升序、Desc 降序 ORDER BY 子句应位于SELECT语句的结尾。练习:对数学成绩排序后输出。对总分排序后输出,然后再按从高到低的顺序输出对姓李的学生成绩排序输出,主讲 韩顺平,合计函数count,Se
20、lect count(*)|count(列名)from tablenameWHERE where_definition,练习:统计一个班级共有多少学生?统计数学成绩大于90的学生有多少个?统计总分大于250的人数有多少?,Count(列名)返回某一列,行的总数,主讲 韩顺平,合计函数sum,Select sum(列名),sum(列名)from tablenameWHERE where_definition,练习:统计一个班级数学总成绩?统计一个班级语文、英语、数学各科的总成绩统计一个班级语文、英语、数学的成绩总和统计一个班级语文成绩平均分注意:sum仅对数值起作用,否则会报错。注意:对多列求和
21、,“,”号不能少。,Sum函数返回满足where条件的行的和,主讲 韩顺平,合计函数avg,Select sum(列名),sum(列名)from tablenameWHERE where_definition,练习:求一个班级数学平均分?求一个班级总分平均分,AVG函数返回满足where条件的一列的平均值,主讲 韩顺平,合计函数max/min,Select max(列名)from tablenameWHERE where_definition,练习:求班级最高分和最低分(数值范围在统计中特别有用),Max/min函数返回满足where条件的一列的最大/最小值,主讲 韩顺平,Select语句(6
22、),SELECT column1,column2.column3.FROMtable group by column,练习:对订单表中商品归类后,显示每一类商品的总价,使用group by 子句对列进行分组,SELECT column1,column2.column3.FROMtable group by column having.,使用having 子句过滤,练习:查询购买了几类商品,并且每类总价大于100的商品,Having和where均可实现过滤,但在having可以使用合计函数,having通常跟在group by后,它作用于组。,主讲 韩顺平,时间日期相关函数,示例:select
23、date_add(entry_date,INTERVAL 2 year)from student;增加两年,*特别注意date_add()date_sub()datediff()timediff()参与运算的可以是date/datetime/timestamp均可*查看 mysql 的帮助文档即可知道 d_type有哪些,主讲 韩顺平,字符串相关函数,主讲 韩顺平,数学相关函数,rand()返回一个随机浮点值 v,范围在 0 到1 之间(即,其范围为 0 v 1.0)。若已指定一个整数参数 N,则它被用作种子值,用来产生重复序列。,主讲 韩顺平,流程控制函数,随机设计案例,比如emp表的案例.
24、来想一想吧!(根据职位不同来加薪的案例!),主讲 韩顺平,其它函数,主讲 韩顺平,mysql中文乱码,mysql有六处使用了字符集,分别为:client、connection、database、results、server、system。client是客户端使用的字符集。connection是连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型就按照服务器端默认的字符集设置。database是数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。results是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
25、server是服务器安装时指定的默认字符集设定。system是数据库系统使用的字符集设定。,主讲 韩顺平,php操作mysql数据库实例,/1.对mysql完成查询,得到连接$conn=mysql_connect(localhost,root,root);/选择数据mysql_select_db(hspdb1,$conn);/查询数据,返回结果$res=mysql_query(select*from users,$conn);/得到查询到多少记录$recs=mysql_num_rows($res);echo 共.$recs.条记录;/取出记录.while($row=mysql_fetch_ar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传智播客 顺平 Mysql 数据库
链接地址:https://www.31ppt.com/p-6081842.html