• 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 位的保留方式为四舍五入
  • 相关阅读:
    项目经理必备!这四个高效管理工具帮你实现项目管理目标
    一本企业画册怎么制作成二维码分享
    leetcode栈与队列(上)之理论篇(java实现)
    Git使用学习记录(一、前置知识)
    记录学习--lombok @Generated
    str.c_str() 补充C中没有string类型的问题
    什么样的应用程序适合使用Flutter开发桌面?
    YOLOv8 C2f模块融合shuffleAttention注意力机制
    SpringMVC自定义视图解析器
    一个来自内蒙 正式工作两年的攻城狮的独白以及总结
  • 原文地址:https://www.cnblogs.com/xbhog/p/16537230.html