通过命令来备份数据库:

通过数据库软件里面的,mysqldump模块来操作,如下:

  mysqldump -u root db1 > db1.sql -p;     //没有-d就是备份的时候:数据表结构和数据都备份(下载)下载下来

  mysqldump -u root -d db1>db1.sql -p;    //有-d就是备份的时候就是:只是备份数据表结构

导入备份的sql文件到数据库里:

  create database db5;

  mysqldump -u root -d db5<db1.sql -p;    //这句话的意思就是,把db1.sql这个备份了的的数据表,导入到db5中 。其实,就是备份中的大于号变成了小于号而已

MySQL数据库进阶

后续将结合案例来运用查询语句!!!!!

  临时表:

(select * from 表名 where num>60) as B //这个就组成了临时表
    用法:
      select sid from (select * from score where num>60) as B ; //这里的sid必须是 * 这里的字段能找到,不然找不到之后就报错

  动态目标查询语句:

  一种写法:
  select
  id,
   name,
   1,
   (select count(1) from tb) //这句号叫做动态目标查询
  from tb2
//值得注意的是,平时我们会经常用到count来做统计,所以在count的这里一般用count(1)或这count(id)来运用就可以解决问题
又是另一种方法:
  SELECT
   student_id,
   (select num from score as s2 where s2.student_id=s1.student_id and course_id = 1) as 语文,
   (select num from score as s2 where s2.student_id=s1.student_id and course_id = 2) as 数学,
   (select num from score as s2 where s2.student_id=s1.student_id and course_id = 3) as 英语
  from score as s1;

  case when作为select目标条件的语句:

         select
course_id,
max(num),
min(num),
min(num)+1,
case when min(num) <10 THEN 0 ELSE min(num) END as c //“case when min(num) <10 THEN 0 ELSE min(num) END ” 有点像三元运算符
from score GROUP BY course_id; select
        course_id,
        avg(num),
        sum(case when num <60 THEN 0 ELSE 1 END),
        sum(1),
        sum(case when num <60 THEN 0 ELSE 1 END)/sum(1) as jgl
     from score
     GROUP BY course_id
     order by AVG(num) asc,jgl desc;

SQL语句的补充

之前我们学习了sql的大部分语句写法,这里我们再补充几个知识点。

记得我们之前讲了sql语句中的联表知识:left join 、right join、inner join

上面的这几个联表其实是属于:左右联表(join)

而与之对应的是:上下联表(union)

  上下联表两种写法,以及他们之间的不同点:

    

      -- 第1、union
        -- 使用union的时候,如果两张表结合之后,存在的记录有值是一模一样的话,会自动删除后面重复的值
      select id name from tb1
      union
      select sid sname from tb2     -- 第2、union all  
        -- 使用union all的时候,不会删除重复的记录        
      select id name from tb1
      union all
      select sid sname from tb2
												

MySQL第二讲 一一一一 MySQL语句进阶的更多相关文章

  1. MySQL实战45讲学习笔记:日志系统(第二讲)

    一.重要的日志模块:redo log 1.通过酒店掌柜记账思路刨析redo log工作原理 2.InnoDB 的 redo log 是固定大小的 只要赊账记录在了粉板上或写了账本上,之后即使掌柜忘记了 ...

  2. MySQL第一讲 一一一一 数据库入门

    一. MySQL简介与安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方 ...

  3. MySQL第三讲 一一一一 视图、触发器、函数、存储过程

    1. 视图 1.1 视图前戏 我们之前讲有,临时表的概念. 现在我们创建一个临时表:select * from (select * from tb1 where id between 10 and 1 ...

  4. 如何查找MySQL中查询慢的SQL语句

    如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow ...

  5. 如何查找MySQL中查询慢的SQL语句(转载)

    转载自https://www.cnblogs.com/qmfsun/p/4844472.html 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那 ...

  6. 何在mysql查找效率慢的SQL语句?

    如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启 ...

  7. 深入MySQL(四):MySQL的SQL查询语句性能优化概述

    关于SQL查询语句的优化,有一些一般的优化步骤,本节就介绍一下通用的优化步骤. 一条查询语句是如何执行的 首先,我们如果要明白一条查询语句所运行的过程,这样我们才能针对过程去进行优化. 参考我之前画的 ...

  8. MySql学习 (一) —— 基本数据库操作语句、三大列类型

    注:该MySql系列博客仅为个人学习笔记. 在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面 ...

  9. python 全栈开发,Day60(MySQL的前戏,数据库概述,MySQL安装和基本管理,初识MySQL语句)

    一.MySQL的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码 root|123321 alex|123123 上面文件内容 ...

随机推荐

  1. JavaScript疑难杂症系列-事件

    事件这块知识点虽然是老生长谈的,但对于我来说多多整理,多多感悟,温故知新,每次看看这块都有不同的收获.(在这里我不会长篇大论,只会挑重点;具体的小伙伴们自行查找) 什么是事件 在编程时系统内发生的动作 ...

  2. echarts折线图,纵坐标数值显示不准确的问题解决

    问题如图: 问题解决:将stack去掉或注释 如下图:

  3. layui数据加载中遮罩层的实现

    1.load方法提供三种风格供选择. 方法一:loadIndex = layer.load(); //不传参,默认0 方法二:loadIndex = layer.load(1); // 1,另外一种风 ...

  4. Android Context完全解析与各种获取Context方法

    Context类型 我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析, ...

  5. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    1. 摘要 作者提出了一系列应用于移动和嵌入式视觉的称之为 MobileNets 的高效模型,这些模型采用深度可分离卷积来构建轻量级网络. 作者还引入了两个简单的全局超参数来有效地权衡时延和准确率,以 ...

  6. react-native 环境安装常见问题

    npm install react-native-cli -g react-native init yourproject npm install react-native run-ios 问题1:卡 ...

  7. kotlin之字符串

    在kotlin 中 使用String 表示字符串类型,如下二类字符串 一 普通字符串 var s1 = "hello world" 二 保留原始格式的字符串 var s2 = &q ...

  8. 折腾ELK+kafka+zk

    回顾前大半年: 1.kubespray搭建K8S集群 2.openVPN 搭建 3.helm使用 4.aws EKS 搭建维护 5.Jenkins pipline 编写ci/cd流程 6.蓝鲸,jum ...

  9. 【7】解决:移动端点击a链接出现蓝色边框

    [1]_blank : 浏览器总在一个新打开.未命名的窗口中载入目标文档. [2]title :  鼠标悬浮显示的文字. [3]href : 跳转到哪个链接.     a{    border: no ...

  10. asp.net mvc中用 log4net记录日志到数据库中

    1.log4net官网配置相关,创建数据库 http://logging.apache.org/log4net/release/config-examples.html CREATE TABLE [d ...