您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 传智播客_韩顺平_Mysql数据库
—高级软件人才实作培训专家!北京传智播客教育数据库(mysql)编程讲师:韩顺平—高级软件人才实作培训专家主讲韩顺平php培训日志从入门到精通主讲:韩顺平email:hanshunping@tsinghua.org.cn本章节的讲解:参考视频jdbc详解关于mysql数据库部分!!!!!—高级软件人才实作培训专家主讲韩顺平php进阶-内容介绍(一)项目演示(二)php数据库编程-mysql2.1mysql数据库-基础部分2.2mysql数据库-加强部分1--mysql表类型和存储引擎--mysql中事务处理2.3mysql数据库-加强部分2--mysql表的基本查询加强--mysql表的复杂查询--维护数据的完整性—约束--mysql内连接、外连接2.4mysql数据库-加强部分3--维护数据的完整性—约束--mysql表自增--mysql索引—高级软件人才实作培训专家主讲韩顺平php进阶-雇员管理系统演示—高级软件人才实作培训专家主讲韩顺平php进阶-oa(办公自动化)系统演示—高级软件人才实作培训专家主讲韩顺平php数据库编程-mysql1.数据库的基本概念2.mysql数据库的基本操作3.mysql的curd操作4.mysql常用函数5.php如何操作mysql数据库—高级软件人才实作培训专家主讲韩顺平学习目标1.mysql基本操作2.mysql简单的crud操作3.php操作mysql—高级软件人才实作培训专家主讲韩顺平一个问题①淘宝网,天涯网,校友网,雇员管理系统,留言本..都有各自的功能,那么当我们关闭系统的时候,下次再访问这些网站时,为什么他们各自的信息还存在?②再比如c/s的软件,比如网游、qq、他们又是怎样保存数据的?a.游戏积分b.qq聊天记录..—高级软件人才实作培训专家主讲韩顺平■解决之道-文件、数据库我们刚学习过文件,大家可能回答用文件就可以保存数据嘛!没有错,可以如果用文件保存数据存在几个缺点:(1)文件的安全性问题(2)文件不利于查询和对数据的管理(3)文件不利于存放海量数据(4)文件在程序中控制不方便—高级软件人才实作培训专家主讲韩顺平■解决之道-文件、数据库为了解决上述问题,专家们设计出更加利于管理数据的东东-数据库,它能更有效的管理数据。数据库是衡量一个程序员水平的重要指标。举一个生活化的案例说明如果说图书馆是保存书籍的,那么数据库就是保存数据的。—高级软件人才实作培训专家主讲韩顺平数据库简介SQLServer、Oracle、MySQL、DB2、SyBase*对当前主流数据库做一个比较介绍MySQL数据库的安装和配置使用命令行窗口连接MYSQL数据库mysql–h主机名–u用户名–p密码启动mysql数据库的常用方式:1.服务方式启动(界面)2.netstopmysql服务名netstartmysql服务名—高级软件人才实作培训专家主讲韩顺平数据库服务器、数据库和表的关系MySQLdbmsDBDB数据对象(表)数据对象(表)数据对象(表)Client所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。数据库服务器、数据库和表的关系如图所示:—高级软件人才实作培训专家主讲韩顺平数据在数据库中的存储方式雇员表(employee)行(row)列(column)表的一行称之为一条记录表中一条记录对应一个php对象的数据—高级软件人才实作培训专家主讲韩顺平SQL语句分类DDL:数据定义语句(createalterdrop)DML:数据操作语句(insertupdatedelete)DQL:数据查询语句(select)DCL:数据控制语句(grantrevokecommitrollback)小面试题:mysql数据库的sql语句分几类?—高级软件人才实作培训专家主讲韩顺平创建数据库CREATEDATABASE[IFNOTEXISTS]db_name[create_specification[,create_specification]...]create_specification:[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_nameCHARACTERSET:指定数据库采用的字符集COLLATE:指定数据库字符集的比较方式练习:创建一个名称为db1的数据库。创建一个使用utf-8字符集的db2数据库。创建一个使用utf-8字符集,并带校对规则的mydb3数据库—高级软件人才实作培训专家主讲韩顺平查看、删除数据库显示数据库语句:SHOWDATABASES显示数据库创建语句:SHOWCREATEDATABASEdb_name数据库删除语句:DROPDATABASE[IFEXISTS]db_name练习:查看当前数据库服务器中的所有数据库查看前面创建的db2数据库的定义信息删除前面创建的db1数据库—高级软件人才实作培训专家主讲韩顺平修改、备份、恢复数据库ALTERDATABASE[IFEXISTS]db_name[alter_specification[,alter_specification]...]alter_specification:[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_name|{ENGINE|TYPE}=engine_name//表存储引擎再事务是再讲解备份数据库表中的数据mysqldump-u用户名-p数据库名文件名.sql恢复数据库Source文件名.sql练习1查看服务器中的数据库,并把其中某一个库的字符集修改为utf8;2备份test库中的数据,并恢复—高级软件人才实作培训专家主讲韩顺平体验Mysql-安装ecshop安装的时候,可能在创建管理员会报错误,解决方法如下:重新设置date.timezone=PRC,需要重新启动apache才能生效.[Date];Definesthedefaulttimezoneusedbythedatefunctions;=PRC—高级软件人才实作培训专家主讲韩顺平创建表(基本语句)CREATETABLEtable_name(field1datatype,field2datatype,field3datatype,)characterset字符集collate校对规则engine存储引擎方式field:指定列名datatype:指定列类型注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。例:user表id整形name字符串password字符串birthday日期—高级软件人才实作培训专家主讲韩顺平mysql常用的数据类型VARCHAR、BLOB和TEXT类是变长类型。每个类型的存储需求取决于列值的实际长度。分类数据类型说明数值类型BIT(M)TINYINT[UNSIGNED]BOOL,BOOLEANSMALLINT[UNSIGNED]INT[UNSIGNED]BIGINT[UNSIGNED]FLOAT[(M,D)][UNSIGNED]DOUBLE[(M,D)][UNSIGNED]位类型。M指定位数,默认值1,范围1-64带符号的范围是-128到127。无符号0到255。默认是有符号使用0或1表示真或假带符号是负的2的15次方到2的15次方-1,无符号2的16方-1带符号是负的2的31次方到2的31次方-1,无符号2的32方-1带符号是负的2的63次方到2的63次方-1,无符号2的64方-1M指定显示长度,d指定小数位数表示比float精度更大的小数文本、二进制类型CHAR(size)char(20)VARCHAR(size)varchar(20)BLOBLONGBLOBTEXTLONGTEXT固定长度字符串最大255可变长度字符串最大65532【在mysql5.0中最大21844】二进制数据大文本,不支持全文索引,不支持默认值,建议使用varchar时间日期DATE/DATETIME/TimeStamp日期类型(YYYY-MM-DD)(YYYY-MM-DDHH:MM:SS),TimeStamp表示时间戳,它可用于自动记录insert、update操作的时间—高级软件人才实作培训专家主讲韩顺平mysql常用的数据类型分类数据类型说明String类型ENUM类型SET类型ENUM是一个字符串对象,其值来自表创建时在列规定中显式枚举的一列值。在某些情况下,ENUM值也可以为空字符串('')或NULL:SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。SET最多可以有64个不同的成员可以使用FIND_IN_SET()函数或LIKE操作符搜索SET值—高级软件人才实作培训专家主讲韩顺平mysql字符集和校验规则查询的乱码出现原因:1.character_set_clinet设置和客户端实际发出的不一致.2.charset_set_results设置和客户端实际需要的编码不一致.—高级软件人才实作培训专家主讲韩顺平mysql字符集和校验规则collate:校对规则指:在对某个字段排序时,按照怎样的规则来排序这里我们先简单举一个案例,大家了解即可.☞请查看Mysql关于校对规则手册—高级软件人才实作培训专家主讲韩顺平创建表练习创建一个员工表字段属性Id整形name字符型sex字符型或bit型brithday日期型Entry_date日期型job字符型Salary小数型resume大文本型—高级软件人才实作培训专家主讲韩顺平修改表使用ALTERTABLE语句追加,修改,或删除列的语法.ALTERTABLEtablenameADD(columndatatype[DEFAULTexpr][,columndatatype]...);ALTERTABLEtablenameMODIFY(columndatatype[DEFAULTexpr][,columndatatype]...);ALTERTABLEtablenameDROP(column);修改表的名称:Renametable表名to新表名修改表的字符集:altertablestudentcharactersetutf8;—高级软件人才实作培训专家主讲韩顺平修改表练习在上面员工表的基本上增加一个image列。修改job列,使其长度为60。删除sex列。表名改为user。修改表的字符集为utf-8列名name修改为usernamealtertableuserchangecolumnnameusernamevarchar(20);—高级软件人才实作培训专家主讲韩顺平帮助命令的使用在mysql使用中,我们可能忘记一个mysql命令的使用,我们可以通过帮助命令?来查看相关命令的使用方式1.?create方式2?createtable提示:控制台给出的都是英文说明,如果英文不好,还是用mysql中文手册吧!—高级软件人才实作培训专家主讲韩顺平数据库CRUD语句Insert语句(增加数据)Update语句(更新数据)Delete语句(删除数据)Select语句(查找数据)—高级软件人才实作培训专家主讲韩顺平Insert语句INSERTINTOtablename[(column[,column...])]VALUES(value[,value...]);使用INSERT语句向表中插入数据。☞注意事项插入的数据应与字段的数据类型相同。数据的大小应在列的规定范围内,例如:不能将一个长
本文标题:传智播客_韩顺平_Mysql数据库
链接地址:https://www.777doc.com/doc-3731307 .html