当前位置: 首页 > news >正文

表数据编辑(数据库)

目录

一、插入数据

1.插入单个元组: INSERT…VALUES语句

2.插入子查询的结果: INSERT…SELECT语句

3.使用SELECT…INTO语句进行数据插入

二、修改数据

1、数据修改语句:UPDATE

2、修改给定表的所有行

3、基于给定表修改某些行

4、基于其他表修改某些行

5.用子查询修改某些行

三、删除数据

1.数据删除语句:DELETE

2.删除给定表的所有行

3. 基于给定表删除某些行

4.基于其他表删除某些行

5.用子查询删除某些行


表数据编辑又称数据更新,包括插入数据、修改数据和删除数据三类命令。

一、插入数据

1.插入单个元组: INSERT…VALUES语句

格式为:

INSERT [INTO]<表名> [ ( ]<列名> [,…n] ) ]

VALUES ( [,…n] )

注意:

(1)未出现在列名列表中的列插入时取空值

(2)表达式数量必须和列名数量相等,表达式的数据类型必须和对应列的数据类型相兼容;

(3)关系中的NOT NULL列必须出现在列名列表中;

(4)若省略列名列表,则VALUES须指定所有列的值。

【例】将(’S060102’, ’010201’)插入选课表。

INSERT INTO 选课表 (学号, 开课号)

VALUES ('S060102', '010201')

2.插入子查询的结果: INSERT…SELECT语句

格式为:

INSERT [INTO]<表名> [ <列名>( [,…n] ) ]

SELECT语句

【例】求各个专业学生的平均累计学分,把结果存入表中。

CREATE TABLE 主修专业 ( 专业 CHAR(20), avgpa INT)

GO

INSERT INTO 主修专业(专业, avgpa)

SELECT 专业, AVG(累计学分) FROM 学生表

GROUP BY 专业

3.使用SELECT…INTO语句进行数据插入

格式为:

SELECT <目标列>[,…n] INTO<新表名>

[ SELECT语句的其他子句 ]

注意:

(1)系统会自动创建一个新表,新表的结构由目标列表达式定义,然后将 SELECT 语句的结果集插入这个新表 ;

(2)当目标列是计算列时,必须为它起别名。

【例】用SELECT … INTO语句,求各个专业学生的平均累计学分,把结果存入表中。

SELECT 专业, AVG(累计学分) AS 平均累计学分 INTO 主修专业

FROM 学生表

GROUP BY 专业

二、修改数据

1、数据修改语句:UPDATE

格式为:

UPDATE<表名> SET {<列名> = <表达式>}[,…n]

[ FROM <表名>[,…n] ]

[ WHERE <修改条件>]

注意:

(1)UPDATE语句用来修改指定表中满足WHERE条件的元组。修改方法是用SET子句中的值取代相应列的值 ;

(2)修改条件和SELECT语句中WHERE条件完全相同,它不仅可以直接使用UPDATE后面的表,也可通过引入FROM子句直接使用其他表,还可以将子查询嵌入修改条件中。

2、修改给定表的所有行

省略WHERE子句,则UPDATE将修改表的所有行。

【例】将所有学生的累计学分增加3分。

UPDATE 学生表 SET 累计学分=累计学分+3 

3、基于给定表修改某些行

如果省略FROM子句,但含有WHERE子句,则UPDATE语句将修改满足修改条件的行,但是此时的修改条件只能直接使用UPDATE后面的表所包含的列。

【例】将计算机专业所有女生的籍贯改为“杭州”,累计学分增加3分。

UPDATE 学生表 SET 累计学分=累计学分+3, 籍贯='杭州'

WHERE 专业 = '计算机' AND 性别 = '女'

4、基于其他表修改某些行

如果修改条件需要使用其他表的列,就要用FROM子句将这些表引入到UPDATE语句中。

【例】将计算机专业所有学生的数据库原理课程的成绩增加10分。

UPDATE 选课表

SET 成绩 = 成绩+10

FROM 开课表 AS O, 课程表 AS C, 学生表 AS S

WHERE 专业 = '计算机' AND 课名 = '数据库原理'

AND C.课号 = O.课号 AND O.开课号 = 选课表.开课号

AND 选课表.学号 = S.学号

5.用子查询修改某些行

UPDATE中的修改条件还可以通过嵌入子查询进行构造。

【例】用子查询构造,将计算机专业所有学生的数据库原理课程的成绩增加10分。

UPDATE 选课表

SET 成绩 = 成绩+10

FROM 学生表 AS S

WHERE 专业 = '计算机' AND 选课表.学号 = S.学号 AND 开课号

IN (SELECT 开课号 FROM 开课表 WHERE 课号 IN

( SELECT 课号 FROM 课程表 WHERE 课名 = '数据库原理' ) )

三、删除数据

1.数据删除语句:DELETE

格式为:

DELETE [FROM]<目标表名>

[ FROM <表名>[,…n] ]

[ WHERE <删除条件>]

注意:

(1) DELETE语句用来删除指定表中满足删除条件的元组;

(2)删除条件和SELECT语句中WHERE条件完全相同,它不仅可以直接使用DELETE后面的表,也可通过引入FROM子句直接使用其他表,还可以将子查询嵌入删除条件中。

2.删除给定表的所有行

省略WHERE子句,则DELETE将删除表的所有行。

【例】将Student表清空。

DELETE FROM Student 3.

3. 基于给定表删除某些行

如果省略FROM子句,但含有WHERE子句,则DELETE语句将删除满足删除条件的行,但是此时的删除条件只能直接使用DELETE后面的表所包含的列。

【例】从Student表中删除计算机专业所有女生的信息。

DELETE FROM 学生表

WHERE 专业 = '计算机' AND 性别 = '女'

4.基于其他表删除某些行

如果删除条件需要使用其他表的列,就要用FROM子句将这些表引入到DELETE语句中。

【例】从选课t表中删除计算机专业所有学生对数据库原理课程的选修信息。

DELETE FROM 选课表 FROM 开课表 AS O, 课程表 AS C, 学生表 AS S

WHERE 专业 = '计算机'

AND 课名 = '数据库原理'

AND C.课号 = O.课号

AND O.开课号 = 选课表.开课号

AND 选课表.学号 = S.学号

5.用子查询删除某些行

DELETE中的删除条件还可以通过嵌入子查询进行构造。

【例】用子查询构造从选课t表中删除计算机专业所有学生对数据库原理课程的选修信息。

DELETE FROM 选课表 FROM 学生表 AS S

WHERE 专业 = '计算机' AND 选课表.学号 = S.学号 AND 开课号

      IN ( SELECT 开课号

             FROM 开课表WHERE 课号

             IN ( SELECT 课号 FROM 课程表

                    WHERE 课名 = '数据库原理’ ) )

相关文章:

表数据编辑(数据库)

目录 一、插入数据 1&#xff0e;插入单个元组: INSERT…VALUES语句 2&#xff0e;插入子查询的结果: INSERT…SELECT语句 3&#xff0e;使用SELECT…INTO语句进行数据插入 二、修改数据 1、数据修改语句&#xff1a;UPDATE 2、修改给定表的所有行 3、基于给定表修改某…...

考虑多能负荷不确定性的区域综合能源系统鲁棒规划(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

RocketMQ整理

RocketMQ在阿里云上的商业版本,集成了阿里内部一些更深层次的功能及运维定制。开源版本,功能上略有缺失,但大体上是一样的。 使用Java开发,便于深度定制。最早叫MetaQ。消息吞吐量虽然依然不如Kafka,但是却比RabbitMQ高很多。在阿里内部,RocketMQ集群每天处理的请求数超过…...

Springboot +Flowable,会签、或签简单使用(二)

一.简介 **会签&#xff1a;**在一个流程中的某一个 Task 上&#xff0c;这个 Task 需要多个用户审批&#xff0c;当多个用户全部审批通过&#xff0c;或者多个用户中的某几个用户审批通过&#xff0c;就算通过。 例如&#xff1a;之前的请假流程&#xff0c;假设这个请假流程…...

将核心交换机配置为NTP服务器

AR配置外源NTP 1&#xff0e;配置ntp <XQ-R1220>sys [XQ-R1220]ntp-service unicast-server 120.25.115.20 #阿里云ntp [XQ-R1220]ntp-service unicast-server 203.107.6.88 #阿里云ntp 2&#xff0e;查看ntp状态 <XQ-R1220>display ntp status clock sta…...

application.properties文件注释

这是一个常用的Spring Boot配置文件 在这里&#xff0c;我们可以配置应用程序的各种属性 服务器端口号 server.port8080 数据库配置 spring.datasource.urljdbc:mysql://localhost:3306/test spring.datasource.usernameroot spring.datasource.password123456 spring.datasou…...

MySql查询报错this is incompatible with sql_mode=only_full_group_by

错误示例 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘yiliaohaocai_new.a.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_modeonly_full_group_by 原因 SQL …...

VMware Workstation 网络备忘 + 集群规模

概述 在虚拟机中部署服务&#xff0c;进行IP规划&#xff0c;进行相关的前期准备 3 张网卡 2个不同的网段 1个NAT 概述截图 NAT 截图 VMnet0 截图 VMnet1 截图 总结&#xff1a; 网卡&#xff08;网络适配器&#xff09;名称IP网段备注NATens33192.168.139.0VMnet0ens34VMne…...

被裁现状,给找工作的同学一些建议

2022 到 2023 国内知名互联网公司腾讯、阿里、百度、快手、滴滴、京东、阿里、爱奇艺、知乎、字节跳动、小米等公司均有裁员&#xff0c;其中有不少公司&#xff0c;在过去年的一整年&#xff0c;进行了多轮裁员&#xff0c;以下是网传的一张 “2022 年裁员企业名单”。 这些裁…...

编程到底难在哪里?

编程是一门非常有挑战性的技术&#xff0c;能够让人们使用计算机来完成各种任务。它不仅需要掌握各种计算机语言和框架&#xff0c;还需要在实际应用中充分发挥自己的专业知识和创造力。 然而&#xff0c;对于初学者来说&#xff0c;在编程过程中遇到的难点可能是多方面的。以…...

C++ 仿函数(一)

目录 一、仿函数是什么&#xff1f; 二、仿函数的特点 1.仿函数在使用时&#xff0c;可以像普通函数那样调用, 可以有参数&#xff0c;可以有返回值 2.仿函数超出普通函数的概念&#xff0c;可以有自己的状态 ​编辑3.仿函数可以作为参数传递。 三、谓词 一元谓词示例&a…...

MATLAB连续LTI系统的时域分析(十)

目录 1、实验目的&#xff1a; 2、实验内容&#xff1a; 1、实验目的&#xff1a; 1&#xff09;掌握利用MATLAB对系统进行时域分析的方法&#xff1b; 2&#xff09;掌握连续时间系统零输入响应的求解方法&#xff1b; 3&#xff09;掌握连续时间系统零状态响应、冲激响应和…...

HBuilderX使用

HBuilderX使用&#xff08;Vue前后端分离&#xff09; 概述&#xff1a;DCloud开发者后台 DAccount Service 1、官网下载开发工具&#xff1a;HBuilderX-高效极客技巧 注意&#xff1a;安装目录路径中不能出现中文特殊字符&#xff0c;否则会造成项目无法编译。比如C:/Progr…...

【JavaSE】多态(多态实现的条件 重写 向上转移和向下转型 向上转型 向下转型 多态的优缺点 避免在构造方法种调用重写的方法)

文章目录 多态多态实现的条件重写向上转移和向下转型向上转型向下转型 多态的优缺点避免在构造方法种调用重写的方法 多态 一种事物&#xff0c;多种形态。 多态的概念&#xff1a;去完成某个行为&#xff0c;当不同对象去完成时会产生出不同的状态。 多态实现的条件 1.必须…...

MySQL学习---13、存储过程与存储函数

1、存储过程概述 MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将负杂的SQL逻辑封装在一起&#xff0c;应用程序无序关注存储过程和函数内部复杂的SQL逻辑&#xff0c;而只需要简单的调用存储过程和函数就可以。 1.1 理解 含义&#xff1a;存储过程的英文是Sto…...

Mysql日志管理、备份与恢复

文章目录 一、Mysql日志管理1.mysql日志2.日志种类3.日志的查询4.配置日志文件 二、Mysql备份与分类1.数据备份的重要性 一、Mysql日志管理 1.mysql日志 Mysql的日志默认保存位置为/usr/local/mysql/date&#xff0c;Mysql的日志配置文件为/etc/my.cnf&#xff0c;里面有一个…...

STM32单片机声控语音识别RGB彩灯多种模式亮度可调WS2812彩灯

实践制作DIY- GC0129-语音识别RGB彩灯 一、功能说明&#xff1a; 基于STM32单片机设计-语音识别RGB彩灯 二、功能介绍&#xff1a; STM32F103C系列最小系统板5VUSB电源64个灯珠的WS2812灯板1个开关键&#xff08;3档亮度调节&#xff09;1个模式切换键&#xff08;白灯 红灯…...

高校9大学术工具推荐,一定要用起来哦!

1、文献管理工具&#xff1a;例如EndNote、Mendeley和Zotero&#xff0c;这些工具可以帮助您整理、管理和引用文献。 2、数据分析工具&#xff1a;例如SPSS、R和Python等&#xff0c;用于进行统计分析和数据处理。 3、学术写作工具&#xff1a;例如LaTeX和Microsoft Word&…...

记一次压力测试

性能测试文档 背景 为对产品性能有一定了解&#xff0c;现将产品展开一次性能测试&#xff1b; 环境与工具 本章为基本工具准备及linux命令说明&#xff0c;无先后顺序。 Xshell工具 本文使用Xshell在Windows界面下远程登录linux主机安装Xshell直接全部选择默认选项即可&…...

一个文明是否有竞争力,在很大程度上取决于信息传递的效率。

文章目录 引言I 有效地传递信息1.1 信息传播分类1.2 信息传递的有效性II 科技进步的必要条件和充分条件2.1 能量总量2.2 能量密度2.3 衡量科技成就的大小2.4 科学的诞生的意义:获得叠加式收益引言 科技进步的必要条件是能量总量,而充分条件是能量密度。一个文明是否有竞争力,…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...