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 ...
随机推荐
- linux访问Windows共享文件命令
mount -o username=username,password=password,ip=10.0.0.1 //10.0.0.1/backupscm /home/package/image_vm ...
- rsync 数据备份+cron+mailx案例
大家都知道数据非常重要的,需要经常备份,如果备份了,但无法恢复还原,那就证明你备份的很失败,所有当我们备份了数据需要检查是否备份完整,是否可用可恢复.以下为一个企业案例: 某公司里有一台Web服务器, ...
- 【待补充】[Python_1] Python 安装
0. 说明 安装教程网上有很多,等下次安装再补充笔记 Python 下载地址
- windows服务器安装telnet的方法指引
摘要: 1.telnet是一种网络排查的工具 2.当发现一台服务器异常的时候,通常有两个cmd命名做排查 3.ping 服务器ip,看网络是否联通 4.telnet 服务器ip 端口 看该服务器指定端 ...
- Windows:服务已经标记为删除
解决办法: 方法一:运行删除服务项命令的时候,服务管理窗口未关闭,关闭服务管理窗口即可: 方法二:删除服务的注册表项,路径为: HKEY_LOCAL_MACHINE\SYSTEM\CurrentCon ...
- tplink-ssh登录
同步发表:https://www.eatm.app/archives/395.html 备份配置信息 开启SSH #修改文件userconfig/etc/config/dropbear, #查看opt ...
- ndroid动态创建按钮并添加事件
public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Over ...
- November 10th, 2017 Week 45th Friday
A little bit of mercy makes the world less cold and more just. 多一点怜悯就可以让这个世界少一点冷酷而多一点正义. Maybe there ...
- [Python3]subprocess.check_output() 在python3的输出为bytes而非string,在实际使用过程中得增加一个解码过程decode(),不然会有问题
按以往python2的习惯编码输出报错 #-*- coding:utf-8 -*- ''' Created on 2018年7月21日 @author: lenovo ''' import os im ...
- nowcoder练习赛28
https://www.nowcoder.com/acm/contest/200#question 最近突然找到了打比赛的乐趣,于是参加了这场比赛. 生日宴会:https://www.nowcoder ...