MySQL函数

本文详细介绍了MySQL中的各类函数,包括字符串、数字、日期时间和控制流函数,并举例说明了它们的用法。此外,还讲解了表连接的内部连接和外部连接,以及如何使用子查询进行复杂的数据筛选。同时,讨论了视图的概念和使用,强调了索引在提升查询效率中的重要作用。最后,提到了数据的增删改查操作以及视图操作,展示了如何利用索引和视图优化数据库性能。
摘要由CSDN通过智能技术生成

MySQL中函数主要分为四大类:

  • 字符串函数

  • 数字函数

    • 日期时间函数

  • 控制流函数

字符串函数

  1. length(字符串) 球的是字符串的字节长度

    MySQL数据库中一个汉字占3个字节,一个字母占一个字节

  2. char_length(字符串) 求的是字符串的长度

  3. mid(原始字符串,截取的开始位置,截取的长度)

数值函数:

round(原始数据,保留的小数位)

round(原始数据)

least(值1,值2,值3...) 求最小的数字

greatest(值1,值2...) 求最大的数字

now() 获取日期和时间

current_date() 获取日期

current_time() 获取时间

to_days(日期值 将日期转换成总天数)

dayofyear(日期值) 求该年已过的天数

week(日期值) 已过的周数

表连接

前提:有时候我们所需要的数据不止在一张表中,需要多个表做结合的查询,就可以用表连接

分类:

  1. 内部连接(提供了两种表与表之间的连接方式)只会显示两个表中匹配到的数值信息

    表与表之间建立起关联的列,要求列名可以不一样,但是这两个列的数据类型和内容保持一致

    内连接查询:只关联表与表中能够匹配到的信息数据,才能有对应的查询结果

    • 表连接的实现是通过where关键字来进行的关联

      格式一:

      select 表名1,列名1,表名1,列名2,表名2,列名1,表名2,列名2...

      from 表名1,表名2,表名3,表名4...

      where 表名1.列名1=表名2.列名1;

    • 通过inner join on 实现表与表 之间的连接

    格式二:

    select 表名1,列名1,表名1,列名2,表名2,列名1,表名2,列名2...

    from 表名1 [inner] join表名2

    on 表名1.列名1=表名2.列名1;

inner join on 又划分为两个分类:

  • 等值连接 值的是条件中只包含“=” 没有其他符号在里面

  • 非等值连接 指的是条件中除了“=” 还有其他的符号> <

  1. 外部连接

特征:至少会反馈出一个表的所有内容

分类:左外部连接 右外部连接

左外部连接:对左边的表不加限制,反馈左表的所有行

右外部连接:对右边的表不加限制,反馈右表的所有行

外部连接 on

左外部连接:

select 表名.列名

from 表名1 left outer join 表名2

on 表名1.列=表名2.列;

会反馈左表的所有内容,如果在右表中没有匹配到,在对应位置上就显示为null

右外部连接:

select 表名.列名

from 表名1 right outer join 表名2

on 表名1.列=表名2.列;

会反馈右表的所有内容,如果在左表中没有匹配到,在对应位置上就显示null

子查询:

指的是查询语句里面嵌套查询语句

子查询的注意事项:

where后面的条件要什么,子查询就查什么

什么情况优先考虑子查询

  • 题上给出的条件没有明确的提示结果

  • where后面要用到聚合函数当条件

格式:

select 列名 from 表名 where 列名 in(select查询语句)

例子:select 列名 from 表名 where 列名 in(select 列名 from 表名 where 列名 in(select 列名 from 列名 where 条件));

嵌套子查询:指的是子查询中还包含其他的子查询

select(select(select(select)))

相关子查询:指的是子查询的结果有且只有一个值

当insert语句和select语句做结合,就是把查询的结果插入到某一张表中

格式:

insert into 表名 select 查询语句

使用update和select语句(子查询)结合

update 表名 set 列名 where 列名 in(select语句);

删除语句

delete from 表名 where 列名 in(select查询语句)

视图

指的是根据某个实际的表(实表)查询出来,生成的一个虚表

其作用就是方便用户对数据的操作

使用SQL语句创建视图

格式:

create view 视图名字 as select语句:

注意:视图既然作为一张虚表的存在,那么对实表的增删改查操,视图同样成立

视图既然是根据实表得到的,那么对视图的增删改操作,也会影响实表

插入数据

insert into 视图的名字 values(值1,值2...);

修改数据

update 视图的名字

set 列名=值

where 条件;

删除视图数据

delete from 视图的名字 where 条件:

删除视图

drop view 视图名

修改视图

alter view 视图名 as select语句

对于表的增删改查操作,在视图中同样成立

索引

指的是在数据库表中的一个列或多个列的设置,帮助快速的定位所查询的数据

索引的作用(优点)

  1. 加快查询速度(定位)

  2. 保证数据的唯一性(唯一约束)

  3. 实现表与表之间的参照完整性(进行外键约束参照的列)

  4. 可以减少group by,order by,分组和排序的时间(根据某个列来进行分组或者排序)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值