CREATE INDEX idx_cust_name ON user (cust_name(6));复制代码
- 使用ALTER TABLE
- 语法为:
删除指定表中指定名称的索引,语法为:
ALTER TABLE table_nameDROP INDEX index_name;复制代码例如删除名称为idx_cust_name的索引,其SQL语句为:
ALTER TABLE customersDROP INDEX idx_cust_name;复制代码4.3 修改索引
在MySQL中并没有提供修改索引的直接指令,一般情况下,我们需要先删除掉原索引,再根据需要创建一个同名的索引,从而变相地实现修改索引操作 。
--先删除ALTER TABLE userDROP INDEX idx_user_username;--再以修改后的内容创建同名索引CREATE INDEX idx_cust_name ON customers (cust_name(8));复制代码4.4 查看索引
在MySQL中,要查看某个数据库表中的索引也非常简单,只需要使用以下两个命令中的任意一种即可 。
--如果查看索引前,没有使用user db_name等命令指定具体的数据库,则必须加上FROM db_nameSHOW INDEX FROM table_name [FROM db_name]--如果查看索引前,没有使用user db_name等命令指定具体的数据库,则必须加上db_name.前缀SHOW INDEX FROM [db_name.]table_name复制代码5. 存储过程
- 什么是存储过程?存储过程简单来说,就是为了复用性或者实现复杂的业务功能,而保存的一条或多条MySQL语句的集合,可将其视为批文件;
- 为什么使用存储过程?(1)通过把处理封装在容易使用的单元中,简化复杂的操作;(2)由于不要求反复建立一系列处理步骤,这保证了数据的完整性,如果所有的开发人员和应用程序都使用同一存储过程,则所使用的代码都是相同的;(3)简化对变动的管理 。如果表名、列名或业务逻辑有变化,只需要更改存储过程的代码,使用它的开发人员甚至不需要知道这些变化,也就是具备了安全性;(4)提高了性能,因为使用存储过程比单独使用SQL语句要快;(5)存储过程可用来编写功能更灵活的代码 。因此,存储过程的具备三个特性:简单可复用、安全以及高性能;
- 存储过程的缺点?(1)存储过程编写比基本的SQL语句更加复杂,需要更高的技能;(2)可能没有创建存储过程的权限,数据库管理员可能会限制创建存储过程的权限,允许用户使用存储过程,而不允许用户自由创建存储过程;
创建存储过程
- 创建存储过程 。如需要统计用户订单总金额,如果该用户需要交税的话,订单总金额则需要再加上税费
执行存储过程
- 使用CALL子句执行存储过程,CALL子句接受存储过程的名称以及需要传递的参数 。
删除存储过程
- 删除存储过程,可以使用DROP PROCEDURE子句 。如DROP PROCEDURE ordertotal;
查询存储过程
- 显示创建一个存储过程的语句,可以使用SHOW CREATE PROCEDURE 。如SHOW CREATE PROCEDURE ordertotal;
推荐阅读
- mysql行列转换
- mysql查询条件字段值末尾有空格也能查到数据问题
- MySQL性能指标实时监控--awk命令实现
- MySQL连表Update修改数据
- MySQL数据库的SQL预处理技术,优化数据库必备
- MySql 三大知识点,索引、锁、事务,原理分析
- MySQL基于GTID的多线程同步方案
- 11条MySQL规范,你知道的有几个? Java架构师追风 2019-08-28 16:36:08
- MySQL索引原理
- MySQL、SQL Server、Oracle对比,你必须了解的三大数据库区别
