• MySQL常用语句整理


    该文章整理于牛客刷题中遇到的问题

    1. SQL执行语句:**select –>where –> group by–> having–>order by**
    2. UNION【ALL】:
      1. 使用 UNION可以实现将多个查询结果集合并为一个结果集。
      2. ALL:表示在结果几种不去除重复的记录
      3. 没有指定ALL:去除合并后结果集中重复的记录
      4. 所有查询语句中列的个数和列的顺序必须相同。
      5. 所有查询语句中对应列的数据类型必须兼容。
      6. ORDER BY语句要放在最后一个查询语句的后边。
    3. 时间处理:
      1. YEAR/MONTH函数等
      2. date_format()函数:date_format(date, "%Y-%m")="202108"
      3. day(last_day(xxxx)) 当前月份中有多少天:
      4. last_day() 函数:返回月份中的最后一天。
    4. 模糊匹配:
      1. like _ 单个
      2. like % 多个
      3. 正则:regexp
      4. instr(M,S) M 模板串,S子串; 返回结果:<= 0不存在,> 0存在
      5. like模糊匹配多个
        1. like %xxx%xxx%
        2. like %xxx% and like %yyy%
    5. 联结:
      1. 内联结:inner join。取两列的交集。
      2. 外联结:
        1. left join:左连接,以左边表的列为主,取两列的交集,对于不在右边列存在的名称取null。
        2. right join:右连接,以右边表的列为主,取两列的交集,对于不在左边列存在的名称取null。
    6. 统计(count函数)
      1. count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
      2. count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
      3. count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。
    7. 数据更新或插入(replace )
      1. 通过主键 / 唯一索引,先删除源数据(若存在),再插入数据(格式与insert into相似)
      2. replace into:有就覆盖,没有就插入
    8. timestampdiff函数
      1. TIMESTAMPDIFF(interval, time_start, time_end)可计算time_start-time_end的时间差,单位以指定的interval为准,常用可选:
        1. SECOND 秒
        2. MINUTE 分钟(返回秒数差除以60的整数部分)
        3. HOUR 小时(返回秒数差除以3600的整数部分)
        4. DAY 天数(返回秒数差除以3600*24的整数部分)
        5. MONTH 月数
        6. YEAR 年数
    9. 删除数据:
      1. 根据条件删除:DELETE FROM tb_name [WHERE options] [ [ ORDER BY fields ] LIMIT n ]
      2. TRUNCATE tb_name:全部删除(表清空,包含自增计数器重置)
    10. DDL(数据定义语言)
    11. 添加列
      1. alter table 表名 add column 列名 类型 【first|after 字段名】;
    12. 修改列的类型或约束
      1. alter table 表名 modify column 列名 新类型 【新约束】;
    13. 修改列名
      1. alter table 表名 change column 旧列名 新列名 类型;
    14. 删除列
      1. alter table 表名 drop column 列名;
    15. 修改表名
      1. alter table 表名 rename 【to】 新表名;
    16. 将某一列放到第一列
      1. alter table 表名 modify column 列名 类型 first;
    17. 删除表
      1. drop table【if exists】 表名;
    18. 复制表结构
      1. create table 表名 like 旧表;
    19. 复制表的结构+数据
      1. create table 表名
      2. select 查询列表 from 旧表【where 筛选】;
    20. 四舍五入(ROUND)
    21. ROUND(X),返回参数 X 最近似的整数
    22. ROUND(X,D),返回 X ,其值保留到小数点后 D 位,第 D 位的保留方式为四舍五入
  • 相关阅读:
    虚拟机联网 | 虚拟机连接Xshell
    Java面试经验,Java实习生应届生面试笔试题整理
    【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(1,二维连续型和离散型随机变量基本概念与性质)
    java.lang.Enum类下getDeclaringClass()方法起什么作用呢?
    Edge的使用心得与深度探索
    14:00面试,14:06就出来了,问的问题有点变态。。。
    基于node.js+Vue在线电子商务购物商城系统 Element
    ArcGIS中如何再画一个已经存在的相同属性地类图斑
    深度学习 | CNN卷积核与通道
    Java设计模式中策略模式
  • 原文地址:https://www.cnblogs.com/xbhog/p/16537230.html