一、存储过程
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 常用的存储引擎:
引擎描述
MyISAMInnoDBMemoryCSVArchive
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
感谢慕课平台