MySQL 使用DQL命令查询数据的实现方法

论坛 期权论坛 脚本     
niminba   2021-5-23 04:17   680   0

本篇文章博主将带大家一起学习MySQL中常用的数据查询语言。

DQL(Data Query Language 数据查询语言)

SELECT 语法

SELECT [ALL | DISTINCT]
{ * | table.* | [table.field1 [as alias1][,table.field2] [as alias2][,...]]}
FROM table_name [as table_alias]
[left | out | inner join table_name2] #联合查询
[WHERE ...]   #指定结果需要满足的条件
[GROUP BY ...]   #指定结果按照哪几个字段来分组
[HAVING ...]   #过滤分组的记录必须满足的次要条件
[ODER BY ...]   #指定查询记录按一个或者多个条件排序
[LIMIT [偏移量,返回结果记录数]; #指定查询的记录从哪条至哪条

基本查询语句&AS

以下例子用student表中的数据。

查询表中所有数据列结果,采用 “*” 符号,效率低

select * from student;

可指定查询列,效率高

select StudentName,Phone from student;

 AS 子句的作用和用法

注意:AS 可省略不写

(1)可给数据列取一个新别名  

select StudentName as '学生姓名' from student;

(2)给表取别名

select stu.address from student as stu;

(3)可把计算或总结的结果用另一个新名称来代替

SELECT Phone +1 AS Tel FROM student;

DISTINCT 关键字

作用:去掉SELECT查询出来的重复值(当所有返回值都相同时,只返回一条记录)

语法:

SELECT DISTINCT 字段名1,字段名2,... from 表名

注意:ALL 关键字是默认的,返回所有记录,与之相反

当过滤多列重复值时,只有当选择过滤的列都存在重复值才进行过滤

SELECT DISTINCT StudentNo,address from student;

过滤单列:查询学生表中的地址

SELECT DISTINCT address from student;

SQL语句中的表达式

SELECT VERSION(),100*3 as 乘积; #返回Mysql 版本和计算结果
 
SELECT NOW() '当前时间'; #返回当前时间

避免SQL返回结果中包含“.” ,“*”,和括号等干扰开发语言程序

SELECT VERSION() as MySQL_V,12.3*100 as expression;
#返回结果不会与后台开发程序发生混淆

拼接 CONCAT

SELECT CONCAT(studentName,'@.com') as Email from student;

数值类型相加

select StudentNo+100 from student;

比较运算符&通配符

where条件语句:用于检索数据表中符合条件的记录

搜索条件可以由一个或多个逻辑表达式组成,结果一般为真或假

搜索条件的组成:逻辑操作符、比较操作符

#where 条件语句
select * from student where address='四川';
 
#查询学生表中电话号码不为空的学员姓名
select StudentName from student where Phone is not null;
 
#查询学生表中电话号码为空的学员姓名
select StudentName from student where Phone is null;
 
#查询刚删掉的数据——空值
select StudentName from student where Phone = '';
 
# BETWEEN AND 适用于时间范围

逻辑操作符

比较操作符

使用 LIKE 关键字进行樠4)M1 P =U9PI=4ЁI=U@ d4(е聍顽4(Y%9"jjv4(2'rv"rv!Y%94(4)M1 PI=UA} =9 PM =U9PI=4ЁI=U@ d!Y%9 =U9P4(е聍顽4(屔U9%=8U9%=84(4(1U9%=8B#3n3V6U9%=810B#&r'V6?#^_V&74("_VB3^k*Rg4(E1uM1 PI=4U9%=8M1 PI=44(tQM1 PЁ4(4(#J04(4)M1 PI=4ЁU9%=8M1 PI=44)M1 PI=4ЁU9%=810M1 PI=44(е聍顽ň4(屔~%MQLSP4(a%MQL9=Pa%MQLC~v"C/"gb"~jzs"gbzp4(C~vr|cr4(4)M1 P%I=4)]!Ia%MQL4(M1 PI=4]!I%4("X4(4)M1 P%I=4)]!I9=Pa%MQL4(M1 PI=4]!I%4(е聍顽4(C~v!7cr$4(4)M1 P%I=4)]!Ia%MQL4(M1 PI=4]!I%4("X4(4)M1 P%I=4)]!I9=Pa%MQL4(M1 PI=4]!I%4(е聍顽ň噄хɑ呄4(屔~4(9dZvC~?vg&3"~4)10ZvC~&r'vg&3"~4( vcrй&3"~4(4)M1 PI=44)]!I%4(M1 P%I=44(е聍顽兄4(7vr%й7&3"~4(4)M1 PI=44)]!I%4(M1 P%I=44(е聍顽4(brZj3ro疒j惚r'&*rokkR2

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP