数据分析师—MySql整理4

接着上次的进度,说一下关于MySql返回记录的问题。

limit [m,]n #其中m是制定第一个返回记录行的偏移量,n是制定返回记录行的最大数目

上面既表示返回前m条记录,也表示返回m+1~m+n条记录。

数据库中常见的统计函数有:

  1. count() ;返回满足select条件的记录总和数
  2. sum();返回满足select条件的记录算数和
  3. avg();返回满足select条件的记录平均数
  4. max();返回满足select条件的记录最大值
  5. min();返回满足select条件的记录最小值

常见的几个小操作:

  • group by__  ;以...分组
  • group_contact ;主要用于拼接字符串
  • having;进行分组后的数据筛选
  • union; 合并完全相同的数据
  • union all; 合并所有数据
  • in ;子查询中返回多行
  • [not]exists ;子查询中返回 true/false,子查询条件成立则显示父查询的数据,否则则不显示

MySql中标准select语句语法模板如下:

select [All/Distinct(去重)]
{*|table.*|[table.field1[as alias1]][[table.field2|[as alias2]]}
from table_name as [table_alias]
[left /out /inner join table_name2]#联合查询
[where ...] #指定结果满足的条件
[group by...] #指定结果按照几个字段来分组
[having ...] #过滤分组的记录必须满足的次要条件
[order by ...] #指定查询记录按照一个或多个条件排序
[limit{[offset,] row_count |row_count OFFSET.offset} ]; #指定查询记录从哪条到哪条
#any:若条件>=子查询的任意一个值,则执行父查询
#all:若条件>=子查询的所有值,则执行父查询

索引的定义是:建立表之上,由单列或多列组成,目的主要还是为了提高查询的效率,在记录量比较大的表中这点比较明显,像那种记录比较少的表,执行时间就不是那么明显。InnoDB在5.6版本的时候还不支持全文索引,在之后版本更新中,InnoDB开始支持。

索引分类如下:

  • 主键索引(primary key)
  • 唯一索引(unique)
  • 常规索引(index)
  • 全文索引(full text)
  • 聚集索引、非聚集索引和空间索引(这三个在MySql使用频率比较低)

索引的使用原则:

  1. 对于查询频率高的;
  2. 排序分组联合查询频率高的;
  3. 索引数目不宜太多,每次创建都会占用物理空间;
  4. 若实际需要多列设置索引,采用多列索引 ,BTree类型在第一列使用时启用索引;
  5. 尽量在字节占用少的列上添加索引;
  6. 若在字符类型上添加索引尽量添加在长度少的列上。

使用语句如下:

index index_name(字段1,字段2,字段3)
select * from 表名 where 字段1='..';

创建索引的方式:

1.alter table 表名 add index 索引别名(字段1)
2.create index 索引别名 on 表名 索引别名(字段2)
3.create table 表名 (
...,
index 索引别名(字段3))
#创建表时添加索引

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值