一、查询语句

  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. robot framework程序运行过程中,遇到点击事件之后,未出现点击之后的效果(求解)

    1.click Element操作,在实际过程中偶然会出现,日志显示已点击成功,但是实际自动化页面,没有点击成功之后的操作 现象: 现象描述:程序执行到点击侧边栏的[人员信息]之后,日志显示已经点击成 ...

  2. java 中Math 的常用方法

    public class Demo{ public static void main(String args[]){ /** *Math.sqrt()//计算平方根 *Math.cbrt()//计算立 ...

  3. 将文本转化为Numpy的矩阵

    def file2matrix(filename): fr = open(filename) numberOfLines = len(fr.readlines()) #get the number o ...

  4. PythonStudy——数据类型 Type of data

    数据类型:信息存在的状态为什么要来描述事物的具体状态:不同的事物需要不同的状态加以描述可以达到描述的最优化 python中有哪些常见的数据类型 1.整型 num = 10000000000000000 ...

  5. python base64.b64decode 等号可以随便加

    由于 =  用在URL,cookie里会造成歧义,所以base64编码的时候,会把 = 自动去掉. 解码的时候,如果传入的二进制编码长度小于4的倍数,那么需要在后面补=,知道满足长度等于4的倍数,然后 ...

  6. springboot @RequestBody使用JsonSerialize与 JsonDeserialize自定义转参数,处理Date日期格式

    JsonDeserialize: 1.请求接收的是一个json,并且由对象接收 @RequestMapping(value = "/query", method = {Reques ...

  7. C#.NET XML报文签名与验签

    -- MD5Util: using System; using System.Collections.Generic; using System.Security.Cryptography; usin ...

  8. 浏览器调试动态js脚本

    前两天拉取公司前端代码修改,发现在开发者工具的sources选项里边,居然没有列出来我要调试的js脚本,后来观察了一下,脚本是动态在页面里引入的,可能是因为这样所以不显示出来,但是如果不能断点调试,只 ...

  9. android升级gradle到3.4.1

    这两天把gradle升级到了gradle-3.4.1 com.android.tools.build:gradle升级到了com.android.tools.build:gradle:2.3.0 结果 ...

  10. 【转载】robocopy的用法

    经常进行文件管理操作的朋友们,不满意于Windows系统内置的复制功能,因为它太龟速了.于是大家就使用FastCopy.TeraCopy之类的软件来加速复制,但是你是否知道Windows 7已经内置快 ...