边学边记,每天到底学了什么新东西,巩固了哪些老知识。
mybatis的动态查询(where,trim,set)sql标签
Mybatis最入门---动态查询(where,trim,set) - CSDN博客
一.<where>标签
a. 按照标准写法,第一个标签内的AND应该不写,但是,就算开发中书写也不会报错。这就是where标签帮助我们自动的移除了第一个AND链接。但是,第二个之后的标签内,必须有AND链接。
b.where 元素知道只有在一个以上的条件有值的情况下才去插入“WHERE”子句。而且,若内容是“AND”或“OR”开头的,where 元素也知道如何将他们去除。
二.<trim>标签
该标签的功能与<where>类似,并且额外的提供了前缀后缀功能。
a.我们使用<trim>替代<where>标签。
b.属性“prefix”表示:加入前缀where
c.属性“prefixOverrides”表示:自动覆盖第一个“and”或者“or”
d.后缀的用法类似;
三.<set>标签用于update语句
a.SQL语句的set被<set>标签替代。
b.每个<if>语句中最后都带有逗号,写过SQL语句就一定知道,最后的逗号是不能有的,因此,这里的标签能够帮助我们自动的移除最后一个中的逗号。
c.<trim>是一个非常强大的标签,因此,我们也可以通过来实现的功能
concat拼接字符串
username LIKE CONCAT ('%',#{user.username},'%');
多表更新 UPDATE SET like concat('%',abc,'%');
SQL语句为:select * from table1 where `text` like CONCAT('%',(select name from table2 where id =3),'%');
UPDATE ecs_region a,nation b SET a.code = b.code where b.province like concat('%',a.region_name,'%');
UPDATE ecs_region a,nation b SET a.code = b.code where b.city like concat('%',a.region_name,'%');
UPDATE ecs_region a,nation b SET a.code = b.code where b.district like concat('%',a.region_name,'%');
复习一下mysql的索引MySQL索引类型 - 成九 - 博客园
MySQL目前主要有以下几种索引类型:
1.普通索引
2.唯一索引
3.主键索引
4.组合索引
5.全文索引
CREATETABLEtable_name[col_name data type][unique|fulltext][index|key][index_name](col_name[length])[asc|desc]
1.unique|fulltext为可选参数,分别表示唯一索引、全文索引
2.index和key为同义词,两者作用相同,用来指定创建索引
3.col_name为需要创建索引的字段列,该列必须从数据表中该定义的多个列中选择
4.index_name指定索引的名称,为可选参数,如果不指定,默认col_name为索引值
5.length为可选参数,表示索引的长度,只有字符串类型的字段才能指定索引长度
6.asc或desc指定升序或降序的索引值存储
很全的mysql自动增长id博客mysql 数据库自增id 的总结 - CSDN博客就是太长了
网友评论