MySQL数据库 数据库基本操作(二):表的增删查改(上)

news2024/10/12 14:24:15

1. CRUD

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写,就是数据库基本操作中针对表的一系列操作.

2. 新增(create) -->insert

语法:
insert into 表名 [列名1,列名2…] values (val1,val2…)
[注意]

  • 列名可以没有,如果没有列名,所有的列都应该插入,即val包含所有列的值.
  • 后面的val必须和前面的列名对应.
  • 各个数据之间用,隔开.

2.1 单行数据+全列插入

insert into emp values (null,'张十一','java程序员',16000);

在这里插入图片描述
在这里我们看到,salary一列原生是decimal类型的数据,但是我们这里在插入的时候salary一列输入的是int类型的数据,也插入成功了,这是因为sql对int类型进行了隐式类型转换这里我们就提到了sql语言的特性:
sql语言是一种弱类型的语言,在一种语言中越支持隐式类型转换,类型越弱.

2.2 多行插入+指定列插入

insert into emp (id,name,role) values(8,'李十二','测试工程师');

在这里插入图片描述

3. 查询(retrieve) -->select

语法:
select 列名1,列名2(或是表达式) from 表名

3.1 全列查询 -->*

select * from emp
查询该表中所有数据
在这里插入图片描述
[注意]
这是一个危险的操作,虽然这个操作在现在看来没有什么异样,但是如果数据非常多,这个操作很容易造成损失,这种查询引起服务器的响应之后,返回的数据量非常大,会把网络带宽吃满,导致别的客户端出现异常.
在这里插入图片描述

3.2 指定列查询

select id,name from emp;
查询id和name两列数据
在这里插入图片描述

3.3 查询字段为表达式

select id ,name,role,salary+100 from emp;
查询的时候返回的结果集为所有人的工资加100
在这里插入图片描述
[注意]

查询的所有操作都不会对原生存在硬盘上的数据进行改变,这里虽然是在原来的薪水加上了100,但是只是返回的结果加上了100,返回的结果是一张临时表.

3.4 别名 -->as

语法:
select 列名 as 别名 from 表名;
select id ,name , chinese+math+english as total from student;
返回所有学生的总成绩,并设置为total

在这里插入图片描述

3.5 去重 -->distinct

语法:
select distinct 列名 from 表名;
select distinct chinese from student;

在这里插入图片描述
上述结果我们看到返回的值把周八那一行的语文成绩去重.
当然我们也可以对多列进行去重:
select distinct chinese,math from student;

在这里插入图片描述

3.6 排序 -->order by

语法:
asc为升序,desc为降序,默认为asc
select 列名 from 表明 order by 列名 [升降序]
select * from student order by math desc;
在这里插入图片描述
我们看到,学生们的顺序按数学成绩的降序排列了起来.

[注意]

  • 没有order by的句子返回的查询,返回的顺序都是未定义的,永远不要依赖这个顺序.
  • NULL数据排序的时候,视为比任何数据都小.升序在上面,降序在下面.
  • 可以使用表达式或者别名进行排序.
    select id,name,chinese+math+english as total from student order by total ;
    把学生的成绩按照总分升序排序.
    在这里插入图片描述
  • 可以对多个字段进行排序,优先级随书写顺序.
    select * from student order by chinese,math;
    在这里插入图片描述
    这里我们看到田七和周八的语文成绩是一样的,最后按math排序.田七在周八的后面.

3.7 条件查询 -->where

比较运算符:

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <>不等于
BETWEEN a0 AND a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, …)如果是 option 中的任意一个,返回 TRUE(1)
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

逻辑运算符:

运算符说明
AND多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT条件为 TRUE(1),结果为 FALSE(0)

[注意]

  • where可以使用表达式,但是不可以使用别名.
    原因: 是执行顺序的缘故,遍历表–>带入条件–>计算列名中的表达式,定义别名–>排序,聚合,
    定义别名在带入条件的后面,所以无法识别.
  • AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分.

案例:

  • 基本查询
    • select * from student where english < 100;
      查询英语成绩小于100的同学.
      在这里插入图片描述
    • select * from student where chinese+math+english<320;
      查询总分小于320的同学
      在这里插入图片描述
  • and 和 or
    • select * from student where chinese+math+english<320 and math>=120;
      查询总分小于320但数学成绩大于等于120的同学
      在这里插入图片描述
    • select * from student where chinese+math+english<320 or math>=120;
      查询总分小于320和数学成绩大于等于120的同学
      在这里插入图片描述
  • 范围查询
    1. between…and…
      select * from student where math between 100 and 110;
      查询数学成绩在100~110之间的同学在这里插入图片描述
    2. in
      针对每个记录,带入到条件中,看当前这个数值是否在( )描述的集合中存在.
      select * from student where math in (120,133);
      在这里插入图片描述
  • 模糊查询 -->like
    • select name from student where name like '周%';
      在这里插入图片描述
      %代表的是一个或者多个字符,找到所有姓周的人.
    • select name from student where name like '周_';
      在这里插入图片描述
      找到姓周但是是两个字的名字.

3.8 分页查询–>limit

这个语法限制了最多返回多少条记录.
语法:
select 列名 from 表名 limit n 限制返回的记录为n
select 列名 from 表名 limit n offset s 从s开始查询,返回n条记录

案例:

  • select name,math+chinese+english as total from student order by total desc limit 3;
    查询班级前三名
    在这里插入图片描述
  • select name,math+chinese+english as total from student order by total desc limit 3 offset 1;
    查询班级总成绩2~4名
    在这里插入图片描述

4. 修改 -->update

语法:
update 表名 set 列名=表达式 限制条件

案例:

  • update student set english=92 where name='周八';
    把周八的英语成绩改成92在这里插入图片描述
  • update student set english= english+10;
    将所有人的英语成绩加10分
    在这里插入图片描述

5. 删除 -->delete

语法:
delete from 表名 限制条件

案例:

  • delete from student where name ='周八';
    删除周八的成绩
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1567325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习|Pytorch】torchvision.datasets.ImageFolder详解

ImageFolder详解 1、数据准备2、ImageFolder类的定义transforms.ToTensor()解析 3、ImageFolder返回对象 1、数据准备 创建一个文件夹&#xff0c;比如叫dataset&#xff0c;将cat和dog文件夹都放在dataset文件夹路径下&#xff1a; 2、ImageFolder类的定义 class ImageFol…

大日志精选案例四:某省级大数据集团日志审计优化实战解析

“在集团日常运营中&#xff0c;数据安全始终是我们关注的重点。过去&#xff0c;数据量大、处理速度慢&#xff0c;导致日志数据难以迅速获取和分析&#xff0c;影响业务决策。但自从引入聚铭大日志解决方案后&#xff0c;系统日志和用户行为数据都得到了高效处理与存储。该方…

SpringCloud Hystrix 服务熔断、服务降级防止服务雪崩

文章目录 SpringCloud Hystrix 熔断器、服务降级防止服务雪崩需求背景引入依赖启动类加Hystrix注解接口配置熔断常规配置超时断开错误率熔断请求数熔断限流 可配置项HystrixCommand.Setter参数Command Properties 服务降级 SpringCloud Hystrix 熔断器、服务降级防止服务雪崩 H…

网络安全基础之网络协议与安全威胁

OSI(OpenSystem Interconnect)&#xff0c;即开放式系统互联。 一般都叫OSI参考模型&#xff0c;是ISO(国际标准化组织)组织在1985年研究的网络互联模型。 网络协议的简介&#xff1a; 定义&#xff1a;协议是网络中计算机或设备之间进行通信的一系列规则集合。 什么是规则?…

迅饶科技 X2Modbus 网关 GetUser 信息泄露漏洞复现

0x01 产品简介 X2Modbus是上海迅饶自动化科技有限公司Q开发的一款功能很强大的协议转换网关, 这里的X代表各家不同的通信协议, 2是T0的谐音表示转换, Modbus就是最终支持的标准协议是Modbus协议。用户可以根据现场设备的通信协议进行配置,转成标准的Modbus协议。在PC端仿真…

【考研数学】1800基础做完了,如何无缝衔接660和880❓

基础题做完&#xff0c;不要急着强化 首先做一个复盘&#xff0c;1800基础的正确率如何&#xff0c;如果70%以下的话&#xff0c;从错题入手&#xff0c;把掌握不扎实的地方再进行巩固&#xff0c;否则接下来做题的话效率会很低。 接下来考虑习题衔接的问题。 关于线代复习的…

(免费分享)基于微信小程序自助停取车收费系统

本项目的开发和制作主要采用Java语言编写&#xff0c;SpringBoot作为项目的后端开发框架&#xff0c;vue作为前端的快速开发框架&#xff0c;主要基于ES5的语法&#xff0c;客户端采用微信小程序作为开发。Mysql8.0作为数据库的持久化存储。 获取完整源码&#xff1a; 大家点赞…

mac | Windows 本地部署 Seata2.0.0,Nacos 作为配置中心、注册中心,MySQL 存储信息

1、本人环境介绍 系统 macOS sonama 14.1.1 MySQL 8.2.0 &#xff08;官方默认是5.7版本&#xff09; Seata 2.0.0 Nacos 2.2.3 2、下载&数据库初始化 默认你已经有 Nacos、MySQL&#xff0c;如果没有 Nacos 请参考我的文章 &#xff1a; Docker 部署 Nacos&#xff08;单机…

基于51单片机和MAX1898的智能手机充电器设计

**单片机设计介绍&#xff0c;基于51单片机和MAX1898的智能手机充电器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机和MAX1898的智能手机充电器设计概要 一、引言 随着智能手机的普及&#xff0c;其电池续航…

人工智能会拥有反思能力吗?

一、背景 人工智能是否能拥有真正的反思能力&#xff0c;目前仍在探索和发展之中。虽然现有的AI系统可以在一定程度上进行自我学习、自我调整和优化&#xff0c;但是它们的“反思”还远未达到人类意义上的深度和全面性。 传统的人工智能系统依赖于预设的算法和模型&#xff0c…

如何把png格式的图片转换成ico格式的图标

前言 前段时间有朋友说想要把某个图标做成图标&#xff0c;用来更改某个程序或者软件的图标&#xff0c;以求个性化&#xff01; 但是下载下来的.png图片直接更改文件扩展名为.ico之后&#xff0c;并不能正常使用。这时候就需要有工具把.png格式转换为.ico格式。 文件更换格式…

Python Django全文搜索库之django-haystack使用详解

概要 Django Haystack库是一个用于在Django项目中实现全文搜索功能的强大工具。它集成了各种搜索引擎,如Elasticsearch、Whoosh等,为开发者提供了灵活且高效的搜索解决方案。在本文中,将深入探讨Django Haystack库的安装、配置和应用,以及如何利用其丰富的功能来实现高级全…

【问题处理】银河麒麟操作系统实例分享,理光打印机lpr协议打印问题处理

1.问题环境 系统版本&#xff1a;Kylin-Desktop-V10-SP1-General-Release-xxx-20221120-x86_64 内核版本&#xff1a;linux 5.4.18-44kt-generic 系统版本&#xff1a;麒麟v10 sp1 处理器&#xff1a;kx6640ma 2.问题描述 问题详细描述&#xff1a;用户通过lpr协议去连接…

《信息技术服务 智能运维 第2部分:数据治理》国家标准2024年第一次线下编写会议成功召开

2024年3月13日~15日&#xff0c;由运维数据治理国标编制组主办的运维数据治理国家标准2024年第一次编写工作会议在上海成功召开。 本次会议由云智慧&#xff08;北京&#xff09;科技有限公司承办&#xff0c;来自南网数字集团信通公司、太保科技、平安银行、广发银行、广东农…

Savitzky-Golay 滤波与Kalman滤波对比

分别使用SG滤波和Kalman滤波对比了平滑RTK解算的1s基线变化高斯坐标系XYH如下图&#xff1a; 从红框可以看出&#xff0c;SG滤波一定程度反应了波动情况&#xff0c;kalman滤波没有反映出来&#xff08;PS&#xff1a;当然也可能和我设置参数有关&#xff0c;大家可以尝试&…

说一说Redis的Bitmaps和HyperLoLog?

本篇内容对应 “Redis高级数据类型”小节 和 “7.5 网站数据统计”小节 对应视频&#xff1a; Redis高级数据结构 网站数据统计 1 什么是UV和DAU&#xff1f; DAUUV英文全称Daily Active UserUnique Visotr中文全称日活跃用户量独立访客如何统计数据通过用户ID排重统计数据通…

uniapp自定义卡片轮播图

效果图 1、封装组件 <template><view><!-- 自定义卡片轮播 --><swiper class"swiperBox" :previous-margin"swiper.margin" :next-marginswiper.margin :circular"true"change"swiperChange"><swiper-ite…

CAD Plant3D 2023 下载地址及安装教程

CAD Plant3D是一款专业的三维工厂设计软件&#xff0c;用于在工业设备和管道设计领域进行建模和绘图。它是Autodesk公司旗下的AutoCAD系列产品之一&#xff0c;专门针对工艺、石油、化工、电力等行业的设计和工程项目。 CAD Plant3D提供了一套丰富的工具和功能&#xff0c;帮助…

极简云验证 download.php 文件读取漏洞复现

0x01 产品简介 极简云验证是一款开源的网络验证系统&#xff0c;支持多应用卡密生成&#xff1a;卡密生成 单码卡密 次数卡密 会员卡密 积分卡密、卡密管理 卡密长度 卡密封禁 批量生成 批量导出 自定义卡密前缀等&#xff1b;支持多应用多用户管理&#xff1a;应用备注 应用版…

找单链表倒数第K个节点

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 但行前路&#xff0c;不负韶华&#…