mysql中的关键字,语法以及使用场景

在这里插入图片描述

1.select

查找数据

select * from 表名

2.distinct

作用:合并相同的项,比如一张表里存在很多个时间点time_str,一个时间点会对应很多任务信息,我们要查找有多少时间点,就可以用到该关键字去重。

比如:查询当天任务的时间点[time_click]和字符串[time_str],并按照创建时间升序排列:

select distinct time_click,time_str from t_task where TO_DAYS(create_time) = TO_DAYS(NOW()) order by time_str asc;

3.limit

作用:返回表中指定行范围的数据

select task_id from t_task limit 5; --返回前5行的数据

select task_id from t_task limit 5,5; --返回从5行开始的5行。

关键字limit在分页中应用较多,假设一个业务场景,每页显示10条数据:
前端会传page:1,pageSize:10

warnMapper.get((page.getPage() - 1) * page.getPage_size(), page.getPage_size());

@Select("select * from (select * from t_warn where is_delete=0 ORDER BY create_time desc limit #{page},#{page_size}) as aa")
public List<WarnEntity> get(@Param("page")int page, @Param("page_size")int page_size);

4.order by

作用:对所查询的列进行降序排列

select task_id from t_task order by create_time desc;

也可以对多列进行排序:

select * from t_task order by task_price,task_name;   --这样只有当task_price有相同的值时候,才会按task_name排序

order by 和 limit 组合可以查询最大值

select task_price from products order by task_price DESC limit 1;

order by 和 where 语句连着使用时要放在where后面。

5.and 与or

应用场景:返回任务价格大于10元,且由1002或1003生产的任务

select * from t_task where (task_id=1002 or task_id=1003) and task_price>=10;

6.IN 和 NOT IN

用 IN 可以代替 or

应用场景:假设1002和1003生产的商品

select * from t_task where task_id = 1002 or task_id = 1003; -- or方法

select * from t_task where task_id in (1002,1003); -- in方法
select * from t_task where task_id not in (1002,1003); -- not in方法查询不是1002 和 1003 生产的任务

7. like 关键字

作用:进行一些模糊匹配,通常和一些通配符进行搭配查找

select * from t_task where task_name like 'jet%' --匹配以jet开头的字符

select * from t_task where task_name like '%dcb%' --匹配任何位置包含dcb字符任务信息

select * from t_task where task_name like '_jet' -- _匹配一个字符

select * from t_task where task_name like '[jdk]%';  --匹配以 j , d , k ,开头的任务

select * from t_task where task_name like '[!jdk]%';  --匹配不以 j , d , k ,开头的任务

8.update 关键字

作用:根据一些条件更新数据库中的值

update t_task set task_status = 2 where task_id = 100;  --修改商品名称为jet商品价格

9.union 关键字

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT
语句中的列的顺序必须相同。

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

UNION 不能用于列出两个表中所有的城市。如果一些客户和供应商来自同一个城市,每个城市只会列出一次。UNION 只会选取不同的值。请使用
UNION ALL 来选取重复的值!

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值