![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
人间寥寥情难诉
只为更简单
展开
-
更新自增ID表范围内数据
更新表数据原创 2022-11-25 16:38:02 · 641 阅读 · 0 评论 -
MySQL根据某一集合批量修改集合对应的不同值
1、foreach标签 <foreach collection="list" item="item" index="index" open="" close="" separator=";"> update table_test <set> name = #{item.name}, date_updated =now() </set> where id= #{原创 2022-03-02 09:57:57 · 527 阅读 · 0 评论 -
Mysql 查询给日期字段增加相隔日期
在当前的日期上加三天,天数随便改:SELECT date_add(CURRENT_DATE(), interval 3 day);在指定的日期上加三天:SELECT date_add('2022-02-25', interval 3 day);在指定的具体时间上加一个时间:如在"2022年2月25日两点"加上一个小时零十分零十秒的MySQL语句为:select date_add('2022-02-25 2:00:00', interval '1:10:10' hour_second)原创 2022-02-25 11:57:46 · 2113 阅读 · 0 评论 -
SQL查询同一张表是否存在两条字段相同的数据
表及字段:test(a_id)select a_id from ( select a_id, count(1) nums from test group by a_id) where nums>1oracle:select a_id, count(1) from test group by a_id having count(1)>1注:前提是没唯一约束,主键等约束,因为他们是唯一的,所以对于有这些约束的表是不会存在重复的,不过不考虑这样的字段在查询时就不用列出这些字段分原创 2022-01-11 14:43:28 · 6837 阅读 · 0 评论 -
MySQL添加索引及添加字段并建立索引
添加字段并设置主键alter table user_test drop primary key;alter table user_test add column NAMEvarchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '姓名' AFTER age;alter table user_test add constraint user_testprimary key(`STT_YEAR`, `STT_原创 2022-01-11 14:30:18 · 4758 阅读 · 0 评论 -
DDL DML DCL TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema.DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME2.DML(Data Manipulation La原创 2021-03-02 15:18:56 · 282 阅读 · 0 评论 -
MySQL新增、修改字段并添加默认值和备注
格式:ALTER TABLE 表名 ADD 字段名称 字段类型(字段长短-选填) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL(是否不可为空) DEFAULT 0(默认值) COMMENT '备注'(备注)AFTER 在指定字段之后(不加默认最后);例子:ALTER TABLE people ADD COLUMN age varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_..原创 2021-02-22 16:37:36 · 21111 阅读 · 0 评论 -
MyBatis批量插入时控制插入的条数及集合分割
MyBatis批量插入数据控制条数控制插入条数在20-50左右 // 控制插入条数为 25条 int count = 25; int len = rptTmplHisCDOList.size(); //计算需要循环的次数 int con = len % 25 == 0 ? len / 25 : len / 25 + 1; List<BudgetTmplHisC> listItems; f原创 2020-11-23 17:23:56 · 1738 阅读 · 2 评论 -
MySQL in语句防止SQL注入
入参采用需要查询的字段集合,例如下面的 userIds 类型为ListUSER_ID IN <foreach collection="userIds" item="item" open="(" separator="," close=")"> #{item} </foreach>原创 2020-06-08 15:49:12 · 1394 阅读 · 0 评论 -
即使子查询返回很快,delete主表就是很慢优化问题。
原始查询delete From rpt_fill_his_c where rpt_id in ( select rpt_id from rpt_fill_d where RPT_TMPL_ID in (select RPT_TMPL_ID From rpt_tmpl_d where FINLACCT_RPT_TYPE in ('1原创 2020-06-08 15:42:56 · 349 阅读 · 0 评论 -
like 语法防止 SQL注入
like 语法防止 SQL注入Mysql:select * from t_user where name like concat('%', #{name}, '%') Oracle: select * from t_user where name like '%' || #{name} || '%'SQLServer:select * from t_user where name like '%' + #{name} + '%'原创 2020-06-02 15:41:53 · 897 阅读 · 0 评论