Mysql知识点(更新中)

变量: @变量名

变量定义和修改

SET @变量名 := 值;
SELECT @变量名 := 值;
select 查询结果 into @变量名 from 表;

变量使用

select @变量名;

注意事项

在用到变量的时候先排序后查询
在没有变量的时候是先查询后排序

CONCAT()

使用方法:CONCAT(str1,str2,…)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

如果所有参数均为非二进制字符串,则结果为非二进制字符串。

如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。

一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:

SELECT CONCAT(CAST(int_xxx AS CHAR), char_col)

MySQL的concat函数可以连接一个或者多个字符串,如

mysql> SELECT CONCAT(‘my’, ‘s’, ‘ql’);
-> ‘mysql’
mysql> SELECT CONCAT(‘my’, NULL, ‘ql’);
-> NULL
mysql> SELECT CONCAT(14.3);

-> ‘14.3’

延伸:讲讲MySQL中concat_ws函数
使用方法:CONCAT_WS(separator,str1,str2,…)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。

注意:

如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

如连接后以逗号分隔

mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
-> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
-> 'First name,Last Name'

mysql CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)。

GROUP_CONCAT

MySQL中的GROUP_CONCAT()函数用于将多行数据合并为一个字段。这是一个汇总(GROUP BY)函数,如果该组包含至少一个非NULL值,则该函数返回String值。否则,它返回NULL。

substr()

截取字符串
用法:substr(string string,num start,num length);

select substr(参数1,参数2,参数3) from 表名

string为字符串;start为起始位置;length为长度。

注意:mysql中的start是从1开始的。

例子:(查出kename字段中第一次出现.之前的字符串)
在这里插入图片描述

UNION

在这里插入图片描述

在这里插入图片描述

七种SQL JOINS的实现

在这里插入图片描述

MySQL怎么实现满链接

mysql没有 full join 语句 但是我们可以把下面这两用UNION ALL个合起来
在这里插入图片描述
在这里插入图片描述

聚合函数


常用的聚合函数有COUNT()、AVG()、SUM()、MAX()、MIN()。

COUNT()函数:统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数。
COUNT(*)计算表中总的行数,不管某列是否有数值或者为空值。
COUNT(字段名)计算指定列下总的行数,计算时将忽略空值的行。
AVG()函数:通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。
SUM()函数:是一个求总和的函数,返回指定列值的总和。
MAX()函数:返回指定列中的最大值,不仅适用于查找数值类型,也可应用于字符类型。
MIN()函数:返回查询列中的最小值,不仅适用于查找数值类型,也可应用于字符类型。
​ 此外,聚合函数可以与GROUP BY关键字一起使用,对每个分组进行计算。

count(*),count(1),count(具体字段)那个更快一些

在这里插入图片描述

数据库一个页是存放16kb的数据

页的内部结构

在这里插入图片描述

索引

索引分类

  • 功能逻辑上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。
  • 按照物理实现方式,索引可以分为 2 种:聚簇索引和非聚簇索引。
  • 按照作用字段个数进行划分,分成单列索引和联合索引。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

索引创建

alter table 表名 add 索引名字(列名);
create 索引名 on 表名(列名);

索引删除


ALTER TABLE 表名 drop 索引名;
DROP INDEX 索引名 ON 表名;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值