传智播客PHP培训韩忠康PHP视频教程Mysql

上传人:无*** 文档编号:242525939 上传时间:2024-08-26 格式:PPTX 页数:95 大小:2.06MB
返回 下载 相关 举报
传智播客PHP培训韩忠康PHP视频教程Mysql_第1页
第1页 / 共95页
传智播客PHP培训韩忠康PHP视频教程Mysql_第2页
第2页 / 共95页
传智播客PHP培训韩忠康PHP视频教程Mysql_第3页
第3页 / 共95页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,高级软件人才实作培训专家,!,数据库,-MySQL,韩忠康,目标,如何使用,MySQL,数据库,如何设计数据库,什么是数据库,?,为什么是,MySQL,?,常用的数据库:,关系型数据库,实体结构,+,实体联系,关系型数据(,RDBMS,)的常用术语,数据库,表,行,列,记录,字段,SQL,MySQL,架构,C/S CLIENT/SERVER,,客户端,/,服务器,管理,MySQL,服务器,作为,Windows,服务管理,服务(,services.msc,),Net start MySQL,Net stop MySQL,直接运行,mysqld,服务器程序,操作,MySQL,通过,MySQL,客户端,操作,MySQL,Mysql(mysql.exe) hlocalhost P3306 uroot p,Exit quit q,步骤:,1,,连接,认证。,2,,客户端发送操作指令到服务器端,3,,服务器端处理请求指令,4,,服务器端将处理结果返回给浏览器,5,,客户端显示得到的结果,指令,-SQL,结构化查询语言,SQL=DDL,,,DML(DQL+DML),,,DCL,SQL,之数据库操作语言,创建数据库,Create database if not exists,数据库名,数据库选项,数据库名:可以是任意字符(目录可以创建成功),但特殊的字符需要使用反引号包裹。标识符的大小写区别于操作系统的大小写特征。,If not exists,表示在数据库不存在时创建。,数据库选项中,可以设定数据库字符集(,character set utf8),和校对集,(collate utf8_general_ci),。,SQL,之数据库操作语言,查询已经存在的数据库:,Show databases like pattern,Like pattern,指的是显示符合哪些命名规则的。不存在指的是所有的数据库。,查询创建数据库的语句:,Show create database db_name;,SQL,之数据库操作语言,删除数据库,Drop database if exists db_name;,If exists,表示数据库存在才删除。,当删除一个数据库时,同时删除该数据库相关的目录及其目录内容。,SQL,之数据库操作语言,更新数据库选项信息,alter Database db_name,更新的表选项,(表选项与定义时是一致的),SQL,之表操作,创建表:,Create table if not exists tbl_name,(列定义),表选项,Create table if not exists tbl_name like old_tbl_name;,Create table if not exists tbl_name select,语句,;,每当创建一个表,会在数据目录创建对应的文件保存表信息。,SQL,之表操作,列定义:,列名 类型,是否为空, Default,默认值, ,是否为自动增长, ,是否为主索引或唯一索引, comment,注释, ,引用定义,类型指的是 当前列所保存数据的类型。(简单的,int,整型,,varchar,字符串类型,需要指定最大长度),每个列定义使用逗号分隔。,SQL,之表操作,表选项,常用的表选项,表引擎:,engine|type=,引擎,表字符集与校对集,charset set=,字符集,collate=,校对集,注释,comment=,注释,SQL,之表操作,查询表:,查询数据库中存在的数据表,Show tables from db_name like pattern;,如果没有数据库名,则采用当前数据库,如果没有,like,则获得所有表。,查询当前表的定义语句:,Show create table tbl_name;,查看当前表的列结构:,Desc|describe tbl_name;(show columns from tbl_name);,SQL,之表操作,删除表,Drop table if exists tbl_name;,注意,可以同时删除多个表名,表名之间使用逗号分割。,SQL,之表操作,更新表,重命名,,rename table tbl_name to new_tbl_name;,可以同时针对多个表进行重命名,甚至可以跨数据库。,更新表结构,,alter table,。可以提供对表选项和列定义的修改。,SQL,之表操作,更新表结构,表选项管理,与新建表格一致对表选项重新设置。,SQL,之表操作,更新表结构,列定义管理,增加列:,Alter table tbl_name add column_definition,。可以同时增加多个列,使用括号括起来多个列的定义。,删除列:,alter table tbl_name drop column_name;,修改已有列定义:,alter table tbl_name change old_column new_column_definition,;或者,Alter table tbl_name modify column_definition,。其中,change,可以重命名列,简单的数据操作,DML,增加数据:,Insert into tbl_name (,字段列表,) values (,值列表,);,查询数据:,Select,字段列表,from tbl_name,检索条件,;,删除数据:,Delete from tbl_name,删除条件,;,更新数据:,Update tbl_name set,字段,=,值,列表 更新条件,字符集,&,校对集,字符集:是一套字符与字符编码的集合。,字符,用于显示的抽象符号。,编码,计算机都是二进制存储,因此需要将显示符号转换成二进制数才能存储,每个字符所转换成的二进制数,就是字符编码。,常见的字符集,&,编码:,Ascii,字符集,,GB2312,字符集,,gbk,字符集,,latin1,字符集,,unicode,字符集等。,MySQL,字符集,Show character set;,可以获得,MySQL,支持的所有字符集。,MySQL,可以使用多种字符集保存数据。,MySQL,,可以针对字段,表,数据库,服务器进行字符集的设置,还可以设定连接字符集(客户端与服务器端交互时),服务器字符集,数据字符集确定:,连接字符集,连接字符集由以下三个部分组成:,校对规则,指的是,当前字符集内,字符之间的比较关系。,列类型,数值,型,-,整数类型,类型,字节,最小值(有符号,/,无符号),最大值(有符号,/,无符号),TINYINT,1,-128/0,127/255,SMALLINT,2,-32768/0,32767/65535,MEDIUMINT,3,-8388608/0,8388607/16777215,INT/INTEGE,4,-2147483648/0,2147483647,/4294967295,BIGINT,8,-9223372036854775808/0,9223372036854775807/18446744073709551615,可使用,unsigned,控制是否有正负,可以使用,zerofill,来进行前导零填充,也存在 布尔,bool,类型,但是就是,tinyint(1),的别名,数值型,-,小数类型,类型,存储空间(字节),最小值(理论),最大值(理论),FLOAT,4,-3.402823466E+38,3.402823466E+38,DOUBLE,8,-1.7976931348623157E+308,1.7976931348623157E+308,DECIMAL,变长,大致是每,9,个数字,采用,4,个字节存储。整数和分数分开计算,M,,最大是,65,D,,最大是,30,默认是,10,,,2,-,(,65,个,9,),(,+65,个,9,),可以利用,M,,,D,控制数值范围,;,可以无符号;,可以,zerofill,;可以使用科学计数法,日期时间类型,类型,显示格式,取值,存储空间,零值,DATETIME,YYYY-MM-DD HH:MM:SS,1000-01-01 00:00:00,到,9999-12-31 23:59:59,8,0000-00-00 00:00:00,TIMESTAMP,YYYY-MM-DD HH:MM:SS,是,1970-01-01 00:00:00,到,2038-01-19,03:14:07,4,0000-00-00,00:00:00,DATE,YYYY-MM-DD,1000-01-01,到,9999-12-31,3,0000-00-00,TIME,HH:MM:SS,-838:59:59,到,838:59:59,3,00:00:00,YEAR,YYYY,1901,到,2155,1,0000,字符串类型,类型,最大长度,备注,char,255,Char(M),M,字符数,varchar,65535,,但需要,1-2,个保存信息,同时由于记录的限制,因此最大为,65532,编码不同字符数不同:,Gbk=32767,Utf8=21845,tinyText,,,text,,,mediumText,,,longtext,L + n,。,L,为最大长度,28+1,216+2, 224+3, 232+4,定义时,通常不用指定长度,可以自己计算。,enum,1,、,2,。枚举选项量(,65535,),内部存储是整型表示。,字段值只能是某一个,Set,1,、,2,、,3,、,4,、,8,。元素数量:,64,Binary,varbinary,blob,Binary(char),varbinary(varchar),blob(text),做类比,二进制数据(字节而非字符),列类型,-,如何选择,参考原因:,定义列属性,列属性,列约束,列属性,-NULL,Null,,表示没有值。与任何数据不同。表示什么都没有,。,Null | not null,可以规定当前列,是否可以为,null,。,Null,的操作:,插入值,null,。,判断,null,,需要使用,is null or is not null,来判断,不能直接比较,=null,列属性,-default,DEFAULT,子句用于为列指定一个,默认,当该字段不存在值时,会被启用。,默认,值必须为一个常数,不能为一个函数或一个,表达式,可以不存在,default,,但是,mysql,会判断:,如果该列可以为空,则默认值为,null,;,如果不可以,则不设置默认值。,列属性,-,主,键,|,唯一索引,列属性,-,自动增长,Auto_increment,,为新行生成唯一标识,列属性,-,注释,实体之间的关系,实体之间的关系,实现,外,键约束,Foreign key,存储引擎,范式,-1NF,属性不可再分,字段保证原子性,讲师,性别,班级,教室,代课时间,代课时间(开始,结束),韩忠康,Male,php0331,102,30,天,2013-03-31,2013-05-05,韩忠康,Male,php0228,106,30,天,2013-02-28,2013-03-30,韩顺平,male,Php0228,106,15,天,2013-03-31,2013-05-05,讲师,性别,班级,教室,代课时间,开始,结束,韩忠康,Male,php0331,102,30,天,2013-03-31,2013-05-05,韩忠康,Male,php0228,106,30,天,2013-02-28,2013-03-30,韩顺平,male,Php0228,106,15,天,2013-03-31,2013-04-20,范式,-2NF,不能出现部分依赖,增加单列关键字,讲师,P,性别,班级,P,教室,代课时间,开始,结束,韩忠康,Male,php0331,102,30,天,2013-03-31,2013-05-05,韩忠康,Male,php0228,106,30,天,2013-02-28,2013-03-30,韩顺平,male,Php0228,106,15,天,2013-03-31,2013-04-20,IDP,讲师,性别,班级,教室,代课时间,开始,结束,1,韩忠康,Male,php0331,102,30,天,2013-03-31,2013-05-05,2,韩忠康,Male,php0228,106,30,天,2013-02-28,2013-03-30,3,韩顺平,male,php0228,106,15,天,2013-03-31,2013-04-20,范式,-3NF,不能出现传递依赖,IDP,讲师,性别,班级,教室,代课时间,开始,结束,1,韩忠康,Male,php0331,102,30,天,2013-03-31,2013-05-05,2,韩忠康,Male,php0228,106,30,天,2013-02-28,2013-03-30,3,韩顺平,male,php0228,106,15,天,2013-03-31,2013-04-20,IDP,讲师,班级,代课时间,开始,结束,1,韩忠康,php0331,30,天,2013-03-31,2013-05-05,2,韩忠康,php0228,30,天,2013-02-28,2013-03-30,3,韩顺平,php0228,15,天,2013-03-31,2013-04-20,讲师,性别,韩忠康,male,韩顺平,male,班级,教室,Php0228,106,Php0331,102,常用,SQL-,获取数据,Select-select_expr,tbl_name,select-where,Select-group by,Id,教师,班级,天数,1,韩信,0331,25,2,李世民,0228,22,3,韩信,0228,20,4,韩非子,0228,15,5,李世民,0331,22,如果需要查询,某个教室,或者,某个班级的代课情况,可以按照教师或班级,分组,右图中,,按,教师分组,聚合(合计)函数,Group function,Select-having,Id,教师,班级,天数,1,韩信,0331,25,2,李世民,0228,22,3,韩信,0228,20,4,韩非子,0228,15,5,李世民,0331,22,按照教师分组后,,如果期望得到代课天数,大于,40,天的老师,思路就是,先分组计算,老师的代课天数,比较,执行顺序,Select-order by,Id,教师,班级,天数,1,韩信,0331,25,2,李世民,0228,22,5,李世民,0331,22,3,韩信,0228,20,4,韩非子,0228,15,按照代课天数,进行降序排序,Select-limit,Id,教师,班级,天数,1,韩信,0331,25,2,李世民,0228,22,5,李世民,0331,22,3,韩信,0228,20,4,韩非子,0228,15,我只需要,,天数最多的两个记录,分页的核心技术,就是,limit,Select-,选项,Select-union,联合,Select-subquery,子查询,Subquery-,子查询返回值,Subquery-,子查询位置,Select-Join,连接,(,连结,),查询,Select-into outfile,结果导出,insert & replace,Load data infile,导入,Delete,删除,update,备份,/,还原,视图,事务,锁,index,索引,Explain,SQL,编程,SQL,编程,-,变量,SQL,编程,-,函数,SQL,编程,-,内置函数,SQL,编程,-,自定义函数,SQL,编程,-,控制结构,SQL,编程,-,局部变量,SQL,编程,-,存储函数,SQL,编程,-,存储过程,触发器,触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象,函数,过程,游标,SQL,服务器模式,认证管理,常见错误说明与解决,常用,mysql,客户端,错误处理,日志,附录,列类型(数据类型),运算符,函数,常用,SQL,课程中的案例表,MySQL,体系结构图,体系结构图,Thank you,!,FROM,:,韩忠康,QQ,:,5400900808,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!