• 【MySQL-->数据操作】



    前言


    一、insert

    1.单行插入

    指定列单行插入
    在这里插入图片描述
    可以省略into关键字
    在这里插入图片描述
    全列单行插入
    在这里插入图片描述

    2.多行插入

    指定列多行插入
    在这里插入图片描述
    全列多行插入
    在这里插入图片描述

    3.插入更新/替换

    如果插入时唯一键或者主键冲突,将冲突数据更新,更新的同时不插入. 可用select row_count();命令查询受影响的行数.
    在这里插入图片描述
    插入时,如果冲突就将冲突数据删除,插入新的数据
    在这里插入图片描述

    二、select

    1.全列查询

    在这里插入图片描述

    2.指定列插入

    在这里插入图片描述

    3.列别名

    可以带as也可以省略
    在这里插入图片描述

    4. 表达式计算

    在这里插入图片描述

    5.去重

    在这里插入图片描述

    6.where条件查询

    比较运算符,null不能直接参与比较,<=>和<>是null安全运算符,可以比较null.
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    英语不及格的同学及英语成绩 ( < 60 )
    在这里插入图片描述
    语文成绩在 [80, 90] 分的同学及语文成绩
    在这里插入图片描述
    数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩
    在这里插入图片描述
    姓孙的同学 及 孙某同学
    在这里插入图片描述
    语文成绩好于英语成绩的同学
    在这里插入图片描述
    总分在 200 分以下的同学
    这里的对于总分起的别名不能用在条件语句中,因为,sql的语句执行顺序先执行from语句,在执行条件语句,最后执行列选项.

    在这里插入图片描述
    语文成绩 > 80 并且不姓孙的同学
    在这里插入图片描述
    孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80
    在这里插入图片描述
    NULL 的查询
    在这里插入图片描述

    7.排序

    asc(ascending)升序,desc(dscending)降序
    在这里插入图片描述
    查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示
    在这里插入图片描述
    查询同学及总分,由高到低
    order by语句可以使用别名是因为语句执行顺序是先有条件,通过条件筛选数据,有数据之后再排序.

    在这里插入图片描述
    查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示
    在这里插入图片描述

    8.limit分页显示

    limit 3 offset 0其中3代表显示几行,0代表从第几行开始显示
    在这里插入图片描述
    limit 2,3其中2代表其实位置,3代表显示几行,表的小标是从0开始的.
    在这里插入图片描述

    三、update

    将孙悟空同学的数学成绩变更为 80 分,如果不加where语句,会对全列的值更新.
    在这里插入图片描述
    将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
    在这里插入图片描述
    将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
    在这里插入图片描述
    将所有同学的语文成绩更新为原来的 2 倍
    在这里插入图片描述

    四、delete

    删除指定行的数据
    在这里插入图片描述
    删除整表数据,delete是对数据操作,不对表结构操作,所以表信息不被重置.truncate会重置表信息.
    在这里插入图片描述

    截断表,truncate不对数据 操作,而是对表操作,所以比delete快,但是truncate不被记录在sql日志中,无法回滚.
    在这里插入图片描述

    五、插入查询结果

    删除表中的的重复复记录,重复的数据只能有一份
    在这里插入图片描述
    在这里插入图片描述

    六、聚合函数

    在这里插入图片描述

    统计班级共有多少同学
    在这里插入图片描述
    在这里插入图片描述
    统计数学成绩总分
    在这里插入图片描述
    统计平均总分
    在这里插入图片描述
    返回英语最高分
    在这里插入图片描述
    返回 > 70 分以上的数学最低分
    在这里插入图片描述

    六、聚合分组

    1.格式

    select column1,column2,聚合统计 from tablename group by column1,column2;
    在这里插入图片描述
    显示每个部门的平均工资和最高工资
    在这里插入图片描述
    显示每个部门每个岗位的平均工资和最低工资
    在这里插入图片描述
    显示平均工资低于2000的部门以及平均工资.
    在这里插入图片描述

    2.where和having的区别

    where和having的区别在于筛选的阶段不同.
    比如:显示小于2000的员工中各部门工资最高的工资
    在这里插入图片描述
    select deptno,max(sal) as 最高 from emp where sal<2000 group by deptno;
    语句执行顺序是先执行from语句->where筛选->group by分组->max聚合,分组可以理解为分表.筛选出来的表都可以叫做表.


  • 相关阅读:
    工程打包与运行
    【数模研赛思路】2023华为杯研究生数学建模竞赛选题建议及CDEF题思路
    基于SSM+Vue的线上学习网站
    SpringBoot整合SpringSecurity
    项目管理之分析项目特点的方法
    猿创征文|机器学习实战(9)——降维
    ESXI7.0.0升级到ESXI7.0.3
    Java实现经纬度坐标转换(GPS-高德)
    如何利用示波器解析I2C数据
    Jenkins用户管理(二):不同用户分配不同的任务访问权限
  • 原文地址:https://blog.csdn.net/kk1125778230/article/details/133363738