1.单表查询

单表查询的语法

SELECT 字段1,字段2... FROM 表名
                  WHERE 条件
                  GROUP BY field
                  HAVING 筛选
                  ORDER BY field
                  LIMIT 限制条数

重点中的重点:关键字的执行优先级

from
where
group by
having
select
distinct
order by
limit

where约束

where字句中可以使用:

1. 比较运算符:> < >= <= <> !=
2. between 80 and 100 值在10到20之间
3. in(80,90,100) 值是10或20或30
4. like 'egon%'
    pattern可以是%或_,
    %表示任意多字符
    _表示一个字符 
5. 逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not

#:单条件查询
    SELECT name FROM employee
        WHERE post='sale';

#:多条件查询
    SELECT name,salary FROM employee
        ;

#:关键字BETWEEN AND
    SELECT name,salary FROM employee
         ;

    SELECT name,salary FROM employee
         ;

#:关键字IS NULL(判断某个字段是否为NULL不能用等号,需要用IS)
    SELECT name,post_comment FROM employee
        WHERE post_comment IS NULL;

    SELECT name,post_comment FROM employee
        WHERE post_comment IS NOT NULL;

    SELECT name,post_comment FROM employee
        WHERE post_comment=''; 注意''是空字符串,不是null
    ps:
        执行
        ;
        再用上条查看,就会有结果了

#:关键字IN集合查询
    SELECT name,salary FROM employee
            ;

    SELECT name,salary FROM employee
        ,,,) ;

    SELECT name,salary FROM employee
        ,,,) ;

#:关键字LIKE模糊查询
    通配符’%’
    SELECT * FROM employee
            WHERE name LIKE 'eg%';

    通配符’_’
    SELECT * FROM employee
            WHERE name LIKE 'al__';
聚合函数
max
min
sum
avg
having
强调:聚合函数聚合的是组的内容,若没有分组,则默认一组
having过滤
执行优先级从高到低:where>group by>having
where发生在分组group by之前,因而where中可以有任意字段,但是不能使用聚合函数
having发生在分组group之后,因而having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数

order by
从大到小desc
从小到大asc

limit限制查询从数
,; 从第0条开始,往后查3条

多表查询
.交叉连接:不适用任何匹配条件,生产笛卡尔积
SELECT * FROM s5,s3;
.内连接:只连接匹配的行
找两张表共有的部分,相当于利用条件从笛卡尔积结果中筛选出了正确的结果
.外连接之左连接:优先显示左表全部记录
.外连接之右连接:优先显示右表全部记录

.全外连接:显示左右两个表全部记录
注意:mysql不支持全外连接

子查询:子查询是将一个查询语句嵌套在另一个查询语句中
内层查询语句的查询结果,可以作为外层查询语句提供查询条件时

备份:
数据表结构+数据
mysqldump -uroot -p123 db4 > d:db4.sql 注意没有分号
只备份数据表结构
mysqldump -uroot -p123 -d db4 > d:db4.sql注意没有分号
执行文件:
create database db6;

mysql的查询的更多相关文章

  1. Linux下MySQL慢查询分析mysqlsla安装使用

    说明: 操作系统:CentOS 5.X 64位 MySQL版本:mysql-5.5.35 MySQL配置文件:/etc/my.cnf MySQL 数据库存放目录:/data/mysql 实现目的:开启 ...

  2. MySQL的查询计划中ken_len的值计算

    本文首先介绍了MySQL的查询计划中ken_len的含义:然后介绍了key_len的计算方法:最后通过一个伪造的例子,来说明如何通过key_len来查看联合索引有多少列被使用. key_len的含义 ...

  3. mysql的查询、子查询及连接查询

    >>>>>>>>>> 一.mysql查询的五种子句         where(条件查询).having(筛选).group by(分组). ...

  4. MySQL慢查询日志总结

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  5. 【转】Mysql联合查询union和union all的使用介绍

    Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下 一.UNION和UNION ALL的作用和语法 UNION 用于合... ...

  6. mysql慢查询日志分析工具 mysqlsla(转)

    mysql数据库的慢查询日志是非常重要的一项调优辅助日志,但是mysql默认记录的日志格式阅读时不够友好,这是由mysql日志记录规则所决定的,捕获一条就记录一条,虽说记录的信息足够详尽,但如果将浏览 ...

  7. Mysql慢查询和慢查询日志分析

     Mysql慢查询和慢查询日志分析   众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的.下面总结一些使用过或者研究过的经验,从配置以 ...

  8. [django/mysql] 使用distinct在mysql中查询多条不重复记录值的解决办法

    前言:不废话.,直接进入正文 正文: 如何使用distinct在mysql中查询多条不重复记录值? 首先,我们必须知道在django中模型执行查询有两种方法: 第一种,使用django给出的api,例 ...

  9. MySQL 慢查询日志分析及可视化结果

    MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的 ...

  10. mysql datetime查询异常

    mysql datetime查询异常 异常:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp (2011 ...

随机推荐

  1. <aop:aspectj-autoproxy />作用

    通过配置织入@Aspectj切面 虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作. 通过aop命名空间的<aop:aspectj-a ...

  2. 启动mysqld报 mysql the server quit without updating pid file

    查看mysql服务器的错误日志有一句: InnoDB: mmap(137363456 bytes) failed; errno 12 原来是内存不够用(需要131MB)呀,把my.cnf中的innod ...

  3. HTTP协议(web开发)

    HTTP协议 HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数 ...

  4. 7.11js的总结

    <!DOCTYPE html> <html> <head> <title>js的内置全局函数</title> <script type ...

  5. 使用 vm 加载文件中的数据到变量里面

    .json 不能写注释, 还需要严格的双引号 或者使用 .json5 // test.db [ // name {name: 1} ] // test.js const fs = require('f ...

  6. ERP项目实施记录08

    已经和软件商签订报价软件合同过去了2周,五一过后会有测试版本出来. 在整个接触过程中感觉开发方思路就是照葫芦画瓢,拿着这边的表单尽量往软件里搬,没有理清思路又急着赶进度:另外又要兼顾他们现有的&quo ...

  7. Linux关闭IPV6

    Linux关闭IPV6的方法 修改配置文件/etc/sysctl.conf添加以下1行 net.ipv6.conf.all.disable_ipv6 = 1 设置生效 sysctl -p 查看没有IP ...

  8. 160道Java技术面试题

    1.面向对象的特征有哪些方面?2.访问修饰符public,private,protected,以及不写(默认)时的区别?3.String 是最基本的数据类型吗?4.float f=3.4;是否正确?5 ...

  9. CCPC-Wannafly Winter Camp Day3 Div1 - 排列

    题目链接:https://zhixincode.com/contest/14/problem/A?problem_id=203 time limit per test: 1 secondmemory ...

  10. MyBatis时间比较

    <if test="submitTime!=null and submitTime!=''"> AND DATE_FORMAT(sc.submit_time, '%Y- ...