了解mysql数据库

来源:互联网 发布:淘宝简易摄影棚 编辑:程序博客网 时间:2024/06/11 01:36

看这个之前最好看看发哥的数据库的视频精简

先回顾一下 mysql数据的sql 语句

从增删改插开始吧   

#define 表名  B

#define 段名 D

增加有 insert into B(D)  value( 值)

删有delete from B where 段=值

改有update B set D=想要修改的值 where D=原来的值

查有

select D from B (表示从表B中查询D的字段)ps如果全查就是*

select D from B where D=值(表示查询D字段等于值的值)也可以查大于这个字段的值

select * from B order by D (dasc) 表示 以D字段的值升序排列 如果要降序

select *from B where D like “%值中的一部分字%” 这个是模糊查询

select *from B limit  0,4 分页查询 表示从第一条数据到 第4条数据分页

select D as C from B 表示B表查询出来的D字段 用C这个名字表示 (别名)

select max(D)from B表示从 B表中查询最大的D  

select max(D),另外一个段 from B group by 另外一个段 表示以 最大的D和另外一个段分组 

两表查询

select * from B join 另一张表 on B.D=另一张表.D 两张表就以相同D合起来 同理有 lift join 和right join

如果不找工作自娱自乐 完全够了

这些都是基本的sql语句 对应要找工作然而了解这些是不够的因为我们得知道如何优化查询速度 

有2点 一是加一个缓存 也就是memercache 的由来把一些常用的放入缓存 毫无疑问比在硬盘中查询快多了

一个加索引 也就是innodb 引擎 和 myisam引擎之间的区别 

在mysql 底层索引是一个B+树 当然毫无疑问也就哈希索引这个是特定的一个索引暂且不说我也知道得不太全

然而 在B+树上 有聚簇索引和非聚簇索引

 聚簇索引 就是索引是叶子节点 而 而叶子底下直接放值

非聚簇索引 就是索引是叶子节点而叶子底下放的另一个文件地址 

所以很简单的说明聚簇索引 只需要找到这个索引那么值也就出来了 但是非聚簇索引需要找到硬盘上的文件的具体位置去取值这个速度就慢了

然而有优点就会有缺点因为索引底层是一个b+树所以聚簇索引在插入索引的时候要大量的频繁的移动数据 然而非聚簇索引不需要 虽然查询慢了但是在进行索引的插入不需要大量移动数据




原创粉丝点击