存储过程:可返回多个值
    修改存储引擎:mysql将数据以不同的技术存储在文件中,每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,提供广泛且不同的功能

    MyISAM:全文索引,占用空间小
    数据表对应三个文件
    .frm(表结构定义文件),.myd(数据文件),*.myi(索引文件)

    InnoDB:安全性,事务处理,数据行锁定,外键约束,占用空间大两倍
    数据表只有一个*.frm文件,以及上一级目录的ibdata1文件

    Memory
    Archive
    CSV
    创建引擎:create table 表名(……)engine=存储引擎;
    修改引擎:alter table 表名 engine=存储引擎;
    查看引擎:show engines \G

    并发控制:当多个连接对记录进行修改时保证叔觉得一致性和完整性
    共享锁/读锁:多个用户同时间读取同资源,数据不会发生变化
    排他锁/写锁:任何时候只有一个用户写入资源,当进行写锁会阻塞其他操作
    表锁:开销最小的策略
    行锁:开销最大的策略

    存储过程是sql语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理
    优点:
    增强sql语句的功能和灵活性
    实现较快的执行速度
    减少网络流量

    创建:create [definer=user 创建者] procedure 存储名 (参数1,参数2,…) 主体
    选项:
    in:参数值必须在调用存储过程时指定
    out:参数值可以被存储过程改变并返回
    inout:参数值在调用时指定,也可被存储过程改变并返回

    修改:alter procedure 存储名 (参数),不能修改过程体
    修改终止符:delimiter //
    调用:call 存储名(参数1,参数2,…)
    删除:drop procedure [if exist] 存储名