MySQL启程学习回忆录3

一、存储过程

1. 简介

存错过程四 SQL 语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理(对数据的同一个操作仅在第一次产生编译)。以下为存储过程的优点:

  • 增强 SQL 语句的宫娥能和灵活性
  • 实现较快的执行速度
  • 减少网络流量

2. 语法

操作描述
创建CREATE [DEFINER = {user/CURRENT_USER}] PROCEDURE sp_name ([proc_paramter[,…]]) [characteristic …] routine_body;

proc_parameter(参数说明):
[IN]参数需在调用时指定
[OUT]存储过程参数可被改变并返回
[INOUT]调用时指定,存储过程参数可被改变并返回

characteristic(特性):
COMMENT:注释
CONTAINS SQL:包含 SQL 语句,但不包含读或写数据的语句
NO SQL:不包含 SQL 语句
EREADS SQL DATA:包含读数据的语句
MODIFIES SQL DATA:包含写数据的语句
SQL SECURITY {DEFINER/INVOKER} 指明谁有权限来执行

routine_body(过程体):
Ⅰ. 合法 SQL 语句构成,包括任意增删改查,多表连接的操作语句
Ⅱ. 复合结构 BEGIN…END,包含声明/循环/控制结构

3. 变量

类型描述
局部变量声明与 BEGIN…END 之间的变量
用户变量以‘@’符号开头的变量

二、存储引擎

1. 简介

MySQL 可以将数据以不同的技术存储在文件(内存)中,这种技术被成为存储引擎;每一种存储引擎使用不同ing的存储机机制、索引技巧、锁定水平,最终提供广泛且不同的功能。以下为 MySQL 常用的存储引擎:

引擎描述
MyISAM
InnoDB
Memory
CSV
Archive

2. 相关知识点

2.1 并发控制

当多个连接对记录进行修改时保证数据的一致性和完整性

相关提及描述
[共享锁] 多处读取同一个资源,且读取过程数据不会发生任何变化
[排他锁]当且仅有一个用户能写入资源,写入时将阻塞其他读写操作
锁颗粒/单位[表锁] 最小开销
[行锁] 最大开销

2.2 事务

事务用于保证数据库的完整性

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)

2.3 外键

保证数据一致性的策略

2.4 索引

对数据表中一列或多列的值进行排序的一致结构

  • 普通索引
  • 唯一索引
  • 全文索引
  • btree 索引
  • hash 索引

3. 特点

特点MySISAMInnoDBMemoryArchive
存储限制256TB64TB内存大小为上限
事务安全-支持--
支持索引支持支持支持
锁颗粒表锁行锁表锁行锁
数据压缩支持--支持
支持外键-支持--

4. 修改设置引擎

  • 配置文件实现修改
    • default-storage-engine = engine
  • 数据表命令实现修改
    • CREATE TABLE tbl_name(…) ENGINE = engine;
  • 数据表命令实现修改
    • ALTER TABLE tbl_name ENGINE [=] engine_name;

MySQL启程学习回忆录1
MySQL启程学习回忆录2
MySQL启程学习回忆录3


感谢慕课平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值