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.查询结果整合到一起(默认会以逗号分隔)(默认限制结果长度1024,太长会丢失数据)

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会在数据修改时根据当前时间修改

mysql语法

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

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

mysql语法

 17   if用法

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

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

 

 

mysql语法

 

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_job ADD COLUMN `is_deleted` varchar(11) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '0' COMMENT '是否删除(0、正常;其他、删除)';
ALTER TABLE tb_job ADD COLUMN `created_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '创建人id';
ALTER TABLE tb_job ADD COLUMN `create_time` datetime DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间';
ALTER TABLE tb_job ADD COLUMN `last_update_time` datetime DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '最后修改时间';
ALTER TABLE tb_job ADD COLUMN `last_update_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '最后修改人id';

 22、修改表名

rename  table  bim_question_log  to  tb_bim_question_log;

 23、mysql获取表字段名称、获取字段注释、获取数据库字段类型

SELECT table_name, COLUMN_NAME dbName, DATA_TYPE dbType, COLUMN_COMMENT label FROM INFORMATION_SCHEMA.COLUMNS where table_name=表名 AND table_schema =数据库名称

 24、更改性别面试题sql、修改性别面试题sql

UPDATE test02 
        set sex=if(sex='1','2','1');

 

上一篇:MySQL的使用


下一篇:MySql-子查询