mysql基础-数据库表简单查询-记录(五)
0x01
MySQL的查询操作
单表查询:简单查询 多表查询:连续查询 联合查询
选择和投影
投影:挑选要符合的字段 select 字段 .........
选择:挑选符合条件的行 select 字段 from 表 ....... where .......
投影:select 字段1,字段2,... from tb_name
selcet * from tb_name
选择:select 字段1,字段2,.... from tb_name where 子句
布尔条件表达式操作符
= 等值比较
<=>:跟空值比较不会产生额外信息
<>:不等值
< 小于
<= 小于等于
> 大于
>= 大于等于
IS NULL:是否为空
IS NOT NULL:是否不为空
LIKE:支持的通配符%(任意长度的任意字符) (下划线) _(任意单个字符)
RLIKE,REGEXP:支持使用正则表达式作为条件
IN:判断某行的某一字段的值是否在给定的列表中 in(2.3.4.5.6.67.7.8.8 .......) 符合里面的条件即可
BETWEEN...AND....:判断指定的值是否位于指定的范围之间 在两者之间的范围
组合条件测试
NOT ! ----- 非
AND && ------ 和
OR || ------ 或
排序
order by ‘排序字段’
默认为升序:ASC 默认不添加, 升序 ---- 即 从小到大 一次排序
降序:DESC 降序 ----- 即 从大到小
内置的聚合函数
sum():求和
AVG():平均值
MAX():最大值
MIN():最小值
COUNT():个数统计 count(*) 效率不高,推荐在使用过程随便选个表中的字段进行查询--效率略高
分组
group by ----- 可以理解为对某一类进行分类,例如 性别 男 女 , 班级等....
对分组的条件过滤
having ----- 只能和group by 配合使用,不能单独使用 对分组后的数据进行过滤
只返回有用的行
LIMIT limit 5 ------ 理解为表示从第一行显示到第五行 limit 3,8 ---理解为表示从第三行开始显示到第八行
一个数为显示的行数
两个数字为偏移第一个数字行,显示第二个数字
select语句的执行流程
from clause --> where clause --> group by --> having clause -->order by --> select -->limit
先找表---> 条件过滤筛选 ----> 对左边筛选的数据进行分组 -----> 对分组后的数据进行过滤 ----> 对分组后过滤的数据进行排序 ---> 将获取的最终结果进行查询 ---> 对获取的结果进行确认该显示哪条数据
select语句
distinct 重复的只显示一次 ---- 去重
SQL_CACHE 缓存查询结果
SQL_NO_CACHE 不缓存查询结果
实例
select ClassID,count(Name) from students where ClassID is not null group by ClassID;
select Gender,sum(Age) from students group by Gender;
select avg(Age) from students group by ClassID having sum(Age) > 25;
select ClassID from students where ClassID is not null group by ClassID having sum(Age) > 25;
select Name,Gender,sum(Age) from students where Age > 25 group by Gender;
复制一张表:
第一种方法:
create table tab2 like tab1; //复制结构了
insert into tab2 select * from tab1; //复制数据
这种方法可以比较完整 ----- 推荐使用这种方法
第二种方法:
create table tab2 select * from tab1; //同时复制结构和数据
这种方法可能会丢一些结构信息,比如:索引,约束,自增长属性
mysql基础-数据库表简单查询-记录(五)的更多相关文章
- mysql基础-数据库表的管理-记录(四)
0x01 MySQL中字符大小写 1.SQL关键字及函数不区分大小写 2.数据库.表及视图名称的大小写区分与否取决于底层OS及FS 3.存储过程.存储函数及事件调度器的名字不区分大小写,但触发器区分大 ...
- MySQL(三) 数据库表的查询操作【重要】
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
- MySQL查看数据库表容量大小
本文介绍MySQL查看数据库表容量大小的命令语句,提供完整查询语句及实例,方便大家学习使用. 1.查看所有数据库容量大小 select table_schema as '数据库', sum(table ...
- activiti--6-------------------------------------连线(一般数据库表的查询顺序)
一.流程图 二.这次把流程图和Java类放在一个包下 三.代码 package com.xingshang.f_sequenceFlow; import java.io.InputStream; im ...
- MySQL更改数据库表的存储引擎
MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...
- MySQL中将数据库表名修改成大写的存储过程
原文:MySQL中将数据库表名修改成大写的存储过程 MySQL中将数据库表名修改成大写的存储过程 创建存储过程的代码: DROP PROCEDURE IF EXISTS uppercaseTablen ...
- mysql数据库表的查询操作-总结
转自:https://www.cnblogs.com/whgk/p/6149009.html 序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VA ...
- 最全MySQL数据库表的查询操作
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
- MySQL(2)数据库 表的查询操作
来源参考https://www.cnblogs.com/whgk/p/6149009.html 跟着源博客敲一遍可以加深对数据库的理解,同时对其中一些代码做一些改变,可以验证自己的理解. 本文改动了其 ...
随机推荐
- 新能力 | 云开发CMS内容管理系统,5分钟搞定小程序管理后台
小程序·云开发的云调用能力,让用户可以免鉴权快速调用微信的开放能力,极大节约了开发成本.现在,大家期待已久的云开发 CMS 内容管理系统,终于上线啦!顺便提示,接下来还可以二次开发哦! 云开发 CMS ...
- 「雕爷学编程」Arduino动手做(27)——BMP280气压传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 【Django+Element UI】使用一个接口文件,搞定分页获取数据,模糊查询后分页获取数据
1:序列化获取数据的接口设计 1:分页获取序列化数据 2:是个能传参数的接口 class Society(APIView): def post(self, request): keywords = s ...
- Django视图函数之FBV与CBV模式
FBV模式: FBV(function base views) 就是在视图里使用函数处理请求. 一般直接用函数写的都属于是FBV模式. veiws.py from django.shortcuts i ...
- 201771010117马兴德 实验二 Java基本程序设计(1)
实验二 Java基本程序设计(1) 第一部分 理论知识的学习. 第三章Java基本程序设计结构 1 基本知识: (1)标识符:标识符由字母.下划线.美元符号和数字组成,且第一个符号不能为数字 ...
- jq代替jsdom操作部分
接触js后学习了一些js操作html的方法 js可以配合css完成许多动画和操作.初次接触jquery感觉不是很习惯,毕竟js有了习惯,但是jq还是省去了很多繁琐的操作步骤. 首先使用之前 ...
- 理解session及微信小程序使用session
session介绍 由于Http是无状态的协议,所以服务端需要记录用户的状态时,就需要某种机制来识别具体的用户,实现这个机制的方式就是session. 典型的场景比如购物车,当你点击下单按钮时,由于H ...
- Docker部署nginx,tomcat,es,可视化
nginx [root@iz2zeaet7s13lfkc8r3e2kz /]# docker pull nginx #下载 Using default tag: latest latest: Pull ...
- 阿里云服务器centOS安装Docker
环境准备 1.需要有Linux的基础 2.centOS 7 环境查看 # 系统内核是 3.10 以上的 [root@iz2zeaet7s13lfkc8r3e2kz ~]# uname -r -.el7 ...
- TJA1040
TJA1040是NXP公司推出的一款针对汽车电子行业使用的高性能CAN收发器. TJA1040的第5引脚名称为SPLIT,描述为:稳定共模输出(common-mode stabilization ou ...