mysql语句从中间查找、解决重复插入和更新、模糊查找、找最小值等问题

1、根据id查询MySQL数据库中最近n条数据,并正序排列

select * from ( select * from 表名 order by id desc limit n )id order by id asc

2、根据id查询MySQL数据库中最近的数据,从m条开始,查询n条,并正序排列

select * from (select * from 表名 order by id desc limit m,n)id order by id asc

若m为1,n为20,意思就是从数据库中倒数第二条开始,查询20条,并从上往下排列

3、根据id查询MySQL数据库中最近n条数据,并从n条数据获取最近的m条数据,并倒序排列

select * from (select * from 表名 order by id desc limit n ) as tmp limit m

4、根据id查询MySQL数据库中最近100条数据,并从100条数据获取第n到m条数据,做倒序排列

select * from (select * from 表名rder by id desc limit 100) as tmp limit n,m

5、根据MySQL数据库表中的字段,设置数据不存在时插入,存在时不插

insert into 表名(字段1,字段2,....) select '值1',值2 from dual where not exists (select * from表名 where字段1= 值1)

当字段为varchar类型时,对应的值需要加上单引号

6、根据主键(主键不自增)更新MySQL数据库表中的数据

insert into 表名(主键,字段1,字段2....) values(主键,值1,值2...)on duplicate key update 主键=主键,字段1=新值1,字段2=新值2,...

其中values(主键,值1,值2...)   值为数据库表中原先的值

update 主键=主键,字段1=新值1,字段2=新值2   值为数据库表中新生成的值

7、根据字段查找MySQL数据库中相对应的最小的值,适用于编程中的一对多的关系

select min(字段名) from 表名 WHERE 字段1=值1

8、MySQL数据库表模糊查询

select * from 表名 where name like '%字段值%'

9、MySQL数据库表中的字段对应多个值时,根据字段值进行查询出想要的字段名中对应的最小数据

select min(字段名) from 表名 WHERE 字段1 in(值1,值2,值3,值4.....) and 字段2='值2'



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值