• 【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聚合,分组可以理解为分表.筛选出来的表都可以叫做表.


  • 相关阅读:
    js 去除字符串左右两边空格
    Vue项目实战之人力资源平台系统(十)图片上传和打印员工信息
    Java 19新特性:Structured Concurrency (结构化并发编程)
    ue4学习日记4(植被,光照,光束遮挡,天空球)
    gepc 增强数据的加载 patch enhance
    Kubernetes config 配置访问多集群
    阿里云linux centos系统jdk版本始终换不了OpenJDK害人
    精致摄影网站模板 Bootstrap4
    js将base64图片处理成背景透明png
    cartographer_ros数据加载与处理
  • 原文地址:https://blog.csdn.net/kk1125778230/article/details/133363738