mysql语法


1.时间类的语法

//这里是将日期格式化  ,其作用可以按这个时间分组。从而统计每天的信息
DATE_FORMAT(t1.end_time,'%Y-%m-%d %h:%i:%s') days,

2.将字符串类型结果转为数值型

//mysql查询结果   字符串转int   select 字段+0    例如 
 select MAX(menu_id+0) MID FROM sys_menu

3.如果为空则用其他值代替

//如果为空的时候就用1代替
IFNULL(t1.starte,'1') `starte`,

4.mysql中如果使用到关键字报错;可以加上 `` 这个符号,这不是单引号。是键盘左上角数字键1前面的那个符号

5.mybatis的mapper文件中,如果直接使用大于小于号会报错;可以使用转义

//大于符号案例
and t1.entry_time >=#{pd.lastLoginStart}
//小于符号案例
and t1.entry_time <=#{pd.lastLoginEnd}

 6.将内容整合在一起的语法。用于模糊查询

//将两边的值合并在一起
and t1.name like concat('%',#{pd.name},'%')

 7.mysql  添加表注释

alter table test1 comment '修改后的表的注释';

8.mysql  添加字段注释

alter table tb_coupon_pool modify column `id` varchar(32) NOT NULL comment '主键id'; 
//注意字段原有的类型加上

 9.mysql  查询判空

<if test="pd.ewm !=null and pd.ewm !='' and pd.ewm == 1 ">
            and t1.positive_ocde_url is not null
            </if>
            
            <if test="pd.ewm !=null and pd.ewm !='' and pd.ewm ==2 ">
            and t1.positive_ocde_url is null
            </if>

 10.查询结果整合到一起(默认会以逗号分隔)

select t1.id  ,    GROUP_CONCAT(t1.id) marks

from tb_driver t1 
GROUP BY t1.id

 11、根据时间查询案例(处理起始时间和结束时间为同一天查询为空的问题)

            <if test="pd.endtime !=null and pd.endtime !='' ">
                and t1.create_time &lt;=concat('','${pd.endtime}',' 23:59:59')
            </if>

 12.获取最小值、最大值,进行分组

 <!--根据起点终点分组,分别查询价格最低的两个站点  -->
  <select id="getLineShiftsMoneyMin" parameterType="pd" resultType="pd">
    select min(t1.money) money from tb_shifts t1
    where t1.lineId =#{lineId} GROUP BY t1.type
  </select>

 13 mysql运算保留两位小数

       format(SUM(t1.platmoney/100),2) platmoney,

 

  15、 mysql设置时间默认值

设置数据创建时间默认值,mysql会自动填充当前时间,不用代码处理          

             CURRENT_TIMESTAMP

 数据最后修改时间、勾选    根据当前时间戳更新即可,mysql会在数据修改时根据当前时间修改

16、合并结果、合并多张表的结果

SELECT t1.id,t1.`name` from sys_admin t1 
UNION
SELECT t2.id,t2.`name` from sys_role t2 

 17   if用法

SELECT 
  id ,
    if(phone ='' , 'a',phone) b
    FROM sys_admin 

条件成立显示前面代替的字符串,条件不成立 ,显示后面的

 

 

 

18、删除字段

ALTER  TABLE  tb_quality_inspect_day  DROP    content;

 19、删除记录、删除数据

DELETE FROM tb_quality_inspect_day where is_deleted !='0'

 20、修改字段名、修改字段类型、修改字段注释

alter table tb_quality_inspect_day change floor_num floor_num VARCHAR(50) comment "楼层";

 21、添加字段语法

ALTER TABLE tb_quality_base_beton ADD COLUMN `all_those_mark` varchar(1000) DEFAULT NULL COMMENT '举牌描述';

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM