【MySQL数据库和JDBC编程】第三章-第一节:MySQL的增删查改基础篇

news2025/1/13 9:29:59

文章目录

  • 一:INSET新增
  • 二:SELECT查询
    • (1)全列查询
    • (2)指定列查询
    • (3)查询字段为表达式
    • (4)起别名
    • (5)去重(DISTINCT)
    • (6)排序(ORDER BY)
    • (7)条件查询(WHERE)
      • A:基本查询
      • B:AND和OR
      • C:范围查询
        • ①:BETWEEN AND
        • ②:IN
      • D:模糊查询LIKE
      • E:NULL的查询
      • F:分页查询-LIMIT
  • 三:UPDATE修改
  • 四:DELETE删除

一:INSET新增

INSERT新增:语法格式如下

insert
into 表名([列名1,列名2,....])
values(常量1,常量2,...)

以下面的student为例进行说明

create table student(
	Sid int,
	Snumber int comment '学号',
	Sname varchar(20) comment '姓名',
	Seamil varchar(20) comment '邮箱'
);

在这里插入图片描述

例子

①:插入如下三行数据,一次只插入一行

insert into student values(1, 2012345, '张三', 'zhangsan123@qq.com');
insert into student values(2, 2012557, '李三', NULL);
insert into student values(3, 2012663, '王五', 'wangwu@163.com');

在这里插入图片描述

②:指定列插入,并且一次插入多行数据

insert 
into student(Sid, Sname)
values
(4, '赵倩'),
(5, '孙莉');

在这里插入图片描述

二:SELECT查询

SELECT查询:根据WHERE子句的条件表达式从FROM子句指定的表、视图中找出满足条件的元组,再按照SELECT子句中的目标列表达式选出元组中的属性值形成结果表。如果有:

  • GROUP BY:结果按<列名1>的值进行分组,该属性列值相等的元组为一个组;通常会在每组中作用聚集函数;如果该子句还携带HAVING短语,则只有满足指定条件的组才予以输出
  • ORDER BY:结果表还要按<列名2>的值的升序或降序排序

在这里插入图片描述

以下面的exam为例进行说明

create table exam(
	Sid, int,
	Sname varchar(20),
	Chinese decimal(3, 1),
	Math decimal(3, 1),
	English decimal(3, 1)
);

insert into 
exam
values 
(1, '唐三藏', 67, 98, 56),
(2, '孙悟空', 87.5, 78, 77),
(3, '猪八戒', 88, 98.5, 90),
(4, '曹操', 82, 84, 67),
(5, '刘备', 55.5, 86, 45),
(5, '孙权', 70, 73, 78.5),
(5, '宋江', 75, 65, 30);

在这里插入图片描述

(1)全列查询

全列查询:语法格式如下

  • 一般不建议使用通配符*进行查询,因为查询的列越多,传输的数据量就越大
  • 可能会影响到索引的使用
select * from 表名;

例子

select * from exam;

在这里插入图片描述

(2)指定列查询

全列查询:语法格式如下

  • 列的顺序可以不按照原有列顺序
select 列名1, 列名2, .. from 表名;

例子

select Sname, English from exam;

在这里插入图片描述

(3)查询字段为表达式

查询字段为表达式:在查询时列可以参与运算

例子

select Sname, English from exam;

在这里插入图片描述

(4)起别名

起别名:可以为查询结果起一个通俗易懂的名字,别名放在对应列名(表名、表达式也可以)之后即可

例子

select Sname 姓名, English + Math + Chinese 总成绩 from exam;

在这里插入图片描述

(5)去重(DISTINCT)

去重(DISTINCT):在列名前面加入distinct会把重复的记录合并为一个显示

  • 如果对多个列去重,那么只有多个列相同时才视为重复

例子

select distinct Math from exam;

在这里插入图片描述

(6)排序(ORDER BY)

排序(ORDER BY):使用order by可以按照指定列进行排序

  • asc(默认):升序
  • desc:降序
  • null数据在任何情况下被视为最小值

例子

①:对所有数据按照Chinese升序排序

select * from exam order by Chinese;

在这里插入图片描述

②:对所有数据按照Engilish降序排序

select * from exam order by English desc;

在这里插入图片描述

③:对多个列进行排序,写在前面的列的权重要高于后面的列,也即主要关键字和次要关键字之分。如下对所有数据依次按照Math降序、English升序、Chinese升序排序。也即在保证Math降序的前提下再对English升序,最后对Chinese升序

select Sname, Math, English, Chinese from exam order by Math desc, English, Chinese;

在这里插入图片描述

(7)条件查询(WHERE)

条件查询(WHERE):查询时where后面可以跟上查询条件,select会根据where后面的内容来判断,查询条件主要包括

  • 比较运算(特别注意这个=
    在这里插入图片描述

  • 逻辑运算
    在这里插入图片描述

A:基本查询

例子

①:查询英语成绩低于60分的同学

select Sname from exam where English < 60;

在这里插入图片描述

②:查询语文成绩高于英语成绩的同学

select Sname from exam where Chinese > English;

在这里插入图片描述

③:查询总分低于200分的同学

select Sname, Chinese+Math+English from exam where Chinese+Math+English < 200;

在这里插入图片描述

B:AND和OR

  • AND优先级要高于OR

例子

①:查询语文成绩大于80且英语成绩大于80的同学

select Sname, Chinese, English from exam where Chinese > 80 and English > 80;

在这里插入图片描述

②:查询语文成绩大于80或英语成绩大于80的同学

select Sname, Chinese, English from exam where Chinese > 80 or English > 80;

在这里插入图片描述

C:范围查询

①:BETWEEN AND

例子

①:查询语文成绩在[80, 90]的同学

select Sname, Chinese from exam where Chinese between 80 and 90;

在这里插入图片描述

②:between and等价于and

select Sname, Chinese from exam where Chinese >= 80 and Chinese <= 90;

在这里插入图片描述

②:IN

例子

①:查询数学成绩是58或59或98或99的同学

select Sname, Math from exam where Math in (58, 59, 98, 99);

在这里插入图片描述

②:in 等价于 or

select Sname, Math from exam where Math = 50 or Math=59 or Math=98 or Math=99;

在这里插入图片描述

D:模糊查询LIKE

例子

①:%可以匹配任意多个字符(包括0个)

select Sname from exam where Sname like '孙%';

在这里插入图片描述

②:匹配严格的一个任意字符

select Sname from exam where Sname like '孙_';

在这里插入图片描述

E:NULL的查询

例子

select Sname from student where Sname is not null;
select Sname from student where Sname is null;

F:分页查询-LIMIT

其语法格式如下,表达的意思是从s开始,筛选n条结果

select ... from table limit n offset s;

例子

select * from exam limit 3 offset 4;

在这里插入图片描述

三:UPDATE修改

语法:格式如下,其功能是修改指定表中满足WHERE子句条件的元组

  • 如果省略WHERE子句,则表示要修改表中所有元组

在这里插入图片描述

例子

①:将指定同学的数学成绩变更为80分

update exam set Math = 80 where Sname like '孙悟空';

在这里插入图片描述

②:将指定同学的数学、语文成绩分别变更为60分、70分

update exam set Chinese = 70, Math = 60 where Sname like '宋江';

在这里插入图片描述

③:将总成绩倒数前三的3位同学的数学成绩加上1分

update exam set Math = Math + 1 order by Chinese+Math+English limit 3;

在这里插入图片描述

四:DELETE删除

语法:格式如下,其功能是从指定表中删除满足WHERE子句条件的所有元组,注意

  • DELETE删除的是表的数据,而不是表的定义
  • 如果省略WHERE子句,那么就表示删除全部元组

在这里插入图片描述

例子

delete from exam where Sname = '孙悟空';

在这里插入图片描述

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

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

相关文章

微信小程序request:fail报错(包括不执行fail回调问题)

微信小程序request:fail报错&#xff08;包括不执行fail回调的问题&#xff09;1. 不执行fail回调的问题2. request:fail报错原因2.1 小程序未配置域名导致的错误2.2 微信小程序使用的服务器环境不支持TLS1.22.3 使用的SSL证书不信任2.4 SSL证书证书链缺乏2.5 域名未备案&#…

使用Spring框架进行Web项目开发(初级)

目录 前言 1. 为什么常规的Spring框架不适合Web项目呢&#xff1f; 2. 如何在Spring框架中创建容器&#xff1f; 3. Spring框架开发Web项目的步骤 3.1 创建maven项目 3.2 添加相应的依赖 3.3 在webapp目录下的web.xml中注册监听器 3.4 在webapp文件夹下的web.xml中配置…

【信息科学技术与创新】自然语言处理 NLP 计算机与智能 课程总结思考

深入了解 NLP 及课程总结反思 摘要 自然语言处理的历史发展自然语言处理的方法与相关应用关于数据智能科学技术导论这门课程的总结反思 Navigator深入了解 NLP 及课程总结反思一、自然语言处理的历史发展二、自然语言处理的方法与相关应用三、关于数据智能科学技术导论这门课…

【C++初阶】日期类实现、const成员函数、取地址及const取地址操作符重载

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【C学习与应用】 ✒️✒️本篇内容&#xff1a;日期类的代码实现、const成员函数的概念和作用、取地址及const取地址操作符重载 &#x1f6a2;&#x1f6a2…

去水印小程序

真正的大师,永远都怀着一颗学徒的心&#xff01; 一、项目简介 项目UI确实有点朴实无华&#xff0c;但并不影响她美丽的内在。这和人也一样&#xff0c;属于心灵美。 虽然&#xff0c;这个社会上的大多数人喜欢从一件事物的外表&#xff0c;去评判事物的好坏&#xff0c;即好…

vue支付项目-APP支付宝支付功能

⭐️⭐️⭐️ 作者&#xff1a;船长在船上 &#x1f6a9;&#x1f6a9;&#x1f6a9; 主页&#xff1a;来访地址船长在船上的博客 &#x1f528;&#x1f528;&#x1f528; 简介&#xff1a;CSDN前端领域优质创作者&#xff0c;资深前端开发工程师&#xff0c;专注前端开发…

FreeRTOS 软件定时器的使用

FreeRTOS中加入了软件定时器这个功能组件&#xff0c;是一个可选的、不属于freeRTOS内核的功能&#xff0c;由定时器服务任务&#xff08;其实就是一个定时器任务&#xff09;来提供。 软件定时器是当设定一个定时时间&#xff0c;当达到设定的时间之后就会执行指定的功能函数&…

【趣学算法】Day2 贪心算法——最优装载问题

14天阅读挑战赛努力是为了不平庸~ 算法学习有些时候是枯燥的&#xff0c;这一次&#xff0c;让我们先人一步&#xff0c;趣学算法&#xff01; ❤️一名热爱Java的大一学生&#xff0c;希望与各位大佬共同学习进步❤️ &#x1f9d1;个人主页&#xff1a;周小末天天开心 各位大…

ESP8266/esp32接入阿里云物联网平台点灯控制类案例

ESP8266/esp32接入阿里云物联网平台点灯控制类案例&#x1f4cc;阿里云物联网云平台介绍&#xff1a;https://help.aliyun.com/product/30520.html &#x1f38b;需要自己在阿里云物联网云平台注册自己的账户&#xff0c;这里不做介绍了。 &#x1f33b;阿里云物联网云平台创建…

Python基础入门(持续更新中)

一、发展历程 Python的创始人为荷兰人吉多范罗苏姆&#xff08;Guido van Rossum&#xff09;。1989年圣诞节期间&#xff0c;在阿姆斯特丹&#xff0c;Guido为了打发圣诞节的无趣&#xff0c;决心开发一个新的脚本解释程序&#xff0c;作为ABC语言的一种继承。之所以选中单词P…

CANoe-以太网软硬件网络自动映射的问题

以太网软硬件网络自动映射的问题 当我们设置CANoe以太网模式为Network-based access模式时 我们需要在CANoe硬件里配置segment,具体内容请参考文章《如何配置CANoe Network-based access模式的以太网网络拓扑》 有时我们图省事,配置的segment默认名称是什么,我们也不管,也…

UVM如何处理out-of-order乱序传输

文章目录前言1、基本思路2、支持乱序传输的sequence3、支持乱序传输的Driver总结前言 乱序传输(out-of-order)是指在协议中&#xff0c;后发出去的req&#xff0c;支持先回resp&#xff0c;通常通过ID来保证req和resp之间的关系。很多协议支持乱序传输&#xff0c;例如AXI4。本…

我们简单的new了一个对象,JVM都做了哪些贡献?

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章是关于CAS的介绍以及在我们new对象时&#xff0c;Java虚拟机会为我们做些什么贡献。 本篇文章记录的基础知识&#xff0c;适合在学Java的小白&#xff0c;也适合复…

【C++笔试强训】第九天

&#x1f387;C笔试强训 博客主页&#xff1a;一起去看日落吗分享博主的C刷题日常&#xff0c;大家一起学习博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a;夜色难免微凉&#xff0c;前方必有曙光 &#x1f31e;。 &#x1f4a6; &…

基于骨骼的动作识别:PoseConv3D

Revisiting Skeleton-based Action Recognition解读摘要1. 简介2. Related Work2.1 基于3D-CNN的rgb视频动作识别2.2 基于GCN的骨骼动作识别2.3 基于CNN的骨骼动作识别3. Framework3.1 Pose Extraction3.2 From 2D Poses to 3D Heatmap Volumes3.3 基于骨骼的动作识别3D-CNN3.3…

智能的逻辑与理性的逻辑是不同的逻辑

1.世界是由事实和价值共同组成的1.1 事实由对象、事态及其联系&#xff08;如语言&#xff09;构成1.2 价值是事实在实践中的作用和效果构成1.3 事实中存在着决定论&#xff0c;价值里包含有自由意志1.3.1 事实反映有无&#xff0c;价值反映好坏1.4 每一个事实都具有变价值&…

8.2 从堆中绕过SafeS.E.H

一、实验环境 操作系统&#xff1a;windows XP SP2&#xff08;关闭DEP&#xff09; 软件版本&#xff1a;VS2008&#xff08;release&#xff09;、原版OD&#xff08;实时调试&#xff09; 二、实验代码 #include <stdafx.h> #include <stdlib.h> #include <…

计算机操作系统引论(操作系统)

目录 一、操作系统的目标 二、操作系统的作用 三、操作系统的基本特性 四、操作系统的主要功能 五、操作系统的结构设计 一、操作系统的目标 操作系统&#xff08;Operating System&#xff0c;OS&#xff09;是计算机硬件的第一层软件&#xff0c;是计算机必备配置的最基…

接口自动化测试(二)—— Postman实现接口测试

其他 接口自动化测试 知识参考&#xff1a;接口自动化测试 目录 一、Postman介绍和安装 1、简介 2、安装 3、安装Postman插件newman 二、Postman基本用法 1、案例一 2、案例二 三、Postman高级用法 1、管理测试用例Collections 1.1、创建 collections 1.2、创建 用…

libusb系列-002-Windows下libusb源码编译

libusb系列-002-Windows下libusb源码编译 文章目录libusb系列-002-Windows下libusb源码编译摘要Windows下编译libusb库下载源码进入msvc目录选择对应的项目工程编译查看编译好的库文件关键字&#xff1a; vs、 编译、 Qt、 libusb、 windows内容背景&#xff1a; 最近项目终于切…