1,求平均,保留2位小数:

select convert(sum(`amount`)/count(*), decimal(10,2)) as avg from {$table}; // amount为数据库某个字段

2,条件累加

sum(IF(cnt > 8, p1, 0)) AS cnt1  ; // 如果符合 cnt > 8 条件,累加p1位的参数,否则累加0; p1可以是字段名, 第二个参数也可以是字段

count(IF(cnt > 8, true, null)) AS cnt2 ; // 如果符合 cnt > 8 条件就加1, true和null固定

3,判空NULL

ifnull(ext, 0) as mon ; // ext为某个字段或者表达式

4, 时间格式化

 //格式化时间戳
FROM_UNIXTIME( 1249488000, '%Y年%m月%d' ) ; // 转化为时间戳,无参数则为当前时间
UNIX_TIMESTAMP() 或者 UNIX_TIMESTAMP('2019-11-01') ;

5,批量更新

INSERT INTO {$table} (`create_time` )  values({$create_time}) ON DUPLICATE KEY update `create_time`=VALUES(`create_time`); // ON DUPLICATE KEY update后面可放多个字段,用英文逗号隔开

6,insert  ignore  into 和 replace into

// 如果已经存在相同的记录,则忽略当前新数据, 不会产生错误
insert ignore into {$table} ( `create_time`) values({$create_time}); // 替换数据, 相当于先删除旧的数据,再用新数据替换上去; 如果不存在数据,效果则跟insert into 一样
replace into {$table} ( `create_time`) values({$create_time});

7,FIND_IN_SET 函数

// 常用于某个字段存储以逗号分隔的字符串, 查询某个数是否在这个字段字符串数据中
select * from {$table} where FIND_IN_SET('',`field`); // field 为字段名

8,mod 求余数函数

select * from {$table} where mod(uid, 500) = 23;

9,判断数据库是否存在该表,避免表不存在错误

show tables from {$database} like '{$table}';

10,TO_DAYS 函数, 返回一个从年份0开始的天数

// 比如要查询昨天的数据
select * from {$table} where to_days(now())-to_days(create_time) = 1

11,instr 函数, 作用类似 like '%关键词%';

// field 是字段, $str 是要查询的串,返回串 str 的位置,没找到就是0, 找到返回大于0的数字
SELECT INSTR(name, '明') FROM {$table};
SELECT *  FROM {$table} where INSTR(name, '明') > 0; 作用等同:  SELECT * FROM {$table} where name like '%明%';

12,

SQL语句 常用记录的更多相关文章

  1. Mysql中 查询慢的 Sql语句的记录查找

    Mysql中 查询慢的 Sql语句的记录查找 慢查询日志 slow_query_log,是用来记录查询比较慢的sql语句,通过查询日志来查找哪条sql语句比较慢,这样可以对比较慢的sql可以进行优化. ...

  2. 监控SQL:执行表中所有sql语句、记录每个语句运行时间(3)

    原文:监控SQL:执行表中所有sql语句.记录每个语句运行时间(3) 通过执行一个 带参数的存储过程  exec  OpreateTB('OpreateUser','IsRun')  更新表的数据 表 ...

  3. SQL 语句常用函数

    一.字符转换函数 1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错. 2.CH ...

  4. 二 sql语句,常用字段数据类型

    MySQL中常用DDL命令   database definition language  与 DML命令 :  database definition language 操作数据库: 创建数据库 : ...

  5. sql语句操作记录

    发觉一些sql语句写出来的时候不停忘记,做一个记录. mySQL .查看表的创建过程sql语句和注释,注释是在创建表的过程中增加comment,后面跟随注释的内容 SHOW CRATE TABLE T ...

  6. Mysql的SQL语句常用基本命令

    SQL语句分类:DDL,DML,DQL,DCL. 1.数据库操作: 创建数据库:create database 数据库名 charater set gbk; 删除数据库:drop database 数 ...

  7. 微擎查询SQL语句常用

    pdo_fetch:根据SQL语句,查询一条记录 array | boolean pdo_fetch($sql, $params = array()); // :uid 是参数的一个点位符,没有使用引 ...

  8. SQL 语句判断记录是否存在(最简洁简单性能最优)

    今天查了下,发现网上的没有一个sql语句写的好的. 判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题. 我进行了优化后,最简洁简单性能最优的的sql语句,用来判断表中的记录是否存在: se ...

  9. 数据库优化之SQL语句优化-记录

    1. 操作符优化 (a) IN 操作符 从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查 ...

随机推荐

  1. 理解 __declspec

    “__declspec”是Microsoft c++中专用的关键字,它配合着一些属性可以对标准C++进行扩充.这些属性有:align.allocate.deprecated. dllexport.dl ...

  2. [HNOI2004]L语言 字典树 记忆化搜索

    [HNOI2004]L语言 字典树 记忆化搜索 给出\(n\)个字符串作为字典,询问\(m\)个字符串,求每个字符串最远能匹配(字典中的字符串)到的位置 容易想到使用字典树维护字典,然后又发现不能每步 ...

  3. CF1174E Ehab and the Expected GCD Problem(动规+数论+分解)

    做法 先来填第一个数,为了保证\(f(p)\)最大,第一个数分解一下为\(\prod\limits_{p_i}p_i^{k_i}\)使得\(\sum\limits_{k_i}\)最大 显然第一个数为\ ...

  4. vue的基本用法

    公共样式---pc版的404报错 动态src 这个是vue组件template部分 <div class="not-found"> <img :src=" ...

  5. spring cloud 常见面试题 来理解微服

    为什么要谈 这些理论知识呢   理论知识 = 面试时候的谈资 !!!   你只有 进去公司 才有资格 去做一个码农 ok 话不多说   经历如此漫长的互联网发展  以本人的拙见 软件开发 粗略的 分为 ...

  6. 记一次ArrayList产生的线上OOM问题

    前言:本以为(OutOfMemoryError)OOM问题会离我们很远,但在一次生产上线灰度的过程中就出现了Java.Lang.OutOfMemoryError:Java heap space异常,通 ...

  7. Java项目开发

    项目开发整体构建: MVC+DAO设计模式 用面向对象的方式理解和使用数据库,一个数据库对应一个java项目 数据库--项目 表--类 字段--属性 表中的一条数据--类的一个对象 M:模型层 Jav ...

  8. Java 面向对象(八)

    常用类之String String字符串类 什么是字符串?就是把多个字符,串连一起. String字符串的本质 其实是一个char[]数组 /**该值用于字符存储.*/ private final c ...

  9. javasript模块化

    模块概述 随着一个网站越来越大,html页面文件越来越多,由<script src='xxx.js'></script>引入的js文件越来越多,我们的单个js文件很大,上几万行 ...

  10. linux工程管理软件—make

    一.make概述     make是一种代码维护工具make工具会根据makefile文件定义的规则和步骤,完成整个软件项目的代码维护工作.一般用来简化编译工作,可以极大地提高软件开发的效率. win ...