一、查询语句

  1.  select [选项] 列名 [from 表名]  [where 条件]  [order by 排序]  [group by 分组]  [having 条件]  [limit 限制]

  2. 字段表达式

    select 10*10

    select '锄禾日当午'

  3. 通过as给列名取别名,as可以省略 

    select 10*10 as result

    select 10*10 result

  4. from子句

    a. from:来自,from后面跟的是数据源。数据源可以有多个。返回笛卡尔积。

  5. dual伪表

    dual是一个伪表。在有些特殊情况下,没有具体的表可以参与,但是为了保证select语句的完整又必须要一个表名,这时候就要用伪表。

    dual表示为了保证select语句的完整性。

  6. where子句

    a. where后面跟的是条件,在数据源中进行筛选。条件为真,就 返回当前记录。

    b. mysql支持的运算符

      大于:>  小于:<  大于等于:>=  小于等于:<=  等于:=  不等于:!=  与:and  或:or  非:not

  7. in | not in

    a. 查找北京和上海的学生

      select * from stu where stuAddr='北京' or stuAddr='上海'

      select * from stu where stuAddr in ('北京','上海')

    b. 查找不是北京和上海的学生

      select * from stu where stuAddr not in ('北京','上海')

  8. between ... and | not between ... and 查找某个范围的记录 

    a. 查找年龄在18到20之间的学生

      select * from stu where stuAge >=18 and stuAge <=20

      select * from stu where stuAge between 18 and 20

    b. 查找年龄不在18到20之间的学生

      select * from stu where stuAge <18 or stuAge >20

      select * from stu where not (stuAge >=18 or stuAge <=20)

      select * from stu where stuAge not between 18 and 20  

  9. is null | is not null

    a. 查找ch为null或者math为null的学生

      select * from stu where ch is null or math is null

    b. 查找ch和math都不为null的学生

      select *from stu where ch is not null and math is not null

  10. 聚合函数

    a. sum() :求和

      select sum(ch) from stu; 求语文成绩总分

    b. avg():平均数

    c. max():最大值

    d. min():最小值

    e. count():记录数

      select sum(ch) '语文总分', avg(ch) '语文平均分', max(ch) '语文最高分', min(ch) '语文最低分', count(*) '总记录数' from stu;

  11. 通配符

    a. _ [下划线] 表示任意一个字符

    b. % 表示任意字符

  12. 模糊查询(like)

     select * from stu where stuName like '张%'

  13. order by 排序

    a. asc 升序【默认】

    b. desc 降序

      select * from stu order by ch desc;语文成绩降序排列

      select * from stu order by ch; 默认升序排列

    c. 多列排序

      select *,(ch+math) as '总分' from stu order by stuAge asc, (ch+math) desc;

  14. group by 分组查询(将查询的结果分组,分组查询的目的在于统计数据)

    a. select avg(stuage) as '平均年龄',stusex from stu group by stusex;

    b. 注意:如果是分组查询,查询字段必须是分组字段和聚合函数,如果查询字段是普通字段,只取分组的第一个值。

    c. select group_concat(stuname),stusex from stu group by stusex 将同一组的值连接起来显示

    d. 注意:分组默认为升序排序,可以加desc改为降序。select * from stu group by stuage desc;  

    e. 多列分组:select stuaddr,stusex,avg(stuage) from stu group by stuaddr,stusex;

  15. having条件:在结果集上继续进行筛选

    a. select stusex,count(*) total from stu group by stusex having totalz >=5;

  16. limit

    a. 语法:limit起始位置,显示长度

      select * from stu limit 0,2; (从0开始取2条)

    b. 起始位置可以省略,默认从0开始

    c. 例子:班级总分前三名 select *,(ch+math) total from stu order by total desc limit 3;

      前三个地址改成上海:update stu set stuaddr='上海' where name is not null limit 3;

  17. 选项

    a. all:显示所有数据【默认】

    b. distinct:去除结果集中重复的数据

    

    

    

mysql学习笔记--数据库单表查询的更多相关文章

  1. mysql学习笔记--数据库多表查询

    一.内连接[inner join] 1. 语法一:select 列名 from 表1 inner join 表2 on 表1.公共字段=表2.公共字段 2. 语法二:select 列名 from 表1 ...

  2. MySQL学习笔记8——多表查询

    多表查询 多表查询 *合并结果集 *连接查询 *子查询 合并结果集 *要求被合并的表中,列的类型和列数相同(实际上是查询的结果集列类型和列数相同即可) *UNION,去除重复行 *UNION ALL, ...

  3. Mariadb/MySQL数据库单表查询基本操作及DML语句

    Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...

  4. MySQL学习笔记-数据库文件

    数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...

  5. MySQL学习笔记-数据库内存

    数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...

  6. MySQL学习笔记-数据库后台线程

    数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...

  7. Mysql数据库单表查询

    1.单表查询语法 #查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,然后打开文件,按照你的查询条件来找出你需要的数据.下面是完整的一个单表查询的语法 select * from,这个sel ...

  8. oracle数据库单表查询

    今天给大家分享的是关于数据库的单表查询,像单表查询/多表查询/分组查询/子查询,这些方法的使用在实际项目过程中会经常用到,作为一名合格的测试人员如果不会数据库那肯定是不行的,行走江湖可能随时会面临被侮 ...

  9. MySql(六)单表查询

    十.单表查询 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制 ...

随机推荐

  1. Web服务器之Nginx详解(操作部分)

    大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...

  2. SQL-记录删除篇-007

    删除记录: delete * from table_name 解释:删除表中的所有数据 delete * from table_name where id<10 解释:删除表中id小于10的数据 ...

  3. CentOS7中使用yum安装Nginx的方法

    最近无意间发现Nginx官方提供了Yum源.因此写个文章记录下. 1.添加源 默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址.因此可以如下执行命令添加源: ...

  4. js生成的验证码

    例1 <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title&g ...

  5. RESTful Loads

    RESTful 一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. 概述 ...

  6. 【python接口自动化-requests库】【一】requests库安装

    1.概念 requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满 ...

  7. spring中使用@PostConstruct和@PreConstruct注解

    1.@PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法.被@PostCo ...

  8. Spring Cloud(Dalston.SR5)--Zuul 网关-Hystrix 回退

    当我们对网关进行配置让其调用集群的服务时,将会执行 Ribbon 路由过滤器,该过滤器在进行转发时会封装为一个 Hystrix 命令予以执行,Hystrix 命令具有容错的功能,如果"源服务 ...

  9. 3、PHP中常用的数据库操作函数解析

    mysql_connect  连接数据库 mysql_select_db 选择需要操作的数据库 mysql_query 执行数据库操作语句 mysql_fetch_array 以数组的形式返回每行查询 ...

  10. 【spring】之基于注解@ComponentScan的一些使用

    基于xml形式ComponentScan的使用如下 <context:component-scan base-package="com.luna" use-default-f ...