20201028_陈宇_
日志
学习总结:
存储过程:
如果实现用户的某些需求时,需要编写一组复杂的SQL语句才能实现,那么可以将这组复杂的SQL语句集编写在数据库中,由JDBC调用来执行这组SQL语句,把编写在数据库中的SQL语句集称为存储过程
特性:
有输入输出参数,可以声明变量,有if/else, case when,while等控制语句,通过编写存储过程,可以实 现复杂的逻辑功能
函数的普遍特性:模块化,封装,代码复用
速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤
创建存储过程:
DELIMITER \[ 命令将语句的结束符从 ; 修改成其他符号,这里使用的是 \] , $$ 也可以使用其 他符号代替,这样在过程和函数中的 ; 就不会被 MySQL 解释成语句的结束而提示错误
调用存储过程:
call 存储过程名()
触发器:
触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发
触发器经常用于加强数据的完整性约束和业务规则等
特点:
1. 与表相关联
2. 自动激活触发器
3. 不能直接调用
4. 作为事务的一部分
创建触发器:
1.监视地点(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before)
4.触发事件(insert/update/delete)
索引:
索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单
索引页:
使用索引语法:
CREATE INDEX 索引名称 ON 表名称(字段名)
EXPLAIN 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈
查看索引:
show index from 表名
索引的分类:
普通索引:
语法:CREATE INDEX index_name ON table(column(length))
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length
唯一索引:
索引列的值必须唯一,但允许有空值
语法:CREATE UNIQUE INDEX indexName ON table(column(length))
主键索引:
一种特殊的唯一索引,但不允许有空值,数据库管理系统自动为主键列添加主键索引
全文索引:
全文索引(FULLTEXT索引)是对CHAR、VARCHAR或TEXT列创建的索引,通常应用于对大文本字段
组合索引:
可根据查询的条件组合创建组合索引
语法:ALTER TABLE article ADD INDEX index_title_time (title(50),time(10))
索引优缺点:
优点:可以提高检索数据的速度
缺点:创建和维护索引需要耗费时间
视图:
视图是基于查询的虚拟表
定义视图:
CREATE VIEW 视图名
AS
SELECT 列1, 列2
FROM 表;
学习心得:
今天的题有点难 ,不是很会,做得很简陋,并且有bug,而且基础题只做了一个,明天把后面的基础题补上。
评论留言