ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL语句(一)

2021-01-19 20:02:13  阅读:342  来源: 互联网

标签:语句 -- 表名 查询 字段 MySQL where select


MySQL语句(一)

@

目录

DQL(数据查询语言)

DQL:数据表记录的查询,关键字select

1.无条件查询

-- 查询指定数据表中指定列数据
select 字段1,字段2,.... from 表名;
-- 查询所有字段时,字段名可以用 * 代替,查询具体字段时,需要声明字段名
select * from 表名;
select(选定):查询关键字,用来指定查询的字段
from(来自):表示从指定表中获取数据

别名查询

-- 查询时给指定列或者表取别名,使用as关键字
select 字段1 as 别名,字段2 as 别名 from 表名;
select 字段1 as 别名,字段2 as 别名 from 表名 as 表别名;

AS关键字是给字段,数据表,以及查询结果取别名,也可以省略不写

select name as '姓名',age as '年龄' from student;
--省略as关键字(中文引号也可以省略)
select name as '姓名',age '年龄' from student;

字段去重

--查询指定列并且返回结果是不重复数据
select distinct 字段1,字段2,... from 表名;
--当distinct后跟多个字段时,必须这些字段值都相同,才会去重

查询结果简单运算

select 字段1[+ - * / %]字段2/固定值 from 表名;
--查询test表中id,name列与math+englis的和并取别名'总成绩'
select id,name,math+english as 总成绩 from test;

2.条件查询

比较运算符和逻辑运算符

	1.比较运算符:
		大于: >
		小于: <
		小于等于: <=
		大于等于: >=
		等于: =
		不等于: <> , !=
--查询test表中id大于3的所有数据
select * from test where id > 3;  
	2.逻辑运算符
		and(&&):多个条件同时满足 一假即假 开发中用的最多个
		or(||):多个条件其中一个满足 一真即真
		not(!):不满足 取反
--查询test表中id大于3且年龄大于35的所有数据
select * from test where id > 3 and age >35; 

in,between,and关键字

in关键字:括号里面的每个数据都作为一次查询条件,只要满足的就会显示;
select * from 表名 where 字段 in(值1,值2,值3,.....);
between and范围查询
--表示在值1到值2范围内,包含边界值(值1要小于值2)
between 值1 and 值2;
--语法格式
select * from 表名 where 字段 between 值1 and 值2;

3.模糊查询

通配符

%:表示任意个字符

_:表示一个字符

like(就像)关键字
--语法格式
select * from 表名 where 字段 like '通配符字符串';
name like '%张%'; --表示只要有张字就会满足
name like '张_'   --表示名字姓张并且两字的;

4.查询排序

order by:将查询结果进行排序
select 字段1,字段2,字段3,... from 表名 where 条件语句 order by 字段 [asc/desc];
asc:升序排序(语法默认,可以省略)
desc:降序排序
--单列排序
select * from test order by id desc;
多列排序
	1.排列规则:
	先按第一个字段排序,若第一个字段相同就依次按其他字段排序,若第一个字段不同,其他字段就不参与排序

5.聚合函数

count:在根据指定的列统计的时候,**如果这一列中有null的行,该行不会被统计在其中**。按照列去统计有多少行数据。count(字段)
sum(): 计算指定列的数值和,如果不是数值类型,那么计算结果为0
max(): 计算指定列的最大值
min(): 计算指定列的最小值
avg(): 计算指定列的平均值
SELECT 聚合函数(字段) FROM 表名 where 条件;

6.分组查询

--按照某一列或者某几列,把相同的数据,进行合并输出(默认输出每组第一个记录数据)
select * from 表名 group by 字段1,字段2,....;
--分组后数据使用having过滤
select * from 表名 group by 字段 having 条件;

where与having区别:

1.where用于group by之前的数据过滤,having用于之后;

2.where后不能使用聚合函数,having可以

3.where可以单独使用,having建议和group by联用

标签:语句,--,表名,查询,字段,MySQL,where,select
来源: https://www.cnblogs.com/sunplum/p/14299702.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有