栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java MySQL】 006 DQL查询数据

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java MySQL】 006 DQL查询数据

DQL(Data Query LANGUAGE:数据查询语言)

所有的查询操作都用它:Select;简单的查询,复杂的查询它都能做;数据库中最核心的语言,最重要的语句;使用频率最高的语句。 指定查询字段

--查询全部的学生	SELECT 字段 FROM 表
SELECt * FROM student

--查询指定字段
SELECt `StudentNo`,`StudentName` FROM student

--别名,给结果起一个名字	AS	可以给字段起别名,也可以给表起别名
SELECt `StudentNo` AS 学号,`StudentName` AS 学生姓名 FROM student AS s

--函数 Concat(a,b)
SELECt CONCAT('姓名:',StudentName) AS 新名字 FROM student

有的时候,列的名字不是那么见名知意,所以我们起别名 AS…


去重(distinct)

作用:去除SELECt查询出来的结果中重复的数据,重复的数据只显示一条

--查询一下有哪些同学参加了考试,成绩
SELECT * FROM result	--查询全部的考试成绩
SELECt `StudentNo` FROM result -- 查询有哪些同学参加了考试

--发现重复数据,去重
SELECt DISTINCT `StudentNo` FROM result

其他查询语句
SELECt VERSION()	--查询系统版本(函数)
SELECT 100*3-1 AS 计算结果	--用来计算(表达式)
SELECT @@auto_increment_increment 	--查询自增的步长(变量)

--学员考试成绩 +1分 查看
SELECT `StudentNo`,`StudentResult`+1 AS '提分后' FROM result
模糊查询(比较运算符)
运算符语法描述
IS NULLA is null如果操作符为null,结果为真
IS NOT NULLA is not null如果操作符不为null,结果为真
BETWEENA between B and C若A在B和C之间,结果为真
LIKEA like BSQL匹配,如果A匹配B,结果为真
INA in (A1,A2,…)假设A在A1、A2…其中的某一个值中,结果为真

关于LIKE:%(代表0到任意个字符), _(代表一个字符)


联表查询

操作描述
Inner join在两张表进行连接查询时,只保留两张表中完全匹配的结果集
left join会从左表中返回所有的值,即使右表中没有匹配
right join会从右表中返回所有的值,即使左表中没有匹配

自连接

自己的表和自己的表连接

核心:一张表拆为两张一样的表即可


SELECt完整语法
SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}
FROM table_name [as table_alias]
	[left | right | inner join table_name2]	--联合查询
	[WHERe ...]	--指定结果需满足的条件
	[GROUP BY ...]	--指定结果按照哪几个字段来分组
	[HAVINg]	--过滤分组的记录必须满足的次要条件
	[ORDER BY]	--指定查询记录按一个或多个条件排序
	[LIMIT {[offset,]row_count | row_countOFFSET offset}];	--指定查询的记录从哪条至哪条

注意:[ ]表示可选,{ }表示必选


分页和排序

分页(limit):

为什么要分页?

缓解数据库压力给人更好的浏览体验

语法:

limit  起始值,页面大小

排序(order by):

升序 ASC
降序 DESC


子查询

where()

本质:在where语句中嵌套一个子查询语句


MySQL常用函数
-- 数学运算
SELECT ABS(-8)	--绝对值
SELECT CEILING(9.6)	--向上取整
SELECT FLOOR(9.6)	--向下取整
SELECT RAND()	--返回一个0-1之间的随机数
SELECT SIGN(10)	--判断一个数的符号	0 返回0,复数返回-1,正数返回1

--字符串操作
SELECT CHAR_LENGTH('AB')	--字符串长度
SELECT CONCAT('A','+','B')	--拼接字符串
SELECT INSERT('HELLO',1,2,'XXX')	--从某个位置开始替换某个长度
SELECT LOWER('ABcD')	--转小写
SELECT UPPER('ABcD')	--转大写
SELECT INSTR('hello','e')	--返回第一次出现的子串的索引
SELECT REPLACE('abc','a','d')	--替换出现的指定字符串
SELECT SUBSTR('hello',2,3)	--返回指定的子字符串
SELECT REVERSE('olleh')	--反转

--时间和日期函数
SELECT CURRENT_DATE()	--获取当前日期
SELECT NOW()	--获取当前时间
SELECT LOCALTIME()	--获取本地时间
SELECT SYSDATE()	--获取系统时间

聚合函数
COUNT()	--计数
SUM()	--求和
AVG()	--平均值
MAX()	--最大值
MIN()	--最小值
...

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号