sql 项目中的常用语句

一,保留表中部分数据

表如下:

1.删​​除表中前100条数据:DELETE FROM update_record LIMIT 100 

2.保留表中最新十条数据:DELETE ur FROM update_record ur,(SELECT update_time FROM update_record ORDER BY update_time DESC LIMIT 9,1)time WHERE ur.update_time <time.update_time

3.保留表中前100条数据:删除来自tbl_user WHERE NAME NOT IN(SELECT t.NAME FROM(SELECT name来自tbl_user LIMIT 100)t)

这里有个小别扭本来一开始写的是删除来自tbl_user姓名在哪里(从tbl_user限制100中选择名称)但是不支持来自后面有限所以要绕过一下

二,批量录入

1.无则插入有则更新:“插入到tbl_user(UID,LOGIN_NAME,姓名,移动,备注,状态,CREATE_TIME,lastversion)值(#{UID},{#}登录名,#{用户名},{#mobilephone },#{position},1,now())DUPLICATE KEY UPDATE上的“+”uid =#{uid},login_name =#{loginname},name =#{username},mobile =#{mobilephone},备注=#{位置} 

这里如果是pgsql“on DUPLICATE KEY”换成“on config(uid)do”括号内是表的主键字段

 

三、查询

1.集合多个条件,一次查询

select 

ifnull(one, 0 )

ifnull(two, 0 )

ifnull(three, 0 )

ifnull(four, 0 )

where  条件

 

 

四、错误

关于sql_mode = only_full....... 

set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';(一次会话)

有错指正无错点赞未完待续......

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值