必威体育Betway必威体育官网
当前位置:首页 > IT技术

MySQL 高级(事务+索引+视图+触发器+存储过程)

时间:2019-06-30 18:44:39来源:IT技术作者:seo实验室小编阅读:72次「手机版」
 

my sql

目录

事务

索引

1.创建索引

2.删除索引

3.查看索引

4.索引准则

视图

触发器

存储过程

1.创建存储过程

2.调用存储过程

3.查看存储过程

4.删除存储过程 


事务

事务就是将一组sql语句捆绑放在同一批次内去执行,如果一个SQL语句出错,那么该批次的所有SQL语句都将被取消执行;

*mysql事务只支持InnDB和BDB的数据表类型

image_1crmoi1ksr6lcbhgjvmhb1m9i9.png-54.6kB

image_1crkl6inv1mdk9651pka6un1vue9.png-357.8kB

事务2.png-282.6kB

索引

索引的作用:提高查询速度

image_1crmr2lmn1a5all511qci7cl11i.png-189.3kB

1.创建索引

① 创建数据表时添加

② 建表后追加:语法: ALTER TABLE table_name ADD 索引类型 (数据列名)

2.删除索引

① DROP INDEX 索引名 ON table_name

② ALTER TABLE table_name DROP INDEX 索引名

③ ALTER TABLE table_name DROP PRIMARY KWY

3.查看索引

SHOW INDEX(或KEY) FROM table_name

4.索引准则

①索引不是越多越好

②不要对经常变动的数据加索引

③小数据量的表建议不要加索引

④索引一般应加在查找条件的字段

视图

释义:视图是一个从数据库中的一个或者多个表中导出来的虚拟表。也可以从已经存在的视图的基础上定义。

作用:简单、安全、具有逻辑数据独立性

image_1crmskim61mjmv7g1kd7a4f1g8v2r.png-73.7kB

触发器

当一个命令提交执行后触发另一个提交执行

MySQL中默认;是自动提交的标识,键入触发器的命令前需要修改命令标识符,避免命令尚未写完自动提交

**修改命令标识符的命令: DElimitER (任意字符);

image_1crn49nhdbcf1rf6rua11hu1uj9.png-20kB

命令:CREATE TRIGGER tri_name AFTER/BEFORE insert/update/delete ON table_name1

FOR EACH ROW

BEGIN

UPDATE table_name2 SET num=num-new.field WHERE field=new.字段名;

END (新命令标识符)

image_1crn56e7d11jq1banqj1qqu1st79.png-16.5kB

写完触发器后一定务必记得将命令标识符还原

  *触发器创建语法四要素:
  1.监视地点(table)
  2.监视事件(insert/update/delete)
  3.触发事件(after/before)
  4.触发事件(insert/update/delete)

  触发器的new和old 用法
  insert 语句,只有new是合法的
  delete 语句,只有old是合法的
  update 语句,new 和 old 可以同时使用

11111.png-141.7kB

存储过程

概念:存储过程能完成一定操作的一组SQL语句

作用:大大提高效率(存储过程本身执行速度非常快,调用存储过程大大减少数据库交换次数);

提高代码重用性

1.创建存储过程

命令是

CREATE PROCEDURE sp_name (proc_parameter [……])

BEGIN

[characteristic ……] routine_body

END;

sp_name: 存储过程名称

proc_parameter:存储过程的参数列表

characteristic:存储过程的特性

routine_body:SQL语句的内容,可以用begin……end 来标示SQL语句的开始和结束

示例:创建不带参数的存储过程

image_1crn621a0a2s14ejpe4uilc7j1i.png-35.2kB

创建带参数的存储过程

IN 和 OUT 参数示例

image_1crn6e7181kh91q4q13ja1cvnitu1v.png-34.8kB

2.调用存储过程

命令是CALL sp_name([parameter[……]])

sp_name: 存储过程名称

proc_parameter:存储过程的参数列表

3.查看存储过程

①通过show procedure status 查看存储过程和函数状态

②通过show create procedure 查看存储过程和函数定义

③通过information_schema.Routines 查看存储过程和函数信息

4.删除存储过程

命令是:DROP PROCEDURE sp_name;

相关阅读

《高性能MySQL》读书笔记-InnoDB概述

在文件系统中,MySQL将每个数据库(也可以称之为schema)保存为数据目录下的一个子目录。创建表时,MySQL会在数据库子目录下创建一个和表

mysql通配符大全

MySQL 通配符SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省是

五:在Ubuntu 16.04下安装MySQL

1,首先执行下面三条命令: 执行第一条命令: sudo apt-get install mysql-server 如下图: 输入 y ,下载安装时会出现要求设置密码的界面

MYSQL 的latin1中文 转UTF8方法!

首先开始,CMD,进入F:/wamp/bin/mysql/mysql5.0.51b/bin目录然后输入mysqldump -u root -p --default-character-set=latin1 datana

搭建PHP开发环境(Apache+PHP+MySQL)

简介:总结在Windows环境搭建PHP开发环境(Apache+PHP+MySQL) 安装Apache 1、下载Apache,地址:http://www.apachelounge.com/download/,

分享到:

栏目导航

推荐阅读

热门阅读