欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    MySQL入门到精通选读课件.ppt

    • 资源ID:1286608       资源大小:1.76MB        全文页数:152页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MySQL入门到精通选读课件.ppt

    MySQL入门,MySQL入门,课程总目标,MYSQL安装及配置有关数据库的DDL操作有关数据表的DDL操作数据库的CRUD操作索引、视图事务控制存储过程、触发器权限管理数据的导入、导出,课程总目标MYSQL安装及配置,目标,数据库介绍数据库相关的基本概念MYSQL简介MYSQL下载、安装及配置启动和停止MYSQL服务,目标数据库介绍,为何使用数据库,存储数据的方法第一种方法:用大脑记住 数据第二种方法:写在纸上第三种方法:写在计算机的内存中第三种方法:写成磁盘文件 ,为何使用数据库存储数据的方法,数据库能做什么,存储大量数据,方便检索和访问保持数据的一致、完整共享和安全通过组合分析,产生新的有用信息,数据库能做什么存储大量数据,方便检索和访问,数据库的发展,萌芽阶段 -文件系统使用磁盘文件来存储 数据初级阶段 -第一代数据库出现了网状模型、层次模型的数据库中级阶段 -第二代数据库关系型数据库和结构化查询语言高级阶段 -新一代数据库“关系-对象”型数据库,数据库的发展萌芽阶段 -文件系统,当前数据库产品,Oracle -甲骨文DB2 -IBMSQL Server -微软Sybase -赛贝斯My SQL -甲骨文,当前数据库产品Oracle -甲骨文,数据库和应用程序,数据库和应用程序,数据库的基本概念,概念模型:基于客户的想法和观点所形成的认识和抽象实体(Entity):客观存在的、可以被描述的事物。如:员工、部门属性(Attribute):用于描述实体所具有的特性或特征。如:使用编号、姓名、部门、工资等属性来描述员工的特征关系(Relationship):实体之间的关系。如:部门和员工之间有一对多的关系,数据库的基本概念概念模型:基于客户的想法和观点所形成的认识和,数据库的基本概念,数据模型:也叫关系模型,是实体、属性、关系在数据库中的具体体现关系数据库:用于存储各种类型数据的“仓库”,是二维表的集合。表:实体的映射行和列:行代表一个具体的实体的数据。也叫一条记录。列是属性的映射,用于描述实体的。主键和外键:主键:是指定该列的值可以唯一的标识该条记录外键:是指定该行记录从属于主表中的一条记录,主要用于保证参照完整性。,数据库的基本概念数据模型:也叫关系模型,是实体、属性、关系在,数据库的基本概念,数据库管理系统(DBMS),数据库的基本概念数据库管理系统(DBMS),My SQL是什么,My SQL是最流行的开放源码SQL数据库管理系统My SQL是一种关系数据库管理系统My SQL软件是一种开放源码软件My SQL数据库服务器具有快速、可靠和易于使用的特点My SQL服务器工作在客户端/服务器模式下,或嵌入式系统中My SQL数据库软件是一种客户端/服务器系统,由支持,My SQL是什么My SQL是最流行的开放源码SQL数据库,My SQL是什么,不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口API组成。有大量可用的共享My SQL软件,My SQL是什么不同后端的1个多线程SQL服务器,数种不同,My SQL体系结构,My SQL体系结构,My SQL的发展,My SQL最早起始于1979,开始是Michael.Monty. Widenius为瑞典的TcX公司创建的UNIREG数据库工具1996年5月My SQL 1.01996年10月My SQL 3.11.1以用于Linux和Solaris系统的二进制分发形式发布2003年3月My SQL 4.02004年6月My SQL 4.12005年10月My SQL 5.0,My SQL的发展My SQL最早起始于1979,开始是Mi,My SQL的发展,2008年1月16日Sun出价10亿美元收购 了My SQL2011年My SQL 5.5.21,My SQL的发展2008年1月16日Sun出价10亿美元收,My SQL的特性,内部构件和可移植性使用C和C+编写,能够工作在众多不同的平台上列类型众多列类型,定长和可变长度记录语句和函数安全允许基于主机的验证可伸缩性和限制,My SQL的特性内部构件和可移植性,My SQL 的特性,连接性在任何平台上,客户端可使用TCP/IP协议连接到My SQL服务器本地化客户端和工具,My SQL 的特性连接性,著名的My SQL用户,GoogleGoogle和My SQL建立了协议,它所有的数据库都建立在My SQL之上其收购的世界最大的视频网站YouTube也采用了My SQL数据库雅虎财经网站的数据库维基百科腾讯大家所熟知的腾讯QQ就是采用Linux操作系统+My SQL数据库平台,著名的My SQL用户Google,My SQL数据库下载,http:/,My SQL数据库下载http:/www.mysql.co,帮助手册下载,http:/,帮助手册下载http:/,My SQL安装,见操作演示。,My SQL安装见操作演示。,启动和停止My SQL服务,以Windows服务方式启动从命令行启动服务器在命令行窗口下切换到My SQL安装目录bin目录下启动:Mysqld-nt -console -服务器在前台运行,需另开一个控制台窗口来运行客户端程序Net start mysql停止:Mysqladmin -u root p shutdown,启动和停止My SQL服务以Windows服务方式启动,总结,数据库介绍数据库相关概念My SQL简介My SQL下载、安装和配置启动和停止My SQL服务,总结数据库介绍,MYSQL数据库表管理,MYSQL数据库表管理,目标,数据库管理SQL简介有关数据库的DDL操作数据表的列类型有关数据表的DDL操作帮助的使用,目标数据库管理,客户端程序连接与断开服务器,连接:My sql h My SQL服务器地址 -u 用户名 -p-h(hostname) My SQL数据库主机地址-u(username)登录My SQL数据库服务器主机的用户-p(password)用户登陆My SQL服务器的密码本地登陆用:my sql u 用户名 p断开:在my sql提示符下输入quit(或q)随时退出,客户端程序连接与断开服务器连接:,SQL语句概述,SQL:结构化查询语言(Structured Query Language)一般读作si:kju:或”ess-que-el”(字母”S”、”Q”、”L”的发音)在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。,SQL语句概述SQL:结构化查询语言(Structured,SQL分类,在My SQL数据库中,SQL语句主要可以划分为以下几类:DDL(Data Definition Language):数据定义语言,定义对数据库对象(库、表、列、索引)的操作Create、Drop、Alter、Rename等DML(Data Manipulation Language):数据操作语言,定义对数据库记录的操作Insert、Delete、Update、Select、Truncate等,SQL分类在My SQL数据库中,SQL语句主要可以划分为以,SQL分类,DCL(Data Control Language):数据控制语言,定义对数据库、表、字段、用户的访问权限和安全级别Grant、Revoke等Transaction Control:事务控制Start Transaction、Commit、RollBack、Savepoint等,SQL分类 DCL(Data Control Languag,SHOW DATABASES,语法:SHOW DATABASESLike wild;如果使用like wild部分,wild字符串可以是一个使用SQL的%”和”_”通配符的字符串。功能:列出在My SQL服务器主机上的数据库My SQL自带的数据库Information_schema:主要存储了系统中的一些数据库对象信息:如用户表信息、列信息、权限信息、字符集信息、分区信息等,SHOW DATABASES语法:,SHOW DATABASES,My SQL自带的数据库:my sql :存储了系统的用户权限信息及帮助信息test:系统自动创建的测试数据库,任何用户都可以使用。,SHOW DATABASESMy SQL自带的数据库:,SQL语句语法,SQL语句可单行或多行书写,以”;”结尾用空格和缩进来提高语句的可读性。关键词不能跨多行或简写,大小写不敏感子句通常位于独立行,便于编辑,提高可读性例如:select * from emp;,SQL语句语法SQL语句可单行或多行书写,以”;”结尾,SQL语句语法,注释:SQL标准从/*多行注释*/从-到行尾。注意:第2个破折号后面至少跟一个空格符(例如空格、tab、换行符等等)。该语法与标准SQL注释语法稍有不同。My SQL从”#”字符到行尾,SQL语句语法注释:,Create Data Base,语法:Create DataBase if not exists 数据库名;功能:用给定的名字创建一个数据库前提:需要获得数据库Create权限如果数据库已经存在,发生一个错误,Create Data Base语法:,Drop Data Base,语法:Drop DataBase if exists 数据库名;功能:删除数据库中的所有表和数据库前提:需要获得数据库Drop权限要小心使用这个命令,Drop Data Base语法:,用USE选用数据库,语法:Use 数据库名;功能:把指定数据库作为默认(当前)数据库使用,用于后续语句。,用USE选用数据库语法:,列类型,My SQL支持多种列类型数值类型日期/时间类型字符串(字符)类型,列类型My SQL支持多种列类型,数值数据类型整数,数值数据类型整数,数值数据类型浮点数,注:M表示最大显示宽度;D表示小数点后面的位数。定点数DECIMAL在内部以字符串形式存放,适合于表示货币等精度高的数据。一定要指定M和D。,数值数据类型浮点数,日期/时间类型,注:TIMESTAMP跟时区相关,插入日期时,会先转换为本地时区后存放,而取出时,也会将日期转换为本地时区后显示。,日期/时间类型,字符串类型,字符串类型,SHOW,语法:Show tables from 数据库名 like wild功能:显示当前数据库中已有的数据表的信息,SHOW语法:,DESCRIBE,语法:DESCRIBE|DESC 表名列名功能:查看数据表中各列的信息用” show create table 表名 ;”可以查看更全面的表定义信息,DESCRIBE语法:,用Create table创建数据表,简单语法:Create table 表名( 列名 列类型, 列名 列类型, . );功能:在当前数据库中创建一张表前提:必须拥有表Create权限,用Create table创建数据表简单语法:,关于识别符,数据库名、表名、索引名、列名和别名是识别符:操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性Windows系统大小写不敏感,Linux、Unix系统大小写敏感,关于识别符数据库名、表名、索引名、列名和别名是识别符:,建表示例,Create table dept( dept_id int, name varchar(20);Create table emp( emp_id int,name varchar(20),gender char,address varchar(100) );,建表示例Create table dept(,删除数据表,语法:Drop table if exists 表名;功能:删除指定的表,删除数据表语法:,用Alter Table语句修改表的结构,修改列类型Alter table 表名 modify 列名 列类型;增加列Alter table 表名 add 列名 列类型;删除列Alter table 表名 drop 列名;,用Alter Table语句修改表的结构修改列类型,用Alter Table语句修改表的结构,列改名Alter table 表名 change 旧列名 新列名 列类型;更改表名Alter table 表名 rename 新表名;Rename table 表名 to 新表名;,用Alter Table语句修改表的结构列改名,My SQL帮助的使用,安装自带的文档安装目录Docsmanual.chm命令行帮助? contents 显示所有可供查询的分类? 类别名称 如:? Data types;? 关键字 如:? Create table;,My SQL帮助的使用安装自带的文档,总结,有关数据库的DDL操作Show databases;Create database 数据库名;Drop database if exists 数据库名;Use 数据库名;有关数据表的DDL操作Show tables from 数据库名;Desc 表名;Create table 表名(.);Drop table if exists 表名;Alter table 表名 ;,总结有关数据库的DDL操作,总结,数据表的列类型数值类型日期类型字符串类型帮助的使用manual.chm?,总结数据表的列类型,作业,有一Blog系统使用的数据库是myblog,现在有几个要求:创建好数据库My blog.根据实际应用情况在my blog中创建好以下两张表帐号、文章类别帐号(account)编号(category_id)、用户名(username)、密码(password)、邮箱号(email)、性别(gender)、博客名(title)通过alter table 给此表添加两个字段:昵称(nickname)、头像(headlmg),作业有一Blog系统使用的数据库是myblog,现在有几个要,作业,文章类别表(category)编号(category_id)、帐户编号(account_id)、类别名(title)、描述(description)、文章数(articleNum)、可访问性(visible)、创建时间(createdTime),作业文章类别表(category),常用运算符和函数,常用运算符和函数,目标,常用运算符算术运算符比较运算符逻辑运算符常用函数字符串函数数值函数日期和时间函数流程函数其他常用函数,目标常用运算符,算术运算符,算术运算符,比较运算符,比较运算符,逻辑运算符,逻辑运算符,字符串常用函数,字符串常用函数,数值常用函数,数值常用函数,日期和时间常用函数,日期和时间常用函数,流程函数,流程函数,其他常用函数,其他常用函数,总结,常用运算符算术运算符比较运算符逻辑运算符常用函数字符串函数数值函数日期和时间函数流程函数其他常用函数,总结常用运算符,My SQL 数据表DML操作,My SQL 数据表DML操作,目标,有关数据表的DML操作Insert intoDelete 、TruncateUpdate Select条件查询查询排序聚合函数分组查询,目标有关数据表的DML操作,Insert语句,语法:Insert into 表名(列名1,列名n) values(值1,.值n);功能:向指定的表添加指定值的记录一次性插入多条记录:Insert into 表名(列名1,列名n) values(值1,.值n), (值1,.值n),.;,Insert语句语法:,Delete 语句,语法:Delete from 表名 where 条件;功能:用于删除满足指定条件的记录注:所有SQL语句的条件子句中都可以使用运算符和函数,Delete 语句语法:,Truncate语句,语法:Truncate table table name;功能:用于完全清空一张表,Truncate语句语法:,Update 语句,语法:Update 表名 set 列名1=值1,.列名n=值nwhere 条件;,Update 语句语法:,Select 语句,基本语法:Select selection_list 选择哪些列 from table_list 从何处选择行 where primary_constraint 行必须满足什么条件 group by grouping_columns 怎样对结果分组 having secondary_constraint 行必须满足的第二条件 order by sorting_columns 怎样对结果排序 limit offset_start,row_count 结果限定,Select 语句基本语法:,普通查询,查询所有的记录的所有列Select * from employees;查询特定行Select * from emp where name=张三;查询特定列Select name,age form emp;去掉重复的值Select distinct dept_id from emp;给列取别名Select name as 姓名 from emp;,普通查询查询所有的记录的所有列,条件查询,语法:Select 列名,. from 表名 where 条件;Where子句中的条件表达式可以包括运算符可以使用圆括号将一个表达式分成几个部分可以使用常量、列和函数来完成运算Where 子句中不能出现组函数,条件查询语法:,查询排序,语法Select 列名, from 表名 where 条件 order by 排序列名1asc|desc,排序列名2asc|desc,;Asc:升序 , 缺省;Desc :降序,查询排序语法,查询排序,例:Select * from emp order by dept_id,sal desc;Select * from emp order by rand();,查询排序例:,分组查询,语法:Select 列名, from 表名 where 条件 group by 分组的列;Group by 子句的真正作用在于与各种聚合函数配合使用。它用来对查询出来的数据进行分组,分组后的数据执行组函数计算,最终结果自动按分组列进行升序排序。,分组查询语法:,常用聚合函数,聚合函数对一组值执行计算,并返回单个值。也叫组函数。除了count()以外,聚合函数都会忽略空值。聚合函数不能和非分组的列混合使用。,常用聚合函数聚合函数对一组值执行计算,并返回单个值。也叫组函,示例,Select count(*) as 总数 from emp;Select dept_id ,count(*),sum(sal),avg(sal) from emp group by dept_id;查询分组中一个非常重要的规则:出现在select 列表中的列,如果出现的位置不是在组函数中,那么必须出现在group by 子句中。,示例Select count(*) as 总数 f,Having,Having 子句用来对分组后的结果再进行条件过滤。例如:Select dept_id ,avg(sal) from emp where sal between 2500 and 8000 group by dept_id having count(*)1;,HavingHaving 子句用来对分组后的结果再进行条件过,Having 与Where的区别,Where 子句是在分组前进行的条件过滤,所以where子句中不能使用聚合函数。Having 子句是分组后进行的条件过滤,所以having子句中可以使用聚合函数。,Having 与Where的区别 Where 子句是在分组前,查询结果限定,在select语句的最后可以用limit来限定查询结果返回的起始记录和总数量。(my sql特有的)语法:Select from emp limit start_row,row_count;Start_row:起始点,默认为0Row_count:记录数例如:Select * from emp limit 6; /*检索前5条记录*/Select * from emp limit 6,10; - 检索记录行7-16*,查询结果限定在select语句的最后可以用limit来限定查,总结,有关数据表的DML操作Insert into、Delete、Update、Select 条件查询查询排序聚合函数分组查询,总结有关数据表的DML操作,Create Table深入,Create Table深入,目标,Create table深入为表增加约束Not nullUnique Primary keyForeign keyCheck设置自增长及默认值选择表的存储引擎,目标Create table深入,约束,约束是在表上强制执行的一些数据校验规则,被插入、修改或删除的数据必须符合在相关字段上设置的这些约束条件。五类完整性约束Not null 非空Unique 唯一Primary key 主键Foreign key 外键Check 检查,约束约束是在表上强制执行的一些数据校验规则,被插入、修改或删,约束定义语法,列级约束:在定义列的同时定义约束语法:列定义约束类型表级约束:在定义了所有列之后定义的约束语法:列定义., constraint 约束名 约束类型(列名) 约束名的取名规则 推荐采用:表名_列名_约束类型简写约束可以在创建表时就定义,也可以在创建完表后再添加。,约束定义语法列级约束:在定义列的同时定义约束,非空约束,Not null该列的值不能为空列级约束Create table dept( dept_id int, name varchar(20) not nul, age int);,非空约束Not null,唯一约束,Unique 要求该列的值唯一,允许为空,但只能出现一个空值列级约束、表级约束取名:表名_列名_uk例如Create table dept( dept_id int, name varchar(20) Unicode not null, age int);,唯一约束Unique,主键约束,Primary key用来唯一标识这行记录。一张表中只能有一个主键。 功能上相当于非空且唯一。列级约束、表级约束取名:表名_列名_pk例如:Create table dept(dept_id int primary key,Name varchar(20),age int) ;,主键约束Primary key,外键约束,Foreign key用于两表间建立关系,需要指定引用主表的那列列级约束、表级约束取名:主表名_子表名_fk语法:constraint 约束名 foreign key (子表外键列名) references 主表名(主表主键列名);My SQL中的外键关系只对innodb型表有效,外键约束Foreign key,检查约束,Check 表达式对某列的值进行范围限制,格式限制等列级约束、表级约束取名:表名_列名_ck注意:目前My sql的check约束并不起作用。,检查约束Check 表达式,删除约束,删除Not null约束Alter table 表名 modifiy 列名 类型删除unique约束Alter tabel 表名 drop index 唯一约束名;删除primary key约束Alter table 表名 drop primary key;删除foreign key 约束Alter table 表名drop foreign key 外键名;,删除约束删除Not null约束,自增长和默认值,Auto_increment: 自动增长为新的行产生唯一的标识一个表只能有一个auto_increment属性,且该属性必须为主键的一部分。Auto_increment属性可以是任何整数类型Default 默认值:指定默认值例如:create table test(id int primary key auto_increment,name varchar(20), sex varchar(6) default 默认值;,自增长和默认值Auto_increment: 自动增长,总结,约束设置自增长及默认值完整的建表语句,总结约束,Select深入,Select深入,目标,Select 深入多表连接查询子查询记录联合,目标Select 深入,多表连接查询,使用单个select语句从多个表中取出相关的数据,通过多表之间的关系,构建相关数据的查询。多表连接通常是建立在相互关系的父子表上的。语法:Select from join_table Join type join_tableOn join_condition where where_conditionJoin_table 参与连接的表Join_type 连接类型:内链接、外连接、交叉连接、自连接,多表连接查询使用单个select语句从多个表中取出相关的数据,内链接,语法:Select from join_table inner join join_table2 on join_condition where where_definition只列出这些连接表中与连接条件相匹配的数据行例如:select * from emp inner join dept on emp.deptno=dept.deptno;,内链接语法:,外连接,语法:Select from join_table(left|right|full) outer join join_table2On join_condition where where_definition不仅列出与连接条件相匹配的行,还列出左表(左外连接)、右表(右外连接)或两个表(全外连接) 中所有符合where过滤条件的数据行。分类:左外连接右外连接全外连接,外连接语法:,交叉连接,语法:Select . From join_table cross join join_table2;没有on子句和where子句,它返回连接表中所有数据行的笛卡尔积其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。相当于:Select from table1,table2;,交叉连接语法:,子查询,某些情况下,当进行查询的时候,需要的条件是另外一个select 语句的结果,这个时候,就要用到子查询。为了给主查询(外部查询)提供数据而首先执行的查询(内部查询)被叫做子查询。用于子查询的关键字主要包括in 、not in、=、等MySQL从4.1开始才支持SQL的子查询一般说子查询的效率低于连接查询。表连接都可以用子查询替换,但反过来说却 不一定,子查询某些情况下,当进行查询的时候,需要的条件是另外一个se,总结,多表连接查询Inner joinOuter joinCross join子查询记录联合,总结多表连接查询,索引、视图,索引、视图,目标,索引视图,目标索引,索引,索引是数据库中用来提高查询性能的最常用工具所有My SQL列类型都可以被索引,对相关列使用索引是提高select操作性能的最佳途径。My SQL提供 多种索引类型供选择:普通索引唯一性索引主键全文索引,索引索引是数据库中用来提高查询性能的最常用工具,索引,My SQL中多数索引都以Btree的形式保存。在使用以下操作符时,都会用到相关列上的索引:、=、in、betweenLike pattern (pattern不能以通配符开始),索引My SQL中多数索引都以Btree的形式保存。在使用以,普通索引,这是最基本的索引类型,而且它没有唯一性之类的限制普通索引可以通过以下几种方式创建:直接创建索引语法:Create index 索引名 on 表名 (列名);修改表时添加索引:语法:Alter table 表名 add index 索引名 (列名);创建表的时候指定索引语法:Create table 表名 (,index索引名(列名);,普通索引这是最基本的索引类型,而且它没有唯一性之类的限制,唯一性索引,这种索引和前面的”普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。唯一性索引可以用以下几种方式创建:创建索引语法:Create unique index 索引名 on 表名 (列名);修改表时添加索引语法: alter table 表名 add unique index 索引名 (列名);创建表的时候指定索引语法:create table 表名(.,unique index 索引名 (列名);,唯一性索引这种索引和前面的”普通索引”基本相同,但有一个区别,主键索引,主键是一种特殊的唯一索引,一般在创建表的时候指定语法:Create table 表名(.,primary key (列);在My SQL中,当你建立主键时,主键索引同时也已经建立起来了。不必重复设置。注:一张表只能有一个主键,即也只能有一个主键索引。也可以通过修改表的方式加入主键索引:语法:alter table 表名 add 主键索引名 primary key(列);,主键索引主键是一种特殊的唯一索引,一般在创建表的时候指定,全文索引,My SQL中,全文索引的索引类型为fulltext。My SQL中全文索引只限于char、Varchar和text类型的列上创建。全文索引可以用以下几种方式创建:创建索引语法:Create fulltext index 索引名 on 表名 (列名);修改表时添加索引语法:alter table 表名 add fulltext index 索引名 (列);创建表的时候指定索引语法:Create table 表名 (,fulltext(char、varchar、text类型的字段);,全文索引My SQL中,全文索引的索引类型为fulltext,删除、禁用索引,语法:Drop index 索引名 on 表名;禁用索引:alter table 表名 disable keys;打开索引:alter table 表名 enable keys;,删除、禁用索引语法:,设计索引的原则,最适合索引的列是出现在where子句中的列,或连接子句中指定的列,而不是出现在select后的列。索引列的值越多不相同的,索引的效果越好不要过度索引,设计索引的原则最适合索引的列是出现在where子句中的列,或,视图,视图(view):从一张或几张基本表中根据用户需要而生成一张虚表。视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据视图只在使用时才从基本表中搜集数据,再展现给用户。使用视图优点:简单安全:防止未经许可的用户访问敏感数据数据独立:降低数据库的复杂程度视图可以间接对表进行更新,视图视图(view):从一张或几张基本表中根据用户需要而生成,创建视图,创建的常用语法Create or replace view 视图名 as select语句;若给定了or replace,则表示当已具有同名的视图时,将覆盖原视图。创建视图需要有Create view的权限,并且对于查询涉及的列有select权限。,创建视图创建的常用语法,查看视图,Show tables;不仅显示当前所有的表,还会显示当前所有的视图。Desc 视图名;显示视图的结构Show Create view 视图名;显示视图的详细信息,查看视图Show tables;,修改、删除视图,修改的常用语法Alter view 视图名 as select语句;要有该视图的drop权限语法:Drop view if exists 视图1,视图2;,修改、删除视图修改的常用语法,总结,索引视图,总结索引,事务控制,事务控制,目标,事务介绍事务的特性My SQL中的事务控制,目标事务介绍,事务介绍,事务是一个不可分割的工作单元用户定义的一个操作序列,这些操作要么都执行成功,要么都失败。数据库事务是对现实生活中事务的模拟,它由一组在业务逻辑上相互信赖的SQL语句组成。,事务介绍事务是一个不可分割的工作单元,数据库事务的特性,原子性(atomic)指整个数据库事务是不可分割的工作单元。原子性确保在事务中的所有操作要么都发生,要么都不发生。一致性(Consistency)一旦一个事务结束了(不管成功与否),系统所处的状态和它的业务规则是一致的。即数据应当不会被破坏。隔离性(lsolation)指多个事务同时操作同一数据时,每个事务都有各自的完整数据空间。,数据库事务的特性原子性(atomic),数据库事务的特性,持久性(Durability)一旦事务完成,事务的结果应该持久化数据库管理系统采用重执行日志来保证原子性、一致性和持久性。数据库管理系统采用数据库锁机制来实现隔离性。,数据库事务的特性持久性(Durability),My SQL中的事务控制,My SQL中,默认事务是自动提交的。事务操作:Set Autocommit=1(默认) 自动提交事务Set Autocommit=0手动提交事务Start Transaction启动新事务(特有)Commit 提交事务RollBack回滚事务Savepoint设置回滚点,My SQL中的事务控制My SQL中,默认事务是自动提交的,总结,什么是数据库事务事务的特性My SQL中的事务控制,总结什么是数据库事务,存储过程和触发器,存储过程和触发器,目标,存储过程创建、调用、查看、删除的语法触发器,目标存储过程,存储过程是什么,存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合存储过程没有返回值,存储过程的参数可以是in、out、inout类型,存储过程是什么存储过程是事先经过编译并存储在数据库中的一段S,存储过程的优点,存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。当对数据库进行复杂操作时(如对多个表进行update、insert、select、delete),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。,存储过程的优点存储过程只在创建时进行编译,以后每次执行存储过,存储过程的优点,存储过程可以重复使用,可减少数据库开发人员的工作量。安全性高,可设定只有某此用户才具有对指定存储过程的使用权。,存储过程的优点存储过程可以重复使用,可减少数据库开发人员的工,创建和调用存储过程,创建语法:Create procedure 存储过程名(参数列表) 过程体;存储过程的参数形式:in|out|inout参数名 类型In 输入参数Out 输出参数Inout 输入输出参数调用:Call 存储过程名(实际参数列表),创建和调用存储过程创建语法:,存储过程格式,Delimiter /create procedure 存储过程名(参数列表) begin 有效的SQL语句.; end / delimiter ;,存储过程格式Delimiter /,查看存储过程,语法:Show Create procedure 存储过程名;查看存储过程的定义Show procedure status ;查看存储过程的状态,查看存储过程语法:,删除存储过程,语法:Drop procedure if exists 存储过程名;一次只能删除一个存储过程。,删除存储过程语法:,触发器,在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码是触发器它是在一个特殊的数据库事件,如insert、update、delete等发生时,自动激活的一段代码。,触发器在数据库中为响应一个特殊表格中的某些事件而自动执行的程,创建触发器,语法:Create trigger 触发器名before|after#触发时间insert|update|delete#触发事件On 表名 for each row 要触发的SQL语句;触发器只能定义在永久表上,不能对临时表创建。My SQL对同一张表相同触发时间的相同触发事件,只能定义一个触发器。,创建触发器语法:,查看和删除触发

    注意事项

    本文(MySQL入门到精通选读课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开