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

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

ID:82448566

大小:2.06 MB

页数:95页

时间:2023-07-17

上传者:胜利的果实
传智播客PHP培训韩忠康PHP视频教程Mysql_第1页
传智播客PHP培训韩忠康PHP视频教程Mysql_第2页
传智播客PHP培训韩忠康PHP视频教程Mysql_第3页
传智播客PHP培训韩忠康PHP视频教程Mysql_第4页
传智播客PHP培训韩忠康PHP视频教程Mysql_第5页
传智播客PHP培训韩忠康PHP视频教程Mysql_第6页
传智播客PHP培训韩忠康PHP视频教程Mysql_第7页
传智播客PHP培训韩忠康PHP视频教程Mysql_第8页
传智播客PHP培训韩忠康PHP视频教程Mysql_第9页
传智播客PHP培训韩忠康PHP视频教程Mysql_第10页
资源描述:

《传智播客PHP培训韩忠康PHP视频教程Mysql》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

数据库-MySQL韩忠康

1目标如何使用MySQL数据库如何设计数据库

2什么是数据库?

3为什么是MySQL?常用的数据库:

4关系型数据库实体结构+实体联系

5关系型数据〔RDBMS〕的常用术语数据库表行列记录字段SQL

6MySQL架构C/SCLIENT/SERVER,客户端/效劳器

7管理MySQL效劳器作为Windows效劳管理,效劳〔services.msc〕NetstartMySQLNetstopMySQL直接运行mysqld效劳器程序

8操作MySQL通过MySQL客户端,操作MySQLMysql(mysql.exe)–hlocalhost–P3306–uroot–pExitquit\q步骤:1,连接,认证。2,客户端发送操作指令到效劳器端3,效劳器端处理请求指令4,效劳器端将处理结果返回给浏览器5,客户端显示得到的结果

9指令-SQL结构化查询语言SQL=DDL,DML(DQL+DML),DCL

10SQL之数据库操作语言创立数据库Createdatabase[ifnotexists]数据库名[数据库选项]数据库名:可以是任意字符〔目录可以创立成功〕,但特殊的字符需要使用反引号包裹。标识符的大小写区别于操作系统的大小写特征。Ifnotexists表示在数据库不存在时创立。数据库选项中,可以设定数据库字符集〔charactersetutf8)和校对集(collateutf8_general_ci)。

11SQL之数据库操作语言查询已经存在的数据库:Showdatabases[like‘pattern’]Likepattern指的是显示符合哪些命名规那么的。不存在指的是所有的数据库。查询创立数据库的语句:Showcreatedatabasedb_name;

12SQL之数据库操作语言删除数据库Dropdatabase[ifexists]db_name;Ifexists表示数据库存在才删除。当删除一个数据库时,同时删除该数据库相关的目录及其目录内容。

13SQL之数据库操作语言更新数据库选项信息alterDatabasedb_name更新的表选项〔表选项与定义时是一致的〕

14SQL之表操作创立表:Createtable[ifnotexists]tbl_name〔列定义〕[表选项]Createtable[ifnotexists]tbl_namelikeold_tbl_name;Createtable[ifnotexists]tbl_nameselect语句;每当创立一个表,会在数据目录创立对应的文件保存表信息。

15SQL之表操作列定义:列名类型[是否为空][Default默认值][是否为自动增长][是否为主索引或唯一索引][comment注释][引用定义]类型指的是当前列所保存数据的类型。〔简单的int整型,varchar字符串类型,需要指定最大长度〕每个列定义使用逗号分隔。

16SQL之表操作表选项,常用的表选项表引擎:engine|type=引擎表字符集与校对集charsetset=字符集collate=校对集注释comment=‘注释’

17SQL之表操作查询表:查询数据库中存在的数据表Showtables[fromdb_name][like‘pattern’];如果没有数据库名,那么采用当前数据库,如果没有like那么获得所有表。查询当前表的定义语句:Showcreatetabletbl_name;查看当前表的列结构:Desc|describetbl_name;(showcolumnsfromtbl_name);

18SQL之表操作删除表Droptable[ifexists]tbl_name;注意,可以同时删除多个表名,表名之间使用逗号分割。

19SQL之表操作更新表重命名,renametabletbl_nametonew_tbl_name;可以同时针对多个表进行重命名,甚至可以跨数据库。更新表结构,altertable。可以提供对表选项和列定义的修改。

20SQL之表操作更新表结构——表选项管理与新建表格一致对表选项重新设置。

21SQL之表操作更新表结构——列定义管理增加列:Altertabletbl_nameaddcolumn_definition。可以同时增加多个列,使用括号括起来多个列的定义。删除列:altertabletbl_namedropcolumn_name;修改已有列定义:altertabletbl_namechangeold_columnnew_column_definition;或者Altertabletbl_namemodifycolumn_definition。其中change可以重命名列

22简单的数据操作DML增加数据:Insertintotbl_name(字段列表)values(值列表);查询数据:Select字段列表fromtbl_name检索条件;删除数据:Deletefromtbl_name删除条件;更新数据:Updatetbl_nameset字段=值列表更新条件

23字符集&校对集字符集:是一套字符与字符编码的集合。字符,用于显示的抽象符号。编码,计算机都是二进制存储,因此需要将显示符号转换成二进制数才能存储,每个字符所转换成的二进制数,就是字符编码。常见的字符集&编码:Ascii字符集,GB2312字符集,gbk字符集,latin1字符集,unicode字符集等。

24MySQL字符集Showcharacterset;可以获得MySQL支持的所有字符集。MySQL可以使用多种字符集保存数据。MySQL,可以针对字段,表,数据库,效劳器进行字符集的设置,还可以设定连接字符集〔客户端与效劳器端交互时〕

25效劳器字符集数据字符集确定:

26连接字符集连接字符集由以下三个局部组成:

27校对规那么指的是,当前字符集内,字符之间的比较关系。

28列类型

29数值型-整数类型类型字节最小值(有符号/无符号)最大值(有符号/无符号)TINYINT1-128/0127/255SMALLINT2-32768/032767/65535MEDIUMINT3-8388608/08388607/16777215INT/INTEGE4-2147483648/02147483647/4294967295BIGINT8-9223372036854775808/09223372036854775807/18446744073709551615可使用unsigned控制是否有正负可以使用zerofill来进行前导零填充也存在布尔bool类型,但是就是tinyint(1)的别名

30数值型-小数类型类型存储空间(字节)最小值(理论)最大值(理论)FLOAT4-3.402823466E+383.402823466E+38DOUBLE8-1.7976931348623157E+3081.7976931348623157E+308DECIMAL变长,大致是每9个数字,采用4个字节存储。整数和分数分开计算M,最大是65D,最大是30默认是10,2-(65个9)(+65个9)可以利用M,D控制数值范围;可以无符号;可以zerofill;可以使用科学计数法

31日期时间类型类型显示格式取值存储空间零值DATETIMEYYYY-MM-DDHH:MM:SS'1000-01-0100:00:00'到'9999-12-3123:59:59'80000-00-0000:00:00TIMESTAMPYYYY-MM-DDHH:MM:SS是‘1970-01-0100:00:00’到2038-01-1903:14:0740000-00-0000:00:00DATEYYYY-MM-DD'1000-01-01'到'9999-12-3130000-00-00TIMEHH:MM:SS-838:59:59'到'838:59:59'300:00:00YEARYYYY1901到215510000

32字符串类型类型最大长度备注char255Char(M),M字符数varchar65535,但需要1-2个保存信息,同时由于记录的限制,因此最大为65532编码不同字符数不同:Gbk<=32767Utf8<=21845tinyText,text,mediumText,longtextL+n。L为最大长度2^8+1,2^16+2,2^24+3,2^32+4定义时,通常不用指定长度,可以自己计算。enum1、2。枚举选项量(65535)内部存储是整型表示。字段值只能是某一个Set1、2、3、4、8。元素数量:64Binary,varbinary,blobBinary(char),varbinary(varchar),blob(text)做类比二进制数据(字节而非字符)

33列类型-如何选择参考原因:

34定义列属性列属性,列约束

35列属性-NULLNull,表示没有值。与任何数据不同。表示什么都没有。Null|notnull可以规定当前列,是否可以为null。Null的操作:插入值null。判断null,需要使用isnullorisnotnull来判断,不能直接比较=null

36列属性-defaultDEFAULT子句用于为列指定一个默认,当该字段不存在值时,会被启用。默认值必须为一个常数,不能为一个函数或一个表达式可以不存在default,但是mysql会判断:如果该列可以为空,那么默认值为null;如果不可以,那么不设置默认值。

37列属性-主键|唯一索引

38列属性-自动增长Auto_increment,为新行生成唯一标识

39列属性-注释

40实体之间的关系

41实体之间的关系实现

42外键约束Foreignkey

43存储引擎

44范式-1NF属性不可再分,字段保证原子性讲师性别班级教室代课时间代课时间(开始,结束)韩忠康Malephp033110230天2013-03-31,2013-05-05韩忠康Malephp022810630天2013-02-28,2013-03-30韩顺平malePhp022810615天2013-03-31,2013-05-05讲师性别班级教室代课时间开始结束韩忠康Malephp033110230天2013-03-312013-05-05韩忠康Malephp022810630天2013-02-282013-03-30韩顺平malePhp022810615天2013-03-312013-04-20

45范式-2NF不能出现局部依赖,增加单列关键字讲师P性别班级P教室代课时间开始结束韩忠康Malephp033110230天2013-03-312013-05-05韩忠康Malephp022810630天2013-02-282013-03-30韩顺平malePhp022810615天2013-03-312013-04-20IDP讲师性别班级教室代课时间开始结束1韩忠康Malephp033110230天2013-03-312013-05-052韩忠康Malephp022810630天2013-02-282013-03-303韩顺平malephp022810615天2013-03-312013-04-20

46范式-3NF不能出现传递依赖IDP讲师性别班级教室代课时间开始结束1韩忠康Malephp033110230天2013-03-312013-05-052韩忠康Malephp022810630天2013-02-282013-03-303韩顺平malephp022810615天2013-03-312013-04-20IDP讲师班级代课时间开始结束1韩忠康php033130天2013-03-312013-05-052韩忠康php022830天2013-02-282013-03-303韩顺平php022815天2013-03-312013-04-20讲师性别韩忠康male韩顺平male班级教室Php0228106Php0331102

47常用SQL-获取数据

48Select-select_expr,tbl_name

49select-where

50Select-groupbyId教师班级天数1韩信0331252李世民0228223韩信0228204韩非子0228155李世民033122如果需要查询某个教室,或者某个班级的代课情况可以按照教师或班级分组,右图中,按教师分组

51聚合〔合计〕函数Groupfunction

52Select-havingId教师班级天数1韩信0331252李世民0228223韩信0228204韩非子0228155李世民033122按照教师分组后,如果期望得到代课天数大于40天的老师思路就是,先分组计算老师的代课天数,比较执行顺序

53Select-orderbyId教师班级天数1韩信0331252李世民0228225李世民0331223韩信0228204韩非子022815按照代课天数进行降序排序

54Select-limitId教师班级天数1韩信0331252李世民0228225李世民0331223韩信0228204韩非子022815我只需要,天数最多的两个记录分页的核心技术就是limit

55Select-选项

56Select-union联合

57Select-subquery子查询

58Subquery-子查询返回值

59Subquery-子查询位置

60Select-Join连接(连结)查询

61Select-intooutfile结果导出

62insert&replace

63Loaddatainfile导入

64Delete删除

65update

66备份/复原

67视图

68事务

69锁

70index

71索引

72Explain

73SQL编程

74SQL编程-变量

75SQL编程-函数

76SQL编程-内置函数

77SQL编程-自定义函数

78SQL编程-控制结构

79SQL编程-局部变量

80SQL编程-存储函数

81SQL编程-存储过程

82触发器触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象

83函数

84过程

85游标

86SQL效劳器模式

87认证管理

88常见错误说明与解决

89常用mysql客户端

90错误处理

91日志

92附录列类型〔数据类型〕运算符函数常用SQL课程中的案例表MySQL体系结构图

93体系结构图

94Thankyou!FROM:韩忠康QQ:5400900808

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭