MySql数据库之单表数据查询
查询数据
1.查询所有数据:
select * from 表名;
2.根据指定条件查询数据:
select * from 表名 where 查询条件
3.根据where条件查询:
3.1 根据指定条件查询指定字段的数据
select 字段1,... from 表名 where 查询条件
这里为大家简述一下这条命令执行的基本流程:
1.先执行from命令,从指定表中取出数据;
2.在通过查询条件,将符合条件的数据筛选出来;
3.最后,再查询出指定字段包含的数据并显示出来。
3.2 where结合逻辑运行算符进行查询
首先,我们需要先明确一下逻辑运算符都包括什么:
and:与运算;
-- where结合and使用
select * from 表名 where 查询条件1 and 查询条件2;
当两个查询条件都满足时才能够查询出数据。
or:或运算;
-- where 结合 or
select * from 表名 where 查询条件1 or 查询条件2;
当两个查询条件中有一个满足时就会查询出数据。
not:取反。
--where 结合 not
select * from 表名 where not (查询条件);
当满足与查询条件相反时查询出数据。
注意:not的运算符优先级比and 和 or 大;not>and>or。
3.3 模糊查询
利用通配符进行模糊查询。
模糊查询的通配符有:
1.%:匹配任意个字符;
2._:匹配任意一个字符。
-- 模糊查询
select * from t_student where name='王%';
-- 表示查询出所有姓王的学生的信息 select * from t_student where name='王_';
-- 表示查询出所有姓王、名字为两个字的学生的信息
3.4 范围查询
范围查询的关键字有:
1.between ... and ..
2.in(数据1,...)
--between ... and 使用
select name.age from t_student where age between 18 and 20;
-- 表示查询出年龄在18到20之间的学生姓名和年龄(包括18和20) -- in 使用
select s_id,name from t_student where s_id in(16280101,16280202,16280333);
-- 表示查询出学号在这个范围(16280101,16280202,16280333)内的学生的学号和姓名
3.5 空判断查询
关键字:
1.is null :空
2.is not null :非空
-- is null 使用
select * from t_student where phone is null;
-- 表示查询出所有电话号为空的学生信息 --is not null使用
select * from t_student where phone is not null;
-- 表示查询出所有电话号非空的学生信息
注意:
is not null 和not is null查询出来的数据是一样的但是原理不同;
is not nul 是 直接判断字段内的数据是否为非空;
not is null 是 先判断字段内的数据是否为空,然后再进行取反操作,效率较低。
3.6 数据排序
使用关键字order by desc/asc对查询出的数据进行排序。
-- order by desc
select * from 表名 where 查询条件 order by 字段名 desc
-- 表示先查询出指定数据在进行降序排列 -- order by asc
select * from 表名 where 查询条件 order by 字段名 asc;
-- 表示先查询出指定数据再进行升序排列
3.7 分页查询
使用关键字limit进行分页查询
-- limit 使用
select * from t_student where phone is not null limit 0,10;
--表示查询出10条电话非空的学生的信息 --分页查询计算公式
limit (page-1)*count,count;
3.8 分组查询
使用group by关键字进行分组,having关键字后一般使用聚合函数。
-- 无分组条件查询
select adress,group_concat(name) from t_student group by address;
-- 表示使用address分组,并查询出分组信息以及每组内的学生姓名 -- 有分组条件查询
select address,group_concat(name) from t_student group by address having count(name)<3;
-- 表示使用address分组,并显示出人数小于3人的小组信息以及组内的学生姓名
MySql数据库之单表数据查询的更多相关文章
- MySQL数据库之单表查询中关键字的执行顺序
目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...
- MySQL数据库语法-单表查询练习
MySQL数据库语法-单表查询练习 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是对聚合函数和分组的练习. 一.数据表和测试数据准备 /* @author :yinz ...
- MySQL单表数据查询(DQL)
数据准备工作: CREATE TABLE student( sid INT PRIMARY KEY AUTO_INCREMENT, sname ), age TINYINT, city ), scor ...
- 基于MySql数据库的单表与多表联合查询
这里以学生 班级 身份证 以及课程为例 1,启动MySql数据库 开启服务 2.1.0新建一张班级表 备注:CHARSET = UTF8 (指定编码格式为utf8 防止中文乱码) /*班级表*/ C ...
- mysql数据库之单表查询多表查询
单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex e ...
- mysql数据库之单表查询
单标查询 单表查询语句 关键字执行的优先级 简单查询 where约束 group by 聚合函数 HAVING过滤 order by 查询排序 LIMIT限制查询的记录数 使用正则表达式查询 单表查询 ...
- 黑马MySQL数据库学习day02 表数据CRUD 约束CRUD
/* 基础查询练习: 1.字段列表查询 当查询全部字段时,一种简便方式,使用*代替全部字段(企业中不推荐使用) 2.去除重复行 DISTINCT,注意修饰的是行,也就是整个字段列表,而不是单个字段. ...
- 向MySql数据库导入excel表数据
最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...
- java对mysql数据库进行单表筛选备份、还原操作
最近在做的一个项目需要对mysql数据库中的单个表格进行备份 其中,一部分表格需要进行筛选备份(例如对最近插入的1000条记录进行备份) 思路:java调用系统命令完成备份操作 假设现在有数据库tes ...
随机推荐
- 使用springcloud开发测试问题总结
使用springcloud开发测试 如下描述的问题,没有指明是linux部署的,都是在windows开发环境上部署验证发现的. Issue1配置客户端不使用配置中心 问题描述: 配置客户端使用配置中心 ...
- C语言中的可变参数-printf的实现原理
C语言中的可变参数-printf的实现原理 在C/C++中,对函数参数的扫描是从后向前的.C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出 ...
- 高性能Web动画和渲染原理系列(4)“Compositor-Pipeline演讲PPT”学习摘要
目录 摘要 1.合成流水线 2. 预定义UI层 3. paint是什么意思 4. 分层的优势和劣势 5. 视图属性及其处理方式 6. Quads 7. Compositor Frame 8. 关于光栅 ...
- Apache Jmeter进行服务器压力测试
1.前言 最近项目遇到一个问题:其他公司对接我们系统,请求量太大的时候,返回单给对方就是丢失格式,大概十几万中总有那么十几单会出现格式错误! 所以我们老大就叫我用apache jmeter来进行并发测 ...
- 网站搭建-2-本地网站搭建-安装Linux虚拟机/ 安装IIS Windows
搭建网站-1-域名申请参见公众号 生物信息系统(swxxxt) 首先,已经拥有了一个可以正常使用的域名. 之前买了两年的阿里的服务器,由于是Windows的,最后不了了之了(因为当时找的代码都是lin ...
- 【idea】高德地图可以关爱一下高个汽车
现状:1.交通事故时不时能看到大卡车,双层巴士在城市里限高区域时的车祸 原因分析:1.司机对路况不熟,驶入新的限高路,造成事故2.司机对车况不熟,临时换的车驾驶,忘记车高的变化3.司机路况车况都熟,道 ...
- [ISE调试] 在ISE调试过程中,遇到过的warning以及消除办法
1.在generate的过程中,在Map环节遇到了下面这个warning 意思:告诉你是黑盒子,而且他本来在设计里面就是黑盒子. 解决办法:点击图中的,会弹出一个代码文件,是声明这个IP核的文件,代码 ...
- Idea集成SpringBoot实现两种热部署方式(亲测有效)
即将介绍的两种热部署方式: 1.SpringLoaded 2.DevTools 区别: SpringLoader:SpringLoader 在部署项目时使用的是热部署的方式. DevTools:Dev ...
- 手动部署LNMP环境(CentOS 7)
手动部署LNMP环境(CentOS 7) 一.修改 yum 源 [root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/e ...
- 领扣(LeetCode)合并两个有序数组 个人题解
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n. ...