zoukankan      html  css  js  c++  java
  • 常用MySQL(二)

    case when

    Case具有两种格式。简单Case函数和Case搜索函数

    • 第一种 格式 : 简单Case函数

    # 选项1,2...作为条件值1,2...的新值
    case 列名
    when 条件值1  then 选项1
    when 条件值2  then 选项2.......
    else 默认选项
    end   as 新列名

    # 结合select使用
    select case 列名
    when 条件值1 then 选项1
    when 条件值2 then 选项2...
    else 默认选项
    end as 新列名
    from table_name
    • 第二种 格式 :Case搜索函数

    # 条件1,2...一般是某列值的比较条件,如 colA=1 或 colA!=1 或 colA>1 and colA<5
    # 选项1,2...作为条件1,2...的新值
    case
    when 条件1  then 选项1
    when 条件2  then 选项2.......
    else 默认选项  
    end   as 新列名

    # 结合select使用
    select case
    when 条件1  then 选项1
    when 条件2  then 选项2.......
    else 默认选项  
    end   as 新列名
    from table_name

    常用函数

    时间函数

    #昨天
    SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS( 时间字段名) <= 1

    #7天
    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)

    #近30天
    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

    #本月
    SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE(), '%Y%m' )

    #上一月
    SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

    其他函数

    length --计算字符串长度

    concat --连接两个字符串

    substring -- 截取字符串

    count -- 统计数量

    max -- 最大 min -- 最小 sum -- 合计

    drop、truncate、delete

    drop table

    • 1)属于DDL

    • 2)不可回滚

    • 3)不可带where

    • 4)表内容和结构删除

    • 5)删除速度快

    truncate table

    • 1)属于DDL

    • 2)不可回滚

    • 3)不可带where

    • 4)表内容删除

    • 5)删除速度快

    delete from

    • 1)属于DML

    • 2)可回滚

    • 3)可带where

    • 4)表结构在,表内容要看where执行的情况

    • 5)删除速度慢,需要逐行删除

    使用场景

    • 不再需要一张表的时候,用drop

    • 想删除部分数据行时候,用delete,并且带上where子句

    • 保留表而删除所有数据的时候用truncate

    explain

    通过explain命令我们可以学习到该条SQL是如何执行的,随后解析explain的结果可以帮助我们使用更好的索引,最终来优化它

     

  • 相关阅读:
    前端之CSS
    前端之HTML
    数据库作业案例
    django进阶版4
    django进阶版3
    django进阶版2
    django初步了解4
    django进阶版1
    django初步了解3
    django初步了解2
  • 原文地址:https://www.cnblogs.com/yjh1995/p/13507065.html
Copyright © 2011-2022 走看看