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 <=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_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');