數據庫day-08

一、實驗名稱和性質

刪除修改數據

驗證?設計

二、實驗目的

1.掌握數據操作-- 刪除、修改;

三、實驗的軟硬件環境要求

硬件環境要求:

?????? PC機(單機)

使用的軟件名稱、版本號以及模塊:

?????? Windows? 10,SQL Server 2019

四、知識準備

1.數據刪除的語句格式:

DELETE ?[FROM]? 表名 ??[WHERE ?字句]

3.據修改格式:

UPDATE 表名 ?SET? 字段名=表達式 [,…]? [WHERE 字句]

五、實驗內容

1.數據的修改操作;

2.數據的刪除操作;

六、驗證性實驗

(1)生成實驗數據? (表名自己加學號后三位)

SELECT ?*? INTO STUDENTAXXX FROM STUDENTXXX

?? SELECT ?*? INTO SCOREAXXX FROM SCOREXXX WHERE? DEGREE <0

? INSERT? SCOREAXXX??? SELECT? *? FROM SCOREXXX

? --注:下面修改和刪除數據,在STUDENTAXXXSCOREAXXX中操作

(2)數據的修改刪除

1. 把所有人的出生日期中的月份減1

?UPDATE STUDENTAXXX set Sbirthday=DATEADD(MONTH, -1,Sbirthday)

?2. 把陳文文 的出生日期中年加1,班級改為95033

? UPDATE STUDENTAXXX set Sbirthday=DATEADD(year,1,Sbirthday),Class='95033' where Sname='陳文文'

3. 把95033班所有男生的出生日期中的日減1,女生的出生日期中的日加1

?UPDATE STUDENTAXXX set Sbirthday=case ssex when? '男' THEN DATEADD(DAY,-1,Sbirthday)

????????????????????????????????? WHEN '女' THEN? DATEADD(DAY,1,Sbirthday) END?

????????????????????????????? ? where Class='95033'

4. 把課程號3-105的所有成績減10

? UPDATE SCOREAXXX SET Degree-=10 WHERE CNO='3-105'

5. 把課程計算機導論的所有成績加10

? ??? UPDATE SCOREAXXX SET Degree+=10 WHERE CNO=(select cno from Course where Cname='計算機導論')?? --子查詢

6.? 把李君帥的所有成績減10

??? UPDATE SCOREAXXX?? SET Degree=Degree- 10 FROM STUDENTAXXX S JOIN SCOREAXXX SC ON SC.Sno=S.Sno WHERE Sname='李君帥'?? --連接

7.? 把李君帥的計算機導論成績加10?

? UPDATE SCOREAXXX?? SET Degree=Degree+ 10 FROM STUDENTAXXX S JOIN SCOREAXXX SC ON SC.Sno=S.Sno

? ??? join Course C ON SC.CNO=C.CNO WHERE? Sname='李君帥' AND? Cname='計算機導論'

8. 刪除學號109課程 3-245的成績

?? delete from? SCOREAXXX WHERE SNO='109' AND CNO='3-245'

9. 刪除曾華慶的 數字電路 成績?

??? delete?? SCOREAXXX WHERE SNO=(select sno from STUDENTAXXX where sname='曾華慶' ) AND? CNO=(select cno from Course where Cname='數字電路')

10.刪除STUDENTAXXX的所有數據

TRUNCATE TABLE? STUDENTAXXX

11.刪除SCOREAXXX的所有數據

? delete?? SCOREAXXX

12.其他,運行以下語句,觀察結果,分別得到什么結論?

--1. SET ANSI_NULLS {ON | OFF}

SET ANSI_NULLS ON? --默認

select? * FROM SCOREXXX WHERE DEGREE <>NULL

select? * FROM SCOREXXX WHERE DEGREE? =NULL

select? * FROM SCOREXXX WHERE DEGREE? is not null

select? * FROM SCOREXXX WHERE DEGREE? is? null

SET ANSI_NULLS OFF

select? * FROM SCOREXXX WHERE DEGREE <>NULL

select? * FROM SCOREXXX WHERE DEGREE? =NULL

select? * FROM SCOREXXX WHERE DEGREE? is not null

select? * FROM SCOREXXX WHERE DEGREE? is? null

SET ANSI_NULLS ON

--2.SET QUOTED_IDENTIFIER { ON | OFF }

SET QUOTED_IDENTIFIER?? ON? --默認

SELECT? SNO,'CNO',DEGREE FROM SCOREXXX

SELECT? SNO,"CNO",DEGREE FROM SCOREXXX

SELECT? SNO,[CNO],DEGREE FROM SCOREXXX

SET QUOTED_IDENTIFIER?? Off

SELECT? SNO,'CNO',DEGREE FROM SCOREXXX

SELECT? SNO,"CNO",DEGREE FROM SCOREXXX

SELECT? SNO,[CNO],DEGREE FROM SCOREXXX

SET QUOTED_IDENTIFIER?? On

--3. top ...?? WITH TIES

select top 3? * from SCOREXXX

select top 3? WITH TIES * from SCOREXXX

select top 3? WITH TIES * from SCOREXXX? order by sno

select top 30? percent???? * from SCOREXXX? order by sno

select top 30 percent WITH TIES?? * from SCOREXXX? order by sno

?

select top 20 percent WITH TIES?? * from SCOREXXX? order by sno

--4. ANY, SOME, ALL

SEELCT * FROM SCOREXXX ?where Degree? >= all(select degree from SCOREXXX )

SEELCT * FROM SCOREXXX ?where Degree? >= all(select degree from SCOREXXX where Degree is not null )

SEELCT * FROM SCOREXXX where Degree? < any(select degree from SCOREXXX where sno =’101’) and sno =’101’

SEELCT * FROM SCOREXXX where Degree? < some(select degree from SCOREXXX where sno =’103’) and sno =’103’

七、設計性實驗

1.實驗要求

(1)重新生成實驗數據STUDENTAXXXSCOREAXXX

(2)刪除修改數據(STUDENTAXXXSCOREAXXX中操作,每題一個語句完成)

1. 把陳文文改名為陳文且出生日期中年月日都加1

UPDATE STUDENT023

SET Sname = '陳文',

??? Sbirthday = DATEADD(DAY, 1, DATEADD(MONTH, 1, DATEADD(YEAR, 1, Sbirthday)))

WHERE Sname = '陳文文'

2.把學號101所有成績加10最大不超過100

? UPDATE SCORE023

SET Degree = CASE WHEN Degree + 10 > 100 THEN 100 ELSE Degree + 10 END

WHERE SNO = '101'

3. 把男生所有成績加10%女生所有成績加10最大不超過100

?? UPDATE SCORE023

SET Degree = CASE

??? WHEN Ssex = '男' THEN

??????? CASE WHEN Degree * 1.1 > 100 THEN 100 ELSE ROUND(Degree * 1.1, 0) END

??? ELSE

??????? CASE WHEN Degree + 10 > 100 THEN 100 ELSE Degree + 10 END

??? END

FROM SCORE023 SC

JOIN STUDENT023 ST ON SC.SNO = ST.SNO

?4.把張旭 老師任課所有及格成績減10最低不小于60

??

UPDATE SCORE023

SET Degree = CASE WHEN Degree - 10 < 60 THEN 60 ELSE Degree - 10 END

WHERE CNO IN (SELECT CNO FROM teacher023 WHERE Tname = '張旭')

AND Degree >= 60

5. 把曾華慶同學 的張旭 老師任課所有及格成績加10%最大不超過100

???

UPDATE SCORE023

SET Degree = CASE WHEN Degree * 1.1 > 100 THEN 100 ELSE ROUND(Degree * 1.1, 0) END

WHERE SNO = (SELECT SNO FROM STUDENT023 WHERE Sname = '曾華慶')

AND CNO IN (SELECT CNO FROM? teacher023 WHERE Tname =? '張旭')

AND Degree >= 60

6. 刪除成為null的成績

DELETE FROM SCORE023 WHERE Degree IS NULL

7. 刪除王芳芳 的操作系統成績

DELETE FROM SCORE023

WHERE SNO = (SELECT SNO FROM STUDENT023 WHERE Sname = '王芳芳')

AND CNO = (SELECT CNO FROM COURSE023 WHERE Cname = '操作系統')

8.刪除曾華慶同學 的張旭 老師任課所有成績

???

DELETE FROM SCORE023

WHERE SNO = (SELECT SNO FROM STUDENT023 WHERE Sname = '曾華慶')

AND CNO IN (SELECT CNO FROM teacher023 WHERE Tname = '張旭')

9. 刪除女生的計算機導論成績

DELETE SCORE023

FROM SCORE023 SC

JOIN STUDENT023 ST ON SC.SNO = ST.SNO

JOIN COURSE023 C ON SC.CNO = C.CNO

WHERE ST.Ssex = '女' AND C.Cname = '計算機導論'

10.刪除本月過生日的男同學信息

DELETE FROM STUDENT023

WHERE Ssex = '男'

AND MONTH(Sbirthday) = MONTH(GETDATE())

2.實驗報告要求

通過本實驗,我掌握了:

  1. 使用UPDATE語句修改表中的數據
  2. 使用DELETE語句刪除表中的數據
  3. 復雜條件更新和刪除的實現方法
  4. 多表連接在更新和刪除中的應用
  5. 子查詢在更新和刪除中的應用

遇到的問題:

  1. 日期計算時需要注意邊界情況
  2. 百分比計算時需要考慮四舍五入
  3. 多表連接更新時需要注意表之間的關系

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903415.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903415.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903415.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA中Spring全局異常處理@ControllerAdvice解析

一、ControllerAdvice基礎概念 1. 什么是ControllerAdvice&#xff1f; ControllerAdvice是Spring 3.2引入的注解&#xff0c;用于定義全局控制器增強組件&#xff0c;主要功能包括&#xff1a; 全局異常處理&#xff08;最常用&#xff09;全局數據綁定全局數據預處理 2. …

開放平臺架構方案- GraphQL 詳細解釋

GraphQL 詳細解釋 GraphQL 是一種用于 API 的查詢語言&#xff0c;由 Facebook 開發并開源&#xff0c;旨在提供一種更高效、靈活且強大的數據獲取和操作方式。它與傳統的 REST API 有顯著不同&#xff0c;通過類型系統和靈活的查詢能力&#xff0c;解決了 REST 中常見的過度獲…

labview項目文件架構

為了使 LabVIEW 項目更具可擴展性和易于維護&#xff0c;合理規劃和設計項目文件結構是非常重要的。 以下是一些基于行業經驗和最佳實踐的建議&#xff1a; 1. ### 文件夾層次劃分 將不同的功能模塊分開存儲在一個清晰的分層目錄結構中是一個常見的做法。通常情況下&#xff…

Chrome的插件擴展程序安裝目錄是什么?在哪個文件夾?

目錄 前提 直接復制到瀏覽器中打開 Mac下Chrome extension 安裝路徑 最近換了mac pro用起來雖然方便&#xff0c;但是對常用的一些使用方法還是不熟悉。這不為了找到mac上chrome插件的安裝路徑在哪里&#xff0c;花費了不少時間。我想應用有不少像小編一樣剛剛使用mac的小白…

第13講:圖形尺寸與分辨率設置——適配論文版面,打造專業圖稿!

目錄 ?? 為什么這一講重要? ?? 一、先認識幾個關鍵詞 ?? 二、ggsave() 是導出圖的標準方法 ?? 三、尺寸設置技巧:對齊目標期刊 ?? 找到目標期刊的圖形欄寬 ?? 四、多個圖組合導出(與 patchwork 搭配) ?? 五、使用 Cairo / ragg 導出高質量圖 ?? 六…

2025年- H13-Lc120-189.輪轉數組(普通數組)---java版

1.題目描述 2.思路 import java.util.Arrays;public class H189 {public static void main(String[] args) {int[] newArr {1, 2, 3, 4, 5};int[] nums new int[5];System.arraycopy(newArr,0,nums,0,4);System.out.println(Arrays.toString(nums)); } }補充2&#xff1a; 3.…

機器人--相機

教程 畸變和校正 單目和雙目標定 單雙&#xff0c;rgb-d原理 單目相機 只有一個攝像頭的相機。 原理 小孔成像。 缺點 單目相機無法測量物體點的深度信。 因為物體的Z軸坐標系無法測量。 雙目相機 有兩個攝像頭的相機。 用兩個單目相機組成的雙目相機就可以測量深度信…

Go 語言入門:(一) 環境安裝

一、前言 這里不同于其他人的 Go 語言入門&#xff0c;環境安裝我向來注重配置&#xff0c;比如依賴包、緩存的默認目錄。因為前期不弄好&#xff0c;后面要整理又影響這影響那的&#xff0c;所以就干脆寫成文章&#xff0c;方便后期撿起。 二、安裝 1. 安裝包 https://go.…

筆試專題(十二)

文章目錄 主持人調度題解代碼 小紅的ABC題解代碼 不相鄰取數題解代碼 空調遙控題解代碼 主持人調度 題目鏈接 題解 1. 排序 2. 先按左端點的大小進行排序&#xff0c;保證時間是連續的&#xff0c;如果后一個點的左端點大于等于前一個點的右端點就是和法的&#xff0c;否則…

Ansible 守護 Windows 安全(Ansible Safeguards Windows Security)

Ansible 守護 Windows 安全&#xff1a;自動化基線檢查與加固 在當今網絡威脅日益嚴峻的形勢下&#xff0c;保障 Windows 系統安全至關重要。Ansible 作為一款強大的自動化運維工具&#xff0c;可通過自動化腳本實現 Windows 安全基線檢查和加固&#xff0c;大幅提升運維效率并…

深度解析 MyBatis`@TableField(typeHandler = JacksonTypeHandler.class)`:優雅處理復雜數據存儲

一、引言&#xff1a;當Java對象遇見數據庫 在現代應用開發中&#xff0c;我們經常面臨一個關鍵問題&#xff1a;如何將復雜的Java對象&#xff08;如Map、List或自定義POJO&#xff09;優雅地存儲到關系型數據庫中&#xff1f;傳統解決方案需要開發者手動進行序列化和反序列化…

【無標題】四色定理研究團隊的構建與實施路徑——跨學科建模、編程與理論拓展的全流程方案

### **四色定理研究團隊的構建與實施路徑** **——跨學科建模、編程與理論拓展的全流程方案** --- #### **一、團隊構建與核心分工** ##### **1.1 核心角色與技能需求** | **角色** | **職責** | **技能要求** …

SQLMesh增量模型實戰指南:時間范圍分區

引言 在數據工程領域&#xff0c;處理大規模數據集和高頻率數據更新是一項挑戰。SQLMesh作為一款強大的數據編排工具&#xff0c;提供了增量模型功能&#xff0c;幫助數據工程師高效地管理和更新數據。本文將詳細介紹如何使用SQLMesh創建和管理基于時間范圍的增量模型&#xf…

TCP vs UDP:核心區別、握手過程與應用場景(附對比圖)

&#x1f310; 引言 在網絡通信中&#xff0c;TCP&#xff08;傳輸控制協議&#xff09;和UDP&#xff08;用戶數據報協議&#xff09;是兩大核心傳輸層協議。它們各有優劣&#xff0c;適用于不同場景。本文將用圖文對比實戰示例&#xff0c;幫你徹底理解兩者的區別&#xff0…

STM32F103C8T6信息

STM32F103C8T6 完整參數列表 一、核心參數 內核架構? ARM Cortex-M3 32位RISC處理器 最大主頻&#xff1a;72 MHz&#xff08;基于APB總線時鐘&#xff09; 運算性能&#xff1a;1.25 DMIPS/MHz&#xff08;Dhrystone 2.1基準&#xff09; 總線與存儲? 總線寬度&#xff…

WPF-遵循MVVM框架創建圖表的顯示【保姆級】

文章速覽 1、技術棧實現步驟1、創建WPF工程項目2、引入框架 Caliburn.Micro、數據可視化庫ScottPlot.WPF3、創建文件夾&#xff0c;并創建相應的View & ViewModel4、創建啟動類5、將啟動類設置為啟動項6、編寫View7、編寫VM8、將VM和View中的圖表進行綁定9、備注 示例效果 …

kafka理論學習匯總

基礎知識 基本簡介 Kafka 是一個分布式流式處理平臺&#xff0c;是一種分布式的&#xff0c;基于發布/訂閱的消息系統。 Kafka特點&#xff1a; 1. 同時為發布和訂閱提供高吞吐量 Kafka 的設計目標是以時間復雜度為 O(1) 的方式提供消息持久化能力&#xff0c;即使對 TB 級以…

【亞馬遜云】AWS Wavelength 從理論講解到實驗演練

&#x1faaa; 本文作者&#xff1a;許業寶 ?? 作者信息&#xff1a; &#x1f31e; VSTECS 云解決方案架構師 &#xff5c; AWS Ambassador &#xff5c; &#x1faaa; AWS Community Builder | 亞馬遜云科技技能云博主 ? 已獲六項 AWS 認證 | CKA、CKS認證 &#xff5c; …

ORACLE DATAGUARD遇到GAP增量恢復方式修復RAC環境備機的實踐

ORACLE DATAGUARD技術是一個常用的數據保護機制&#xff0c;在DATAGUARD運行過程中&#xff0c;遇到異常導致備機不同步&#xff0c;而主庫的歸檔日志也被清理&#xff0c;此時出現GAP&#xff0c;無法同步&#xff1b;就需要人工處理&#xff1b;對于小型數據庫重新全量同步數…

Java24 抗量子加密:后量子時代的安全基石

一、量子計算威脅與 Java 的應對 隨著量子計算機的快速發展&#xff0c;傳統加密算法面臨前所未有的挑戰。Shor 算法可在多項式時間內破解 RSA、ECC 等公鑰加密體系&#xff0c;而 Grover 算法能將對稱加密的暴力破解效率提升至平方根級別。據 NIST 預測&#xff0c;具備實用價…