mysql相关

本文详细介绍了MySQL的基本概念,包括索引类型及其优缺点、视图的使用与优势,以及数据库三范式。此外,讨论了常用的SQL函数,如时间函数、字符串函数和条件表达式,并探讨了SQL优化方法,如最大化利用索引、避免全表扫描。同时,文章还涵盖了存储过程和乐观锁、悲观锁的概念。
摘要由CSDN通过智能技术生成

1.基本概念

1.1索引

索引有哪几种

  • 单列索引(普通索引:允许空值和重复值 唯一索引:允许空值,不能有重复值 主键索引:不允许有空值和重复值)
  • 组合索引:多个字段组合上创建的索引
  • 全文索引:只能在char、varchar、text类型字段上使用,实际工作没用到过哈

建立索引的优劣

  • 优势:
    类似于书籍的目录索引,提高数据检索的效率,降低数据库的IO成本;
    通过索引对数据进行排序,降低数据排序的成本,降低CPU的消耗;
  • 劣势:
    实际上索引也是一张表,该表中保存了主键与索引字段,并指向实体类的记录,所以索引列也是要占用空间的;
    虽然索引提高了查询效率,同时也降低了表更新的速度,如对表进行INSERT、UPDATE、DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引列的字段,都会调整因为更新所带来的键值变化后的索引信息。

总结:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。

-- 添加唯一索引
alter table actor add unique index uniq_idx_firstname(first_name);

-- 添加普通索引
alter table actor add index idx_lastname(last_name);

1.2.视图

视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。

视图作用:
a.简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
b.安全性。通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定的列上。
通过视图,用户可以被限制在数据的不同子集上:使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。
c.逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响

create view actor_name_view as select first_name first_name_v,last_name last_name_v from actor

1.3数据库三范式

  • 第一范式(1NF)无重复的列
  • 第二范式(2NF)属性完全依赖于主键[消- 部分子函数依赖]
  • 第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖]

2.常用函数

1.1 时间函数

  • to_date()
  • to_char()

1.2 字符串函数

  • substr
  • concat

1.3 条件表达式

  • case when
  • nvl、ISNULL(score,0) --如果不为NULL,这直接返回该值;当学生成绩为空时,成绩记为0。

1.4 聚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值