• Mysql中其余知识点使用


     1. replace

    replace(字段名,“需要替换的值”,“替换后的值”),一般结合 update一起使用:update table_name set attribute = REPLACE( attribute, 旧内容, 新内容) where id = value ;

    2.更改数据表的信息

    alter table 表名 change 原列名 新列名  类型; --修改表的列属性名
    alter table 表名 modify 列名 类型 ;  --修改表的类类型
    alter table 表名 drop 列名;  --删除表的某一列
    alter table 表名 add  列名 类型;--添加某一列
    alter table 表名 rename 新表名; --修改表名

    或者在 Mysql 中也支持: 

    rename table ‘旧名字’ to ‘新名字’

     3.左连接,没有在右边查询到的一般用左连接(将左边表的所有记录都查询出来,右边表只显示和左边表对应的数据或者 null

    select p.id, p.name, t.content 
    from person p LEFT JOIN task t   --左连接
    on p.id = t.person_id    --根据这两个属性进行连接
    ORDER BY p.id   -- 对结果进行升序排序

    结果如下:

                  

    4. order by 与 Grouo by 的关系

    SELECT user_id, max(date) as d FROM login
    GROUP BY user_id
    ORDER by date DESC    --错误的方式

    以上为错误的方式!!!

    不能用order by date 来试图获取每个组内的最大日期,因为 order by 在执行的时候 group by 已经执行了,也就是说此时已经分组完毕每组只携带了默认的第一个记录,所以此时 order by 只是在组与组的维度进行排序

    正确写法为:

    SELECT user_id, max(date) as d FROM login
    GROUP BY user_id
    ORDER by user_id    -- 正确写法

    5.order by 与 Grouo by 、保留小数点后几位 ROUND(牛客SQL-77)

    SELECT job, ROUND(AVG(score), 3) AS `avg` FROM grade    --保留小数点后三位
    GROUP BY job 
    ORDER BY `avg` DESC    --可以使用 select 计算之后的参数作为排序,因为分组之后执行多行函数的结果是一个值

    还是上面那个问题,group by 执行后,每组只携带一个记录,而 AVG(score) 之后,每组也只存在一个平均值,所以可以进行排序

    ROUND(x, n) 表示保留小数 x 的后 n 位结果。

    6. YEAR 筛选年份值(牛客 SQL-84)

    SELECT job, SUM(num) AS cnt FROM resume_info
    WHERE date >= '2025-01-01' AND date <= '2025-12-31'    --筛选 时间为2025年一整年的数据
    GROUP BY job
    ORDER BY cnt DESC   --同理5,可以对多行函数后的值排序

    上面的时间可以修改为如下:

    SELECT job, SUM(num) AS cnt FROM resume_info
    WHERE YEAR(date) = '2025'   --筛选时间的年份值
    GROUP BY job
    ORDER BY cnt DESC
  • 相关阅读:
    JNI_Android项目中调用.so动态库实现详解
    Android动态加载so文件
    Android多媒体开发(3)————使用Android NKD编译havlenapetr-FFMpeg-7c27aa2
    Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作
    Android的NDK开发(4)————JNI数据结构之JNINativeMethod
    Android的NDK开发(3)————JNI数据类型的详解
    ORACLE 实验二
    ORA-12705: Cannot access NLS data files or invalid environment specified
    内存对齐的规则以及作用
    13.怎样自学Struts2之Struts2本地化[视频]
  • 原文地址:https://www.cnblogs.com/luo-c/p/15336913.html
Copyright © 2020-2023  润新知