Mysql条件查询、内置函数和常用函数

在SQL中,insert、update、delete和select后面都能带where子句,用于插入、修改、删除或查询指定条件的记录

SQL语句中使用where子句语法

select column_name from table_name where column_name 运算符 value
运算符描述
=等于
<>或!=不等于
>大于
<小于
>=大于等于
<=小于等于
between and选取介于两个值之间的数据范围;在Mysql中,相当于>=并且<=

在where子句中,使用and、or可以把两个或多个过滤条件结合起来

and、or运算符语法

select column_name from table_name where condition1 and 
condition2 or condition3
运算符描述
and表示左右两边的条件同时成立
or表示左右两边只要有一个条件成立

创建表、插入数据


create table employee(
	id int not null auto_increment primary key,
	name varchar(30) comment '姓名',
	sex varchar(1) comment '性别',
	salary int comment '薪资(元)'
)engine=innodb default charset=utf8;
insert into employee(name,sex,salary) values('张三','男',5500);
insert into employee(name,sex,salary) values('李洁','女',4500);
insert into employee(name,sex,salary) values('李小梅','女',4200);
insert into employee(name,sex,salary) values('欧阳辉','男',7500);
insert into employee(name,sex,salary) values('李芳','女',8500);
insert into employee(name,sex,salary) values('张江','男',6800);
insert into employee(name,sex,salary) values('李四','男',12000);
insert into employee(name,sex,salary) values('王五','男',3500);
insert into employee(name,sex,salary) values('马小龙','男',6000);
insert into employee(name,sex,salary) values('龙五','男',8000);
insert into employee(name,sex,salary) values('冯小芳','女',10000);
insert into employee(name,sex,salary) values('马小花','女',4000);

运算符in的使用
运算符in允许我们在where子句中过滤某个字段的多个值

where子句使用in语法

select column_name from table_name where column_name in (value1,value2,...)

运算符like的使用
在where子句中,有时候我们需要查询包含xxx字符串的所有记录,这时就需要用到运算符like

where子句使用like语法

select column_name from table_name where column_name like '%value%'

说明:

  1. like子句中的%类似于正则表达式中的*,匹配任意0个或多个字符
  2. like子句中的_匹配任意单个字符
  3. like子句中如果没有%和_,就相当于运算符=的效果

Mysql内置函数

我们通常说的Mysql函数指的是Mysql数据库提供的内置函数,包括数学函数、字符串函数、日期和时间函数、聚合函数、条件判断函数等,这些内置函数可以帮助用户更方便地处理表中的数据,简化用户的操作

函数描述
数学函数如ABS、SORT、MOD、SIN、COS、TAN、COT等
字符串函数如LENGTH、LOWER、UPPER、TRIM(去空格)、SUBSTRING(截取)等
日期和时间函数NOW、CURDATE、CURTIME、SYSDATE、DATE_FORMAT、TEAR、MONTH、WEEK等
聚合函数COUNTSUMAVGMINMAX
条件判断函数IFIFNULLCASE WHEN
系统信息函数VERSION、DATEBASE、USER等
加密函数MD5、SHA1、SHA2等

函数now()
函数now()用于返回当前的日期和时间

应用场景:
在实际应用中,大多数业务表都会带一个创建时间create_time字段,用于记录每一条数据的产生时间。在向表中插入数据时,就可以在insert语句中使用now()函数

示例:

insert into user(id,name,create_time) values(1,'zhangsan',now());

函数date_format()
函数date_format()用于指定的格式显示日期/时间

应用场景:
在实际应用中,一般会按照标准格式存储日期/时间,如2019-12-13 14:15:16.在查询使用数据时,往往又会有不同的格式要求,这时就需要使用

date_format()函数进行格式转换

示例:

select name,dat_format(birthday,'%Y/%m/%d') from user;

聚合函数
聚合函数是对一组值进行计算,并返回单个值。
Mysql常用的聚合函数有5个,分别是countsumavgminmax

函数描述
count返回符合条件的记录总数
sum返回指定列的总和,忽略空值
avg返回指定列的平均值,忽略值
min返回指定列的最小值,忽略空值
max返回指定列的最大值,忽略空值

函数ifnull()
函数ifnull()用于处理NULL值,ifnull(v1,v2),如果v1的值不为NULL,则返回v1,否则返回v2。

case when
case when是流程控制语句,可以在SQL语句中使用case when来获取更加准确和直接的结果。SQL中的case when类似于编程语言中的if else或者switch。

case when的语法有2种

1. case [col_name] when [value1] then [result1]...else [default] end
2. case when [expr] then [result1]...else[default] end
select 
	id,
	name,
	case sex
		when '男' then 'F'
		when '女' then 'M'
		else ''
	end as sex,
	salary
from employee;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值