查询数据

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数据库之单表数据查询的更多相关文章

  1. MySQL数据库之单表查询中关键字的执行顺序

    目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...

  2. MySQL数据库语法-单表查询练习

    MySQL数据库语法-单表查询练习 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是对聚合函数和分组的练习. 一.数据表和测试数据准备 /* @author :yinz ...

  3. MySQL单表数据查询(DQL)

    数据准备工作: CREATE TABLE student( sid INT PRIMARY KEY AUTO_INCREMENT, sname ), age TINYINT, city ), scor ...

  4. 基于MySql数据库的单表与多表联合查询

    这里以学生 班级 身份证 以及课程为例 1,启动MySql数据库  开启服务 2.1.0新建一张班级表 备注:CHARSET = UTF8 (指定编码格式为utf8 防止中文乱码) /*班级表*/ C ...

  5. mysql数据库之单表查询多表查询

    单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex e ...

  6. mysql数据库之单表查询

    单标查询 单表查询语句 关键字执行的优先级 简单查询 where约束 group by 聚合函数 HAVING过滤 order by 查询排序 LIMIT限制查询的记录数 使用正则表达式查询 单表查询 ...

  7. 黑马MySQL数据库学习day02 表数据CRUD 约束CRUD

    /* 基础查询练习: 1.字段列表查询 当查询全部字段时,一种简便方式,使用*代替全部字段(企业中不推荐使用) 2.去除重复行 DISTINCT,注意修饰的是行,也就是整个字段列表,而不是单个字段. ...

  8. 向MySql数据库导入excel表数据

    最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...

  9. java对mysql数据库进行单表筛选备份、还原操作

    最近在做的一个项目需要对mysql数据库中的单个表格进行备份 其中,一部分表格需要进行筛选备份(例如对最近插入的1000条记录进行备份) 思路:java调用系统命令完成备份操作 假设现在有数据库tes ...

随机推荐

  1. 「Luogu 1349」广义斐波那契数列

    更好的阅读体验 Portal Portal1: Luogu Description 广义的斐波那契数列是指形如\(an=p \times a_{n-1}+q \times a_{n-2}\)的数列.今 ...

  2. python入门递归之汉诺塔

    def hani(n,x,y,z): if n == 1 : print(x ,"-->",z) else: hani(n-1,x,z,y)#将n-1个盘子从x移到y pri ...

  3. PHP str_replace的用法

    PHP str_replace的用法 1 替换单个字符<pre><?phpecho str_replace("world","Shanghai" ...

  4. mui 底部导航栏

    mui 底部导航栏 <nav class="mui-bar mui-bar-tab " id="nav"> <a class="mu ...

  5. 构思一个在windows下仿objc基于动画层ui编程的ui引擎

    用c/c++编程有些年了,十个指头可以数齐,在涉入iOS objc开发后,有种无比舒服的感觉,尤其在UI开发上. 在QuartzCore.framework下动画和透明窗口等许多效果的事都变得那么方便 ...

  6. websocket可以做什么

    本篇介绍的是websocket,但是并不介绍它的协议格式,一般能看明白http头也能明白websocket在协议切换前的协商,能看明白IP报头也就对websocket在协议切换后通讯格式不陌生.web ...

  7. 图文详解基于角色的权限控制模型RBAC

    我们开发一个系统,必然面临权限控制的问题,即不同的用户具有不同的访问.操作.数据权限.形成理论的权限控制模型有:自主访问控制(DAC: Discretionary Access Control).强制 ...

  8. [Part 4] 在Windows 10上源码编译PCL 1.8.1支持VTK和QT,可视化三维点云

    本文首发于个人博客https://kezunlin.me/post/2d809f92/,欢迎阅读! Part-4: Compile pcl with vtk qt5 support from sour ...

  9. electron——dialog(实现导出excel)

    背景 前端点击导出excel按钮后,请求完需要导出的数据后发送给主进程electron,由主进程保存到本地 dialog 显示用于打开和保存文件.警报等的本机系统对话框. dialog 模块提供了ap ...

  10. 百度杯 十一月 的一道pwn题复现

    拿到题后,就直接开鲁.. /ctf/pwn# checksec pwnme [*] '/ctf/pwn/pwnme' Arch: amd64--little RELRO: Full RELRO Sta ...