MySQL数据库查询

在日常的开发工作中,查询语句也是最常用的

在日常的开发工作中,查询语句也是最常用的,因为表在一开始设计的时候已经确定了,后期很少去修改表结构,也就意味着插入数据的方式也是确定的

但数据的展示方式却千奇百怪,用户端和 admin 管理端可能需要各种各样的数据,那 MySQL 就要提供最接近需求的数据,这样可以节省 Java 程序对数据的转换处理,也就相应提升了程序的性能。

SELECT 语句可以灵活组织不同表的数据, 提供最接近需求的组合

提示: 接下来的操作默认是单库操作 也就是说需要先选中某个数据库, 快去选择吧

查询单个字段

记录 我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,就像在通讯录数据库中某个人全部的信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。

字段 字段是比记录更小的单位,字段集合组成记录,每个字段描述文献的某一特征,即数据项,并有唯一的供计算机识别的字段标识符

SELECT 字段名 FROM 表名;

image.png

别名

查出来的字段名字太长, 先更换名字 可以使用 AS 关键字,格式如下所示

SELECT 字段名 AS 别名 FROM 表名;

这通常会在多表进行联合查询或者 Java 程序端和 MySQL 表字段不一致时使用。

比如说,Java 程序端的字段名是 articleTitle,那我们就可以使用别名来解决这个问题。

SELECT title AS articleTitle FROM article;

查询多个字段

有时候我们需要同时拿到多个字段

SELECT 字段1, 字段2, 字段3 FROM 表名;

查询所有字段

了解 通配符

SELECT * FROM 表名;

查询结果去重

有可能多个记录会有相同的字段值, 这很正常 懒得一个个分辨可以去重 使用 DISTINCT 关键字进行查询

SELECT DISTINCT 字段名 FROM 表名;

查询结果排序

当结果集中需要排序时,可以使用 ORDER BY 关键字进行查询,格式如下所示:

SELECT 字段名 FROM 表名 ORDER BY 字段名 [ASC|DESC];

查询结果限制条数

我们只想要其中的1条或多条, 从哪里开始找, 查找几行结束

SELECT 字段名 FROM 表名 LIMIT 开始行,行数;

开始行也叫偏移量(OFFSET),默认是 0,可以缺省。

了解: MySQL条件查询

统计

返回记录数

SELECT COUNT(ProductID) FROM Products;

注意 此方法会忽略NULL记录!

COUNT(1)

COUNT(*)

count(1) 是计算所有记录数,1 被视作一个常数值,在每一行都存在,因此与 count(*) 基本相同。

mysql的数据引擎有哪些?

区别是什么?