day38-mysql、redis

day13-mysql、redis

1. 多表联合查询

  1. 查询没有被购买过的商品
    select goods.name from goods left join user on goods.gid=user.gid where user.id is NULL;
  2. 查询哪类商品是销量冠军
    select category, count(*) as c from user join goods on user.gid=goods.gid group by category order by c desc limit 1;
  3. 查询哪个商品是销量冠军
    select goods.name, goods.price, count(*) as c from user join goods on user.gid=goods.gid group by goods.name order by c desc limit 1;
    注意:分组只能写分组字段和统计字段,写其它字段报错
  4. 清空表
    truncate table 表名 清空表,id会从1开始
    delete from table 清空表,id从上次记录的值开始
  5. 创建用户
    mysql -h ip地址 -u用户名 -p
    create user 'test'@'ip' identified by '密码'

2. 索引

  1. 索引是什么?
    索引就是个类似目录的东西
  2. 数据库在查询的时候,是一条一条挨着查,查询效率太低了。
    如何提高查询效率?索引
    如果在查询的时候,经常通过某个字段查询,那就要考虑给这个字段添加索引。
  3. 索引的缺点:
    在插入的时候效率就比较低
  4. 索引有
    普通索引
    唯一索引 要确保唯一性
    主键索引 是特殊的唯一索引,但是不能为空
    全文索引

3. 数据库导入导出

数据库里面的表可以导出来,导出来一般都是sql脚本的东西, data.sql
【注】版本,通过指令导出和通过不同的可视化工具导出,格式也不一样。

  1. mysql自带的指令:
    正常终端模式下
    导出:mysqldump -uroot -p 数据库名>c:\data.sql
    导入:mysql -uroot -p 数据库名 注意,导入之前首先创建一个新的数据库
  2. Navicat导出和导入:
    右键==》转储sql文件
    右键==》运行sql文件

4. python操作数据库

需要使用到第三方库:pymysql,在python交互界面输入 import pymysql 看有没有报错,报错了就是没有它,没报错就是有它
安装pymysql:pip install pymysql
port只能是整型

5. redis安装和学习

  1. 什么是redis?
    是一个基于内存的数据库,计算机里面,有内存,有硬盘
    文件都在硬盘中存放,代码在运行的时候,有一个变量a
    内存:读写快,但是断电消失,不大
    硬盘:读写慢,但是可以持久化保存,大,随便存

  2. 什么是NoSQL?
    not only sql 非关系型数据库
    键值对,根据键立马就可以得到值
    redis、MongoDB

  3. 五种数据类型:字符串(string)、列表(list)、集合(set)、哈希(hash)、有序集合(zset)
    redis官网只有linux版本的,不支持windows

你可能感兴趣的:(day38-mysql、redis)