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 ...
随机推荐
- PHP 8中数据类型
PHP 一共支持八种数据类型 4种标量数据类型 boolean布尔型 只有两个值 true 和 flase integer整形 包括正整数和负整数,无小数位 float/double 浮点 ...
- [IDEA_2] IDEA 问题合集
1. IDEA 通过 Maven 导入的依赖包下面存在红色波浪线 问题描述: 创建的 Maven Project 在添加相关依赖后自动下载,自动添加的依赖包的下面存在红色波浪线,在使用过程中存在问题, ...
- November 15th, 2017 Week 46th Wednesday
Of all the tribulations in this world, boredom is the one most hard to bear. 所有的苦难中,无聊是最难以忍受的. When ...
- PyQt5--Position
# -*- coding:utf-8 -*- ''' Created on Sep 13, 2018 @author: SaShuangYiBing ''' import sys from PyQt5 ...
- Ubuntu集群 配置ntp服务
1.概述 NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN ...
- linux下apache中httpd.conf的ServerAdmin 是设置的什么?
<VirtualHost 127.0.0.1:80> ServerAdmin ******@****.com DocumentRoot /home/aaa/sss ServerName s ...
- ethereum/EIPs-725
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-725.md eip title author discussions-to status ...
- 11.C++和C的区别,什么是面向对象
c++封装更好,调用接口,c调用子函数 1.首先C和C++在基础语句上没有太大区别,c++在c基础上改进,兼容大部分c的语法结构.c++面向对象,c面向过程. 2.新增new和delete的语法,引用 ...
- pycharm 取消空格,逗号 等符号的自动补全
- input全选与单选(把相应的value放入隐藏域去)
框架是Jquery 需求是: 页面上有很多复选框,1.当我选择一项复选框时候 把对应的值放入到隐藏域去 2.当我反选的时候 把隐藏域对应的值删掉.3.当我全选的时候 页面上所有的选择框的值一起放到隐藏 ...