Mysql DQL 数据查询语言

查询

 select columnName1,.... from <tableName>;
 select * from <tableName>;

where子句

条件

 =	-- 等于
 !=,<>	-- 不等于
 >	-- 大于
 <	-- 小于
 >= ,<=	-- 大于等于,小于等于
 between and	-- 区间查询

多条件

 where and/or/not

like子句

image

对查询结果的处理

计算列

 select stu_name,2021-stu_age from;	-- 用2021减去年龄,用stu_age列名显示

字段别名

 select columnName as a from <tableName>;	-- 把columnName 按a显示

消除重复行

 select distinct columnName from <tableName>;

排序order by

 select * from <tableName> where columnName>5 order by columnName;
 desc	-- 降序 
 asc	-- 升序
 select * from <tableName> where columnName1 >5 order by age dese,gender asc;	-- 将结果先按年龄降序排列,再按性别升序

聚合函数

 count()	-- 统计满足条件的指定字段值的个数 
	 select count(stu_name) from <tableName> where stu_age>5;
 max()	-- 查询满足调节列的最大值
	 select max(stu_age) from <tableName> where stu_gender='女';
 min()	-- 最小值
	 select min(stu_age) from <tableName> where stu_gender='女';
 sum()	-- 查询满足调节的记录中指定列值的总和
	 select sum(stu_age) from stus;
 avg()	-- 求平均值
	 select avg(stu_age) from stus where stu_gender='男';	-- 查询所有男的年龄平均值

日期函数

 now() sysdate()	-- 现在时间  系统时间
 insert into stus(date) values(now()) ;	-- date必须是日期类型(type=datetime)yyyy,MM,dd hh:mm:ss

字符串函数

 concat(column1,column2,..)	-- 通过SQL指令对字符串处理,拼接多列

image

 upper(column)	-- 将字段的值串变为大写
	 select upper(column) from <tableName>; 
 lower(column)	-- 将字段的值变为小写
	 select lower(column) from <tableName>;
 substring(column,start,len)	-- 从指定列中截取部分显示 start从1开始

image

分组查询

 select 分组字段/聚合函数 from 表名 [where 条件] group by 分组列名;	-- select后使用*显示对查询的结果分析之后,显示每组第一条记录(这种显示通常是无意义的);select后通常显示分组字段和聚合函数(对分组后的数据进行统计、求和、平均值等)

image

image

分页查询

 limit 
	 select ... from... where ... limit param1,param2; -- limit 0,3 表示查询前三个数据limit3,3表示查询第四条数据到第六条

image

posted @ 2024-05-20 18:53  ht7714  阅读(9)  评论(0)    收藏  举报