数据记录查询:
1.简单数据记录查询:
select * from table_name;
select allfield from table_name;
select distinct(属性名) from table_name; // 避免重复查询
实现四则元素: select 运算;
连接查询(设置显示格式数据查询):
select concat(属性字段1,"描述",属性字段2) from table_name;
例子: select concat(ename," num is ",empno) from t_employee;
2.条件数据记录查询:
select * from table_name where 条件1 and|or 条件2.......;// 可以有多个条件
select * from table_name where 属性字段 between 范围下限 and 范围上限;// 他的意思是属性字段的值 >= 范围下限 and 属性字段的值 <= 范围上限;
select * from table_name where 属性字段 is null;// 查询属性字段为NULL的值,null不等于"";
select * from table_name where 属性字段 in (范围);// 范围查找,in也可以换为not in取反的意思.(使用关键字IN,查询的集合中如果存在NULL,则不会影响查询;如果使用NOT IN,查询的集合中存在NULL,则不会有任何的查询结果)
例子: select * from t_dept where deptno in (10,30,50,70);
带LIKE关键字的查询:
"_"通配符,匹配单个字符,
"%"通配符,匹配任意长度的字符串,可以是0个字符,一个字符,也可以是很多个字符.
查看变量: show variables like '%变量名%',表示包含变量名的变量,'%变量名',表示以变量名结尾的变量,'变量名%'表示以变量名开头的变量,例子:show variables '%max%';
select * from table_name where 属性字段 like '%%';// 一个%和两个%%都表示全部的结果.
select * from table_name where 属性字段 like '%变量';//表示以变量结尾的结果集.
select * from table_name where 属性字段 like '变量%';//表示以变量开头的结果集.
select * from table_name where 属性字段 like '%变量%';//表示包含变量的结果集.
如果要查询带有%的结果集呢?转义字符,将%转义为\%,其余的不变.
3.排序(order by)数据记录查询:
select * from table_name order by 属性字段 ASC|DESC;// ASC升序,DESC降序
select * from table_name order by 属性字段1 ASC|DESC, 属性字段2 ASC|DESC;先按照属性字段一进行排列,字段一相同的再用属性字段二进行排列.
在排序中NULL值是最小值.
4.限制(limit)数据记录查询数量:
num必须是常量整数
selecct * from table_name limit num;// num只数字,表示查询表中的前num行
selecct * from table_name limit num1,num2;// 表示第num1行后的num2条数据
5.统计函数和分组数据记录查询:
COUNT()函数:统计表中记录的条数
select count(属性字段) from table_name;// 属性字段可以为*,查询记录总和,如果字段中包含了null,null的那条结果不算入总和,但空值""算.
AVG()函数:实现计算字段值的平均值
select avg(属性字段) from table_name;
SUM()函数:实现计算字段值的总和
select sum(属性字段) from table_name;
MAX()函数:实现查询字段值的最大值
select max(属性字段) from table_name;
MIN()函数:实现查询字段值的最小值
select min(属性字段) from table_name;
 
select 属性字段 from table_name group by 属性字段;// 可以由多个条件(多列分组就要有多个条件,否则容易出错)
例子:
select deptno,job,count(1) from t_employee group by deptno, job;
功能分组查询:
select 属性字段1,group_concat(distinct(属性字段2)) from table_name group by 属性 字段1;
例子:
select deptno,group_concat(distinct(job)) as job from t_employee group by deptno;//如何理解?我认为是利用deptno分组,再将select distinct(job) from t_emplyee的结果再添加入表中,简单的来说就是配对连线.
利用图片来理解(只需要查看第三列和第四列):
 
 
多功能分组查询:
我理解为利用两个分组条件来分组,并统计每一个分组下另一个内容的个数或者种类.
直接用例子(不好理解):
 
使用having子句限定分组查询
相当于在分组的时候多加了一个条件
例子:select deptno,job,group_concat(ename) as p,count(1) as c from t_employee group by deptno,job having c > 3;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Mysql之单表记录查询的更多相关文章

  1. MySQL--详细查询操作(单表记录查询、多表记录查询(连表查询)、子查询)

    一.单表查询 1.完整的语法顺序(可以不写完整,其次顺序要对) (不分组,且当前表使用聚合函数: 当前表为一组,显示统计结果 ) select distinct [*,查询字段1,查询字段2,表达式, ...

  2. mysql之单表条件查询

    create table staff_info( id int primary key auto_increment, name varchar(32) not null, age int(3) un ...

  3. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

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

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

  5. day 38 MySQL之单表查询

    MySQL之单表查询   阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER ...

  6. MySQL 表记录查询小练习

    表记录查询小练习 查看岗位是teacher的员工姓名.年龄 查看岗位是teacher且年龄大于26岁的员工姓名.年龄 查看岗位是teacher且薪资在12000-16000范围内的员工姓名.年龄.薪资 ...

  7. mysql 删除单表内多个字段重复的数据

    mysql 删除单表内多个字段重复的数据 DELETE from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2) ...

  8. mysql数据库单表只有一个主键自增id字段,ibatis实现id自增

    mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid">        insert into user_id ...

  9. Mysql数据库单表查询

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

随机推荐

  1. linux小白成长之路4————centos7配置自动更新安装安全补丁

    [内容指引] 安装yum-cron; 修改配置:nano: 手工启动服务: 将服务设置为开机自动启动. 为保证linux系统的安全性以及稳定性,可以使用yum-cron服务自动更新: 1.安装yum- ...

  2. 【RabbitMQ系列】队列、绑定、交换器

    队列: 从概念上来讲,AMQP消息路由必须有三部分:交换器.队列和绑定.生产者把消息发布到交换器上:消息最终到达队列,并被消费者接收:绑定决定了消息如何从路由器路由到特定的队列. 消费者通过以下两种方 ...

  3. hibernate框架学习笔记8:一对多关系案例

    两个实体类:客户与联系人,一个客户可以有多个联系人 客户类: package domain; import java.util.HashSet; import java.util.Set; //客户实 ...

  4. MySQL 服务安装及命令使用

    MySQL 服务安装及命令使用 课程来源说明 本节实验后续至第17节实验为本课程的进阶篇,都基于 MySQL 官方参考手册制作,并根据实验楼环境进行测试调整改编.在此感谢 MySQL 的开发者,官方文 ...

  5. 关于jvm的OutOfMemory:PermGen space异常的解决

    在做网校的时候,经常会在控制台会报出方法区的内存溢出,在网上找的方法,无非都是在tomcat的bin/catalina.bat文件中 设置jvm的堆的大小和方法区的大小,但是通过eclipse启动to ...

  6. Web前端性能分析

    Web前端性能通常上代表着一个完全意义上的用户响应时间,包含从开始解析HTML文件到最后渲染完成开始的整个过程,但不包括在输入url之后与服务器的交互阶段.下面是整个过程的各个步骤: 开始解析html ...

  7. day-4 python多进程编程知识点汇总

    1. python多进程简介 由于Python设计的限制(我说的是咱们常用的CPython).最多只能用满1个CPU核心.Python提供了非常好用的多进程包multiprocessing,他提供了一 ...

  8. 启动eclipse时出现“Failed to load the JNI shared library jvm.dll”错误及解决

    昨晚安装另一个版本的eclipse,启动时出现了"Failed to load the JNI shared library jvm.dll"错误: 1.刚开始以为是因为当时没有将 ...

  9. python中 return 的用法

    return 语句就是讲结果返回到调用的地方,并把程序的控制权一起返回 程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return. 要返回两个数值,写成一行即可: de ...

  10. split 过滤空的元素

    命令形式: split(str='',number=string.count(str))[n] str 分隔符 number 切分几次,[n] 获取第几个值. 1.如果切分的可迭代对象中包含空元素的解 ...