【数据库SQL server】关系数据库标准语言SQL之数据更新

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 【数据库SQL server】关系数据库标准语言SQL之数据更新



🌌关系数据库标准语言SQL之数据更新

🌍 数据更新

语句格式

       DELETE
      FROM     <表名>
      [WHERE <条件>];

功能:删除指定表中满足WHERE子句条件的元组

WHERE子句

  1. 指定要删除的元组
  2. 缺省表示要删除表中的全部元组,表的定义仍在字典中

三种删除方式

  1. 删除某一个元组的值
  2. 删除多个元组的值
  3. 带子查询的删除语句

【1】 删除学号为201215128的学生记录。

       DELETE

        FROM Student

        WHERE Sno= 201215128 ';

【1】删除所有的学生选课记录。

       DELETE

       FROM SC;

【1】删除计算机科学系所有学生的选课记录。

       DELETE

       FROM  SC

       WHERE  Sno  IN

           (SELETE  Sno

                   FROM   Student

                   WHERE  Sdept= 'CS') ;


🌍空值的处理

空值就是“不知道”或“不存在”或“无意义”的值。

一般有以下几种情况:

  1. 该属性应该有一个值,但目前不知道它的具体值
  2. 该属性不应该有值
  3. 由于某种原因不便于填写

属性定义(或者域定义)中

  1. 有NOT NULL约束条件的不能取空值
  2. 加了UNIQUE限制的属性不能取空值
  3. 码属性不能取空值
  4. 空值与另一个值(包括另一个空值)的算术运算的结果为空值
  5. 空值与另一个值(包括另一个空值)的比较运算的结果为UNKNOWN。
  6. 有UNKNOWN后,传统二值(TRUE,FALSE)逻辑就扩展成了三值逻辑

【1】向SC表中插入一个元组,学生号是”201215126”,课程号是”1”,成绩为空。

INSERT INTO SC(Sno,Cno,Grade)

VALUES('201215126 ','1',NULL);   /*该学生还没有考试成绩,取空值*/

INSERT INTO SC(Sno,Cno)

VALUES(' 201215126 ','1');             /*没有赋值的属性,其值为空值*/

【1】将Student表中学生号为”201215200”的学生所属的系改为空值。

   UPDATE Student

   SET Sdept = NULL

   WHERE Sno='201215200';

判断一个属性的值是否为空值,用IS NULL或IS NOT NULL来表示。

【1】从Student表中找出漏填了数据的学生信息

   SELECT  *

   FROM Student

   WHERE Sname IS NULL OR Ssex IS NULL OR Sage IS NULL OR Sdept IS NULL;

【1】找出选修1号课程的不及格的学生。

  SELECT Sno

  FROM SC

  WHERE Grade < 60 AND Cno='1';

 查询结果不包括缺考的学生,因为他们的Grade值为

 null。

【1】选出选修1号课程的不及格的学生以及缺考的学生。

SELECT Sno

FROM SC

WHERE Grade < 60 AND Cno='1'

UNION

SELECT Sno

FROM SC

WHERE Grade IS NULL AND Cno='1'

或者

SELECT Sno

FROM SC

WHERE Cno='1' AND (Grade<60 OR Grade IS NULL);


📝总结

数据库SQL Server领域就像一片未被勘探的信息大海,引领你勇敢踏入数据科学的神秘领域。这是一场独特的学习冒险,从基本概念到算法实现,逐步揭示更深层次的模式分析、匹配算法和智能模式识别的奥秘。

相关实践学习
MySQL数据库快速部署实践
本场景主要介绍如何在一台配置了CentOS 7.7版本的ECS实例(云服务器)上安装mysql,执行mysql的常用操作,学习基本的SQL语句。
目录
相关文章
|
2月前
|
SQL Web App开发 安全
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
104 2
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
|
21天前
|
SQL Web App开发 安全
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
50 0
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
|
2月前
|
SQL 容灾 安全
云时代SQL Server的终极答案:阿里云 RDS SQL Server如何用异地容灾重构系统可靠性
在数字化转型的浪潮中,数据库的高可用性已成为系统稳定性的生命线。作为经历过多次生产事故的资深开发者,肯定深知传统自建SQL Server架构的脆弱性——直到遇见阿里云 RDS SQL Server,其革命性的异地容灾架构彻底改写了游戏规则。
|
3月前
|
SQL Web App开发 安全
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
209 0
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
|
SQL 关系型数据库 MySQL
【超全整理】SQL日期与时间函数大汇总会:MySQL与SQL Server双轨对比教学,助你轻松搞定时间数据处理难题!
【8月更文挑战第31天】本文介绍了在不同SQL数据库系统(如MySQL、SQL Server、Oracle)中常用的日期与时间函数,包括DATE、NOW()、EXTRACT()、DATE_ADD()、TIMESTAMPDIFF()及日期格式化等,并提供了具体示例。通过对比这些函数在各系统中的使用方法,帮助开发者更高效地处理日期时间数据,满足多种应用场景需求。
1560 1
|
12月前
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
1289 0
|
Java 应用服务中间件 Maven
从零到英雄:一步步构建你的首个 JSF 应用程序,揭开 JavaServer Faces 的神秘面纱
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的 Java EE 标准,用于构建企业级 Web 应用。它提供了丰富的组件库和声明式页面描述语言 Facelets,便于开发者快速开发功能完善且易于维护的 Web 应用。本文将指导你从零开始构建一个简单的 JSF 应用,包括环境搭建、依赖配置、Managed Bean 编写及 Facelets 页面设计。
258 0
|
SQL 数据库 开发者
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
1399 0
|
存储 SQL 程序员
【Sql Server】存储过程通过作业定时执行按天统计记录
通过前两篇文章的学习,我们已经对创建表、存储过程、作业等功能点有所了解 本次将结合前面所学习的知识点,创建统计表以及结合作业定时按天以及实时统计域名各个长度的记录值
577 0
【Sql Server】存储过程通过作业定时执行按天统计记录

热门文章

最新文章