Mysql基础命令(二)select查询操作
条件查询
使用Where进行数据筛选结果为True的会出现在结果集里面
select 字段 from 表名 where 条件;
# 例:
select * from test_table where id > 2; # 筛选出id大于2的所有字段
比较运算符
- 等于=
- 大于>
- 大于等于>=
- 小于<
- 小于等于<=
- 不等于!=或<>
# 例:
select * from test_table where id = 2; # 筛选出id等于2的所有字段
select * from test_table where id > 2; # 筛选出所有id大于2的所有字段
....
逻辑运算符
- 与and
- 或or
- 非not
# 例:
select * from test_table where id > 2 and age<18; # 筛选出所有id大于2并且年龄小于18的所有字段
select * from test_table where id > 2 or age<18; # 筛选出所有id大于2或者年龄小于18的所有字段
select * from test_table where not(id > 2 and age<18); # 筛选出所有不是id>2并且年龄小于18的字段
....
模糊查询(like, rlike)
- like 使用%或_来进行模糊查询
- %s 表示任意多个字符
- _表示一个任意字符
- rlike 使用正则表达式来模糊查询
# 例:
select * from test_table where name like "小%" # 查询数据库中小开头的所有信息的所有字段
select * from test_table where name like "小_" # 查询数据库中所有小开头的两个字的所有字段
select * from test_table where name rlkie ".." # 查询数据库的两个字符的所有数据的所有字段
范围查询
- in 表示在一个非连续的范围内
- between …. and … 表示在一个连续的范围类
# 例
select * from test_table where id in (1,3,5) # 查询id编号为1,3,5的所有字段信息
select * from test_table where between 1 and 5 # 查询id编号为1到5之间的所有数据的所有字段信息
空判断
- null 判断值是否为空
- not null 判断值是否不为空
# 例:
select * from students where text is null; # 筛选出text字段为空的数据
select * from students where text is not null; # 筛选出text字段为不为空的数据
优先级
- 小括号>not>比较运算符> 逻辑运算符
- and 比 or先运算
聚合查询
这里需要使用到聚合函数,聚合函数有
- count(*) 统计数量
- max(字段) 最大值
- min(字段) 最小值
- sum(字段) 求和
- avg(字段) 平均值
# 例:
select count(*) from test_table; # 可以直接得到一共有多少个数据
select max(id) from test_table; # 可以直接得到ID字段中最大的ID值为多少
select * from test_table where id = (select max(id) from test_table); # 可以直接使用聚合函数查询最大Id的所有的字段信息
分组查询
将数据按照字段进行分组,可以使用聚合函数对分组数据进行统计,关键字group by
# 例:
alter table test_table add tab int not null default 0; # 创建一个新的字段tab 默认为0
select tab from test_table group by tab; # 按照tab进行分组
# 分组后筛选数据
select tab, count(*) from test_table group by tab having tab=0;
对比where与having
- where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
- having是对group by的结果进行筛选
排序查询
语法:
select * from 表名 order by 字段1 asc|desc,字段2 asc|desc,...
关键字:order by
asc是从小到大排序、即升序
desc是从大到小排序、即降序
# 例:
select * from test_table order by id asc # 按照id从小到大排序
select * from test_table order bt id desc # 按照id 从大到小排序
分页查询
关键字:limit
start:开始的索引
count:取多少条数据
select * from 表名 limit start, count
# 例:
select * from test_table limit 0,5 # 去前5个数据
Mysql基础命令(二)select查询操作的更多相关文章
- MYSQL—— 基础入门,select 查询涉及到的关键字组合详解(进阶篇)
SELECT查询组合使用的关键字很多,首先将最简单常用的关键字进行区分及使用,后续再继续补充............ 以下所有的关键字组合使用,主要以两个表students与students_scor ...
- MySQL基础(二)——DDL语句
MySQL基础(二)--DDL语句 1.什么是DDL语句,以及DDL语句的作用 DDL语句时操作数据库对象的语句,这些操作包括create.drop.alter(创建.删除.修改)数据库对象. 2.基 ...
- mysql 基础入门 单表查询
单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...
- mysql基础之对库表操作
原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...
- 运维 04 Shell基础命令(二)
Shell基础命令(二) 查看Linux的发行版 cat /etc/redhat-release cat /etc/os-release 查看系统用户的id信息 id 用户名 id root id ...
- Linux系统——MySQL基础(二)
# MySQL数据库完全备份与恢复## 数据库备份的分类1. 从物理与逻辑的角度,备份可以分为物理备份和逻辑备份.(1)物理备份:对数据库操作系统的物理文件(数据文件.日志文件)的备份.物理备份又可分 ...
- MySQL基础命令
目录: MySQL概述 安装及启动登陆mysql操作 MySQL基本数据类型 MySQL数据库基本SQL操作 MySQL高级SQL操作 一.MySQL概述 1.什么是数据库? 数据库(Database ...
- MySQL(三) 数据库表的查询操作【重要】
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
- 【MYSQL命令】mysql基础命令
1.查询MYSQL当前用户命令:select user() mysql> select user(); +------------------------+ | user() | +------ ...
- mysql基础-数据库表简单查询-记录(五)
0x01 MySQL的查询操作 单表查询:简单查询 多表查询:连续查询 联合查询 选择和投影 投影:挑选要符合的字段 select ...
随机推荐
- sql server数据导入导出方法统计
常用的数据量不是很大的情况的几种方法:转载地址 http://www.cnblogs.com/changbluesky/archive/2010/06/23/1761779.html 大数据量的推荐导 ...
- Asp.Net MVC 模型(使用Entity Framework创建模型类)
这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...
- python基础之os.system函数
前言 os.system方法是os模块最基础的方法,其它的方法一般在该方法基础上封装完成. os的system原理 system函数可以将字符串转化成命令在服务器上运行:其原理是每一条system函数 ...
- java读取txt文件的2中方法---并将内容(每一行以固定的字符分割切成2段)存到map中去
#java读取txt文件的第一种方法 /** * 方法:readTxt * 功能:读取txt文件并把txt文件的内容---每一行作为一个字符串加入到List中去 * 参数:txt文件的地址 * 返回: ...
- Python学习--打码平台
打码平台介绍 作用:可以通过第三方平台进行智能识别或者人工识别图片. 优点:1. 价格便宜: 2. 使用简单: 3. 识别率高 平台介绍: - 云打码(推荐) [http://www.yundama. ...
- tcp尽快尽快了
看的撒积分卡拉斯的放假啊的顺口溜
- python第三十一课--递归(2.遍历某个路径下面的所有内容)
需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...
- 虚拟主机ip配置,nginx.conf文件配置及日志文件切割
今天粗略整理了一下虚拟主机配置,nginx.conf文件的配置,及日志文件的切割,记录如下: nginx虚拟主机配置:1.IP地址配置,2.绑定ip地址和虚拟主机详情:1.ip地址的配置:ifconf ...
- 20165318 2017-2018-2《Java程序设计》课程总结
20165318 2017-2018-2<Java程序设计>课程总结 一.每周作业链接汇总 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:C语言基础调查和java学习展望 预 ...
- Cobalt Strike深入使用
System Profiler使用 System Profiler 模块,搜集目标的各类机器信息(操作系统版本,浏览器版本等) Attacks->web drive-by->System ...