前言

上篇已经讲过数据库与表相关的一些相关的操作了,如果你对这部分依旧不太熟悉建议先去看看

传送门:【MySQL】逻辑库与数据表相关操作.

这篇就来说一下数据库中表的基本查询,看见是基本查询,就知道肯定有高级查询,这个我们下一篇来讲。我们把数据库的查询分为两部分来讲,它的重要性就不言而喻了,很多数据库都是多查询,少修改的,查询也是使用数据库的一项基本技能,所以大家要多多练习,接下来正文开始。

目录

  • 前言
  • 建表
  • 基本查询
    • 普通查询
    • 分页查询
    • 选择查询
  • 数据排序
  • 执行顺序
  • 结语

建表

大家也许会觉得很奇怪,你标题不是写的数据库查询吗?为什么第一部分是建表呢?

因为我们查询就是对于数据库中的表进行查询的,没有表我们怎么进行查询呢?所以我们第一部分是建表方便后面示例,这样大家理解起来就方便了,正好我们也可以复习一下上一篇学到的知识

建表过程:

create  table t_student(id       INT PRIMARY KEY NOT NULL,name  VARCHAR(4) NOT NULL,age   INT NOT NULL,sex   CHAR(1) NOT NULL,class VARCHAR(10) ,birthplace  varchar(10)
);
INSERT INTO t_student VALUES('88201','张三',18,'男','软件211','浙江杭州');
INSERT INTO t_student VALUES('88202','李四',19,'男','软件212','河南郑州');
INSERT INTO t_student VALUES('88203','小红',18,'女','计算机211','北京');
INSERT INTO t_student VALUES('88204','王五',16,'男','软件214','浙江杭州');
INSERT INTO t_student VALUES('88205','小蓝',17,'女','计算机212','江苏常州');
INSERT INTO t_student VALUES('88206','小王',20,'男','软件211','北京');
INSERT INTO t_student VALUES('88207','张四',18,'男','计算机211','江苏常州');

建表结果:

基本查询

表已经建好了,接下来我们正式开始学习数据库的基本查询

普通查询

普通查询就是查询出表中有哪些信息,格式为:

SELECT *FROM 表名;

示例:

SELECT * FROM t_student;

输出:

同时我们还可以查询某些字段的信息,如下:
示例:

SELECT name,class,birthplace FROM t_student;

输出:

如果我们要查询每个人年龄加10岁的年龄我们可以这样

SELECT name,age+10 FROM t_student;

输出:

但是这样查询出来的信息,看起来可能不太舒服,那么我们可以重新弄命名,如下:

SELECT name,age+10 AS new_age FROM t_student;

输出:

如果我们查询出来的信息里面有重复的数据,那我们可以在SELECT后面加上DISTINCT这个关键字,可以达到去重效果,大家可以自己试试效果。

但是请记住这是信息查询并不会改变原始表里面的信息

分页查询

如果你需要查询特定的几条连续数据,我们可以对数据进行分页,这里用到关键字LIMIT,具体格式为

SELECT 字段名1,字段名2,… FROM 表名 LIMIT  分页起始页,每页显示条数;

这里要注意默认第一条数据的起始页为0

示例:

SELECT * FROM t_student LIMIT 2,2;

输出:

如果分页起始页被省略了,那么默认为0,即:从第一条数据开始

选择查询

我们在进行数据库查询的时候往往是需要查出符合要求的一些数据,而不是所有数据,在这个时候我们就得用到选择查询里面的WHERE关键字了,格式如下:

SELECT  字段名1,字段名2,… FROM 表名 WHERE 条件表达式

示例:

查询学生表里面年龄大于18岁的人有哪些?

SELECT name,age FROM t_student WHERE age>18;

输出:

为了满足多种查询场所,往往我们在查询时候的条件表达式不止一个,表达式之间的关系也是多变的。在条件查询时常用到的关键字还有:

IN 关键字:用于判断某个子弹的值是是否在指定集合中。
AND关键字:在多条件查询时满足所有条件的数据
OR关键字:满足任意一个条件的数据
NOT关键字:满足这个条件取反的数据
BETWEEN AND关键字:查询区间值,判断某个字段值是否在指定的范围内。
DISTINCT:查询会过滤表中重复的数据
LIKE 关键字:模糊查询,与%和_联用

  1. 百分号(%)通配符:匹配任意长度的字符串,包括空字符,如:“%c”匹配以字符C开头的。“w%g”表示以w开头g结尾的字符串“可,”%C%“表示出现c的字符串。
  2. 下划线( _ )通配符:只匹配单个 字符,需要匹配多个需要使用多个下划线通配符。
  3. 加入字符串中出现了_或%则用\进行转义。如“_“和”%”。

示例:查询出来自软件211班级且出生地不在北京的成年人

SELECT id,name,age,birthplace
FROM t_student
WHERE age>=18 AND class="软件211" AND NOT birthplace="北京";

输出:

数据排序

我们在查询时候往往需要查出来的数据,是有一定顺序的,这样我们观察起来更加方便,这时候我们就需要使用到关键字 ORDER BY 了,格式如下:

SELECT  字段名1,字段名2,… FROM 表名 ORDER BY 排序依据字段 ASC|DESC;

注:
ASC:顺序,正序;数值 :递增,字母:自然顺序(a-z),可省略
DESC:倒序 ,反序 ;数值:递减, 字母:自然反序,不可省略

示例:

SELECT * FROM t_student ORDER BY age;

输出:

执行顺序

学习完了基本查询,是不是大家就开始迷茫,他们的书写顺序还有执行顺序了啊,首先这个肯定不是按顺序执行的,正解如下:

首先在SQL语句中空格与换行对语法没有破坏,所以在书写的时候如果过长我们可以把它们分行书写,看起来也比较舒服,可读性高。

书写顺序是:

SELECT id,name,age,birthplace
FROM t_student
WHERE age>=18 AND class="软件211" AND NOT birthplace="北京"
ORDER BY age
LIMIT 2;

执行顺序为:

FROM->WHERE->SELECT->ORDER BY->LIMIT

结语

这些仅仅是数据库的基本查询,下一篇我们来总结高级查询,想要熟练掌握这些东西还是得多多动手操作,不要以为自己懂了就不动了。

欢迎关注本专栏,持续更新…

【MySQL】数据库的基本查询相关推荐

  1. 关联查询mysql_《MySQL数据库》关联查询

    原标题:<MySQL数据库>关联查询 一.关联查询 1.概念 在查询数据时,所需要的数据不只在一张表中,可能在两张或多张表中.这个时候,需要同时操作这些表来查询数据,即关联查询. 关联查询 ...

  2. mysql分页查询出租房屋信息_分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)...

    分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目时一个简单的运用eclipse ...

  3. mysql数据库in函数查询是否走索引

    mysql数据库in函数查询是否走索引? IN 通常是走索引的,当IN后面的数据在数据表中超过30%的匹配时是全表的扫描,不会走索引,因此IN走不走索引与后面的数据量有关系! 昨天恰好在工作中遇到了这 ...

  4. mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法

    mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法: select a.nodeId,a.cpuCharge-b.cpuCharge cpuCharge, a.chargeTime fr ...

  5. mysql数据关联查询_《MySQL数据库》关联查询

    原标题:<MySQL数据库>关联查询 一.关联查询 1.概念 在查询数据时,所需要的数据不只在一张表中,可能在两张或多张表中.这个时候,需要同时操作这些表来查询数据,即关联查询. 关联查询 ...

  6. Mysql数据库的条件查询(聚合函数、分组查询)

    Mysql数据库的条件查询 一.聚合函数 1.聚合函数的介绍 聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来使用,用于统计和计算分组数据. 常用的聚合函数: ...

  7. Mysql数据库入门---数据查询常用方法(包含条件查询和排序查询)

    Mysql数据库入门-数据查询 Author:qyan.li Date:2022.2.21 文章目录 ``Mysql``数据库入门---数据查询 1. ``select``关键字 2.条件查询 3.排 ...

  8. mysql数据库多表查询(内连接,外连接,自连接,子查询及案例分析)

    mysql数据库多表查询 之前接触的项目或者自己涉及的部分对于多表查询的使用都比较的少,常常是自己更具案例进行学习,最近见到的比较的多,所以今天就好好的总结一下,为下一步学习做准备! 1.多表查询关系 ...

  9. MySQL数据库多表查询

    MySQL数据库多表查询 前言 在之前的文章MySQL数据库之SQL入门中,我们讲到了四类SQL中的DQL(数据库查询语言,用于查询表中数据),但是我仅仅用DQL去查询一张表中数据,而在实际的应用中, ...

  10. MySQL数据库中如何查询分组后每组中的最后一条记录

    MySQL数据库中如何查询分组后每组中的最后一条记录 方法一 select * from messages where id in (select max(id)fom messages group ...

最新文章

  1. git解决pre-commit hook failed的问题
  2. SQL函数类的操作,增加,查询
  3. excel调用python编程-使用Python对Excel进行读写操作
  4. PMCAFF | same产品分析报告:陌生人社交始终离不开性和脸
  5. 逆向入门--代码段的介绍
  6. leetcode 135. Candy | 135. 分发糖果(原创图文详解,Java)
  7. 使用ABAP操作office Word文档
  8. windows命令行启动常用工具
  9. postgresql:解决in的效率问题
  10. BZOJ 2176 Strange string 最小表示法
  11. FAT32/exFAT/NTFS,三种U盘格式的区别
  12. google 搜索跳转至yahoo
  13. Unity URP贴花系统的简单使用
  14. 怎样在 Linux 命令行中切换用户
  15. 外贸找客户软件:Email Extractor v7.2
  16. 宏基因组分析-基于binning
  17. synchronized批量重偏向与批量撤销
  18. java 复制excel_PoiUtil.java 用于excel间sheet复制
  19. Caravan Robbers CF Gym - 100134C
  20. 罗杨美慧 20190912-2 命令行

热门文章

  1. gstreamer 的 elements
  2. 【C语言】求100到999之内的水仙花数
  3. 各个频段不同的音色和音感
  4. 分享一些最新的嵌入式开源项目
  5. 嵌入式项目实战——基于QT的视频监控系统设计(一)
  6. linux 文件颜色设置,Linux 怎么修改配置文件字体颜色
  7. 嵌入式工具 | 几款实用的C/C++在线编译器
  8. android进阶之光!一次哔哩哔哩面试经历,灵魂拷问
  9. 如何用TextOut输出非字符串型变量
  10. WIN7系统怎样对硬盘进行分区