mysql中的存储过程与索引
2018-03-13 10:46
183 查看
一、存储过程
创建存储过程:设置定界符$$,存储体避免在客户端直接操作sql,而是直接将存储过程写入服务器端> delimiter $$
> create procedure delete_matches(In p_playrno Integer)
> begin
> delete from matches
> where playerno=p_playerno;
> end$$
>delimiter;
调用存储过程:
(1) 设置参数
set @p_playrno =1;
(2)调用存储过程
call delete_matches(p_playrno)
参数的类型有三种:in(给定参数调用存储过程,输出);
out(存储过程向外输出,给定参数调用,则输出为空);
inout(存储过程既可以输入参数,也可以输出)
二、索引
索引分为单列索引和组合索引,单列索引即索引包含单个列,一张表可以有多个单列索引,但这不是组合索引,组合索引即一个索引包含多个列。
查询速度快,但更新比较慢
使用show index 命令来显示索引的相关信息,\G是格式化索引信息
例如:show index from mytable;\G
(1)创建索引:(在username为Blob或Text类型时,需要指定length的长度)
create index indexName on mytable(username(length))
(2)修改表结构时候添加索引
alert table mytable add index indexName(username)
(3)创建表的时候直接给定
> create table mytable(
> myid int not null,
> myname varchar(18) not null,
> index[indexName](username(length))
> )
(4)删除索引
drop INDEX[indexName] on mytable;
(5)唯一索引:索引列的值必须是唯一的,允许为空值,组合索引列值的索引组合值必须是唯一的
与上面大致相同,在增加的索引字段前加UNIQUE,如果是主键则标明primary key
相关文章推荐
- MySQL的备份与还原与索引、视图、存储过程与权限
- Mysql索引概念和存储过程
- MySQL删除索引的存储过程
- mysql查看索引与存储过程
- mysql表的主键、外键、限定、约定、索引、视同、存储过程
- MYSQL基础(视图、索引、存储过程与函数、流程控制语句)
- mysql 字符集 索引 函数 存储过程
- mysql索引,视图,游标,触发器,事物,存储过程
- mysql 存储过程实例
- mysql的存储过程
- MySQL之存储过程.触发器学习整理
- MySQL存储过程详解 mysql 存储过程
- 查询并导出、导入mysql中的存储过程
- MySql存储过程—4、参数
- 关于mysql存储过程的definer的问题
- 查看mysql中全部存储过程的命令
- mysql查看所有存储过程
- MySQL 存储过程传参数问题:实现 where id in(1,2,3,...)
- SQL Server查询数据库所有存储过程、触发器、索引信息SQL分享
- mysql中对数据库的每个表执行优化的存储过程