介绍
怎么在MySQL中使用DQL命令查询数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强>选择语法强>
SELECT (| ALL 不同) {,*,|,表。*,|,[table.field1 [as alias1] [, table.field2], [as alias2] […]]} 得到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 现在(),& # 39;当前时间& # 39;,,#返回当前时间
避免SQL返回结果中包含”。”,“*”,和括号等干扰开发语言程序
SELECT 版本(),as MySQL_V, 12.3 * 100, as 表达; #返回结果不会与后台开发程序发生混淆
拼接,CONCAT
SELECT CONCAT (studentName & # 39; @.com& # 39;), as Email 得到学生;
数值类型相加
SELECT StudentNo + 100,得到学生;
<强>比较运算符和通配符强>
的条件语句:用于检索数据表中符合条件的记录
搜索条件可以由一个或多个逻辑表达式组成,结果一般为真或假
搜索条件的组成:逻辑操作符,比较操作符
# where 条件语句 select *,得到student where 地址=& # 39;四川& # 39;; , #查询学生表中电话号码不为空的学员姓名 select StudentName 得到student where  Phone is not 零; , #查询学生表中电话号码为空的学员姓名 select StudentName 得到student where  Phone is 零; , #查询刚删掉的数据,空值 select StudentName 得到student where  Phone =, & # 39; & # 39;; , #,结构、以及适用于时间范围
<强>逻辑操作符强>