MySQL数据库查询
Categories:
在日常的开发工作中,查询语句也是最常用的,因为表在一开始设计的时候已经确定了,后期很少去修改表结构,也就意味着插入数据的方式也是确定的
但数据的展示方式却千奇百怪,用户端和 admin 管理端可能需要各种各样的数据,那 MySQL 就要提供最接近需求的数据,这样可以节省 Java 程序对数据的转换处理,也就相应提升了程序的性能。
SELECT
语句可以灵活组织不同表的数据, 提供最接近需求的组合
提示: 接下来的操作默认是单库操作 也就是说需要先选中某个数据库, 快去选择吧
查询单个字段
记录 我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,就像在通讯录数据库中某个人全部的信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。
字段 字段是比记录更小的单位,字段集合组成记录,每个字段描述文献的某一特征,即数据项,并有唯一的供计算机识别的字段标识符。
SELECT 字段名 FROM 表名;
别名
查出来的字段名字太长, 先更换名字
可以使用 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的数据引擎有哪些?
区别是什么?