美文网首页
MySQL拓展2

MySQL拓展2

作者: 嗨_小罗哥 | 来源:发表于2018-09-05 21:40 被阅读0次

1、多表联合查询

  • 查询没有被购买过的商品
    select goods.name from goods left join user on goods.gid=user.gid where user.id is NULL;
    • 查询哪类商品是销量冠军
      select category, count(*) as c from user join goods on user.gid=goods.gid group by category order by c desc limit 1;
    • 查询哪个商品是销量冠军
      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;
    • 分组只能写分组字段和统计字段,写其它字段报错
      进入mysql执行如下指令
      SET @@GLOBAL.sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
    • 清空表
      truncate table 表名 清空表,id会从1开始
      delete from table 清空表,id从上次记录的值开始
    • 创建用户
      mysql -h ip地址 -u用户名 -p
      create user 'test'@'ip' identified by '密码'

2、索引

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

3、数据库导入导出

  • 数据库里面的表可以导出来,导出来一般都是sql脚本的东西, data.sql
    【注】版本,通过指令导出和通过不同的可视化工具导出,格式也不一样。
    mysql自带的指令:
    正常终端模式下
    导出:mysqldump -uroot -p 数据库名>c:\data.sql
    导入:mysql -uroot -p 数据库名<c:\data.sql
    注意,导入之前首先创建一个新的数据库
    Navicat导出和导入:
    右键==》转储sql文件
    右键==》运行sql文件

4、python操作数据库

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

5、redis安装和学习

什么是redis?是一个基于内存的数据库,计算机里面,有内存,有硬盘
文件都在硬盘中存放,代码在运行的时候,有一个变量a
内存:读写快,但是断电消失,不大
硬盘:读写慢,但是可以持久化保存,大,随便存
什么是NoSQL? not only sql 非关系型数据库
键值对,根据键立马就可以得到值
redis、MongoDB

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

学习方式:指令交互,可视化,代码操作

相关文章

  • MySQL拓展2

    1、多表联合查询 查询没有被购买过的商品select goods.name from goods left joi...

  • 【MySQL笔记】2 SELECT语句拓展

    MySQL笔记基于教材,笔记中用到的数据库可以点击该链接下载 用SELECT的ORDER BY子句排序 子句 (c...

  • php7安装mysql拓展

    php7.0以上的版本废弃了mysql拓展,推荐使用mysqli以及pdo_mysql,所以老的程序使用mysql...

  • MySQL拓展1

    1、DDL 常用数据类型 创建表create table user(username varchar(30), p...

  • MySQL主从复制架构及实现

    一,MySQL复制 (1).复制 1.每个节点都有相同的数据集2.向外拓展3.二进制日志4.单向 (2).功用 1...

  • Python入门系列(九)——数据库

    鉴于是入门系列教程,我们在数据库种类上且不做拓展,仅以MySQL为例。目录:一、mysql-connector二、...

  • 高性能MySQL第十一章 读书笔记

    第11章 可拓展的MySQL 可拓展性表明了当需要增加资源以执行更多工作时,系统能获得划算的等同提升的能力。 从不...

  • SweetAlert

    安装SweetAlert 基本结构 拓展 拓展2 三宽不同的主题

  • Sequelize Migrations介绍

    本文是 egg Sequelize 的解析和拓展 为什么要使用Migrations 平时我们直接使用mysql的指...

  • docker 搭建mysql 主从

    mysql 主从复制 MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多...

网友评论

      本文标题:MySQL拓展2

      本文链接:https://www.haomeiwen.com/subject/suvzwftx.html