数据库
首页 > 数据库> > 数据库-sql(redis)

数据库-sql(redis)

作者:互联网

掌握基本的sql语句的使用方法,以及常见的sql增删改查、聚合函数以及各类条件查询、子查询的命令。同时需要了解Sql数据库在诸如接口和性能测试中扮演的“角色”和意义

数据库的基本概念:什么是数据库,数据库都有哪些类型;

数据库:数据库是一个长期存储在计算机内,有组织的,有共享的,统一化管理数据集合。是一个数据存储仓库,为了方便数据存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据中的数据

数据库类型:关系型---mysqloraclesqlserver  非关系型—redismongoDB

数据库语法:学习掌握Sql语句的基本语法;where用于筛选原有字段,having用于筛选新建字段

去重--distinct(只能在select中使用)  计数--count()  平均值--avg()  浮点数平均值--round()

字符串的截取:substring(字符串,起始位置,截取字符数)

字符串的拼接:concat(字符串1,字符串2,字符串3,...)、字母大写:upper(字符串)

sql查询语句的顺序:

Select (distinct)xx,xx,xx(聚合函数) from xx  (left/rigth/full) join xx on 多表的连接条件 (left/rigth/full) join xx on 多表的连接条件 where 无聚合函数的条件 group by xx , xx  having 聚合函数的条件 order by xx (desc) limit x,x

eg: 每个学校每种性别的用户数、30天内平均活跃天数和平均发帖数量

每个学校每种性别:按学校和性别分组:group by gender, university

用户数:count(device_id)   30天内平均活跃天数:avg(active_days_within_30)

Select gender, university, count(device_id) as user_num, avg(active_days_within_30) as avg_active_days, avg(question_cnt) as avg_question_cnt from user_profile group by gender, university having avg_active_days > 5

Sql基本语法:

表:添加列 alter table mytable add age int (first/after)

         删除列 alter table mytable drop column age

         修改列 alter table mytable change age age1 int

行数据:删除 delete from mytable where id =1

             新增 insert into mytable values (1,值2 ……)

列数据:新增 insert into mytable (1,2...) values (1,值2...)

             修改 update mytable set 1=xx ,2=xx where id =1

         主键:删除 alter table mytable drop primary key

                    新增 alter table mytable add constraint 主键1 primary key (1)

数据库查询:学习和掌握多种数据库的查询方法,比如复杂查询、多表查询 、条件查询等等;

多表查询:左连接--left join 、右连接---right 、自连接/内连接---innerjoin、全连接---full join 

条件查询:where(无聚合函数) having (group by)

复杂查询:子查询unionall

联系参考:https://www.cnblogs.com/Diyo/p/11424844.html

数据库索引:了解和掌握数据库索引以及数据库事务相关的概念;

索引:primary key 主键索引、unique 唯一索引、index 普通索引

/查索引:CREATE UNIQUE INDEX id_index on table1 (id) / SHOW INDEXES FROM table1

添加索引:alter table biao add index id_index (id)

删除索引:DROP INDEX id_index on table1

事务:开始事务—start transaction

           设置保存点---savepoint a

           事务回滚—rollback (to a)

           事务提交—commit

⑤redis:缓存数据库(非关系型)、区别于mysql等关系型数据库

1、  Mysql将持久化数据存储在磁盘中,而请求绝大部分都是读取(I/O),读取速度慢、Redis将数据储存在内存中,读取速度快,经常用于数据和页面缓存

2、  Redis缓存数据一多,就需要清除不用的数据,就有了定时扫描清理机制,而定时清理花费时间且影响数据存储,就有了随机扫描,但随机扫描会有未扫描到的数据,就有了惰性删除(删除查询到过期数据),惰性删除还会遗留部分数据,就有了8种内存淘汰策略。

set、setex/expire/ttl、mset/mget、append、get、del、keys、exists、type

hset字段hmsettypehkeyshget/hmget 字段hvals 键、hgetallhdel 字段

数据库客户端:常见的数据库客户端的使用方法,以及不同的客户端的优劣和应用场景。

常见数据库链接工具:navicatplsqlsqlyogdbeaver

标签:数据库,redis,mytable,查询,xx,sql,avg,id
来源: https://www.cnblogs.com/tfxbk/p/16304556.html