一,sql重复数据只取一条,使用到的关键字 distinct
Select distinct(关键字)列名 from 表名
例:SELECT DISTINCT AREA FROM uinfo
二,mysql查询出数据库表名
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名'
条件查询:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'snsboodb' AND TABLE_NAME LIKE '%rzgl%'
三,mybatis中关键词检索,使用到的关键字or , concat
<if test="search != null and search != ''"><!-- 关键词检索 -->
and
(
loginName LIKE CONCAT(CONCAT('%', #{pd.search}),'%')
or
userName LIKE CONCAT(CONCAT('%', #{pd.search}),'%')
or
createBy LIKE CONCAT(CONCAT('%', #{pd.search}),'%')
)
</if>
order by id asc
</select>
四,mysql的事务隔离级别的查询和设置
查看当前的事务隔离级别
SELECT @@tx_isolation;
在MySQL数据库中设置事务的隔离 级别:
set [glogal | session] transaction isolation level 隔离级别名称;
set tx_isolation=’隔离级别名称;’
记住:设置数据库的隔离级别一定要是在开启事务之前!
五,Sql的批量替换
UPDATE testt SET a=REPLACE(a,'ab','cc') WHERE b='c'
六,Sql的if判断,关键字 concat,if
简单解释if判断的用法:
if 条件 参数1,参数2; 如果条件成立则返回参数1,不成立则返回参数2
简单例子:select id ,name(if id='1','参数1','参数2') from tablename
复杂例子:
SELECT b.id id,CONCAT(IF(g.`gsjc` !='' OR g.`gsjc`!=NULL,g.`gsjc`,IF(g.`gsname` !='' OR g.`gsname`!=NULL,g.`gsname`,'')),'-',b.`bmname`) bmname
FROM `t_ibss_bm` b LEFT JOIN `t_ibss_gs` g ON b.`gsId`=g.`id`
ORDER BY b.`CCM`
欢迎一起交流!!!