精华内容
下载资源
问答
  • 数据库实验数据更新 实验过程 (1)INSERT 基本语句(插入全部列的数据) (2)INSERT 基本语句(插入部分列的数据) (3)UPDATE 语句(修改部分记录的部分列值) (4)DELETE 语句(删除给定条件点的所有...

    数据库实验:数据更新

    实验过程

    (1)INSERT 基本语句(插入全部列的数据)

    (2)INSERT 基本语句(插入部分列的数据)

    (3)UPDATE 语句(修改部分记录的部分列值)

    (4)DELETE 语句(删除给定条件点的所有记录)


     

    一、实验内容

    1. 实验目的

    熟悉数据库的数据更新操作,能够使用SQL 语句对数据库进行数据的插入、修改、删除操作。

    2. 实验内容及要求

    针对TPC-H 数据库设计单元组插入、批量数据插入、修改数据和删除数据等SQL 语句。理解和掌握INSERT、UPDATE 和DELETE 语法结构的各个组成成分,结合嵌套SQL 子查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功。

    3. 实验重点和难

    实验重点:插入、修改和删除数据的SQL。

    实验难点:与嵌套SQL 子查询相结合的插入、修改和删除数据的SQL 语句;利用一个表的数据来插入、修改和删除另外一个表的数据。

    4、实验过程

    (1)INSERT 基本语句(插入全部列的数据)

    插入一条顾客记录,要求每列都给一个合理的值。

    涉及Customer 表

    INSERT INTO Customer
    
    VALUES(8,'Mark','郑州',1,5686055,1.6, 'North','无'); #每列都对应写入值

     

    (2)INSERT 基本语句(插入部分列的数据)

    插入一条订单记录,给出必要的几个字段值。

    涉及Lineitem 表

    
    INSERT INTO
    
    Orders(Orderkey,Custkey,Totalprice,Orderdate,Comment)
    
    VALUES(5,8,11000,2020-06-09,'无'); #列出的列和写入的值对应

     

    (3)UPDATE 语句(修改部分记录的部分列值)

    “金仓集团”供应的所有零件的供应成本价下降10%。

    涉及PartSupp 表中的supplycost,suppkey ,Suppier 表中的name, suppkey

    UPDATE PartSupp
    
    SET Retailprice = Retailprice*(1-0.1)
    
    WHERE Suppkey = (  #找到需要修改的记录
    
            SELECT Suppkey
    
            FROM Supplier 
    
        WHERE Name = '金仓集团';

     

    (4)DELETE 语句(删除给定条件点的所有记录)

    删除顾客张三的所有订单记录。

    涉及Lineitem,Orders,Customer 表

    DELETE FROM Lineitem L #先删除张三的订单明细记录
    
    WHERE Orderkey IN(
    
            SELECT Orderkey
    
            FROM Orders O,Customer C
    
            WHERE O.Custkey = C.Custkey AND
    
            C.Name = '张三');

     

    DELETE FROM Orders #再删除张三的订单记录
    
    WHERE Custkey = (
    
            SELECT Orderkey
    
            FROM Orders O,Customer C
    
            WHERE O.Custkey = C.Custkey AND
    
            C.Name = '张三');

     

    实验效果及分析

    这次实验主要内容是数据更新,包括了数据插入,数据更新及数据删除。数据插入需要注意是否全部给值,如果只给必要的几个字段添加值需要指出添加值的字段,和值一一对应。数据更新要先找到需要更新的数据(配合查询)再进行更新操作。删除数据记录使用关键字DELETE(删除数据库或表用关键字DROP),WHERE后面写删除数据需要满足的条件。注意,如果存在主外键关系,应该先删除子表中的数据再删除主表中的数据。

     

     

    展开全文
  • 熟悉数据库数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改、删除操作。 二、实验内容和要求 1.插入 2.修改 3.删除 要求:理解和掌握INSERT、UPDATE和DELETE语法结构的各个主成成分,结合嵌套SQL子...

    实验三 数据更新

    一、实验目的

    熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改、删除操作。

    二、实验内容和要求

    1.插入
    2.修改
    3.删除
    要求:理解和掌握INSERT、UPDATE和DELETE语法结构的各个主成成分,结合嵌套SQL子查询,分别设计几种不同形式的插入、修改和删除数据的语句并调试成功。

    三、实验过程

    1.准备实验数据
    创建数据库s_t和spj,创建学生表student、课程表course、选修表sc、供应商表s、零件表p、工程项目表j、供应情况表spj,向表中添加适量数据。
    2.练习教材第3章【例3.69】——【例3.83】(这一部分内容不用写入实验报告)
    3.在spj数据库中,完成教材第3章习题5中的(8)—(11)
    08

    UPDATE p 
    SET color='蓝' 
    WHERE color='红';
    

    09

    UPDATE spj 
    SET sno='s3' 
    WHERE sno='s5' AND jno='j4' AND pno='p6';
    

    10

    DELETE FROM spj WHERE sno='s2';
    DELETE FROM s WHERE sno='s2'; 顺序不可换
    

    11

    INSERT 
    INTO spj 
    VALUES(s2,j6,p4,200);
    

    4.在s_t数据库中,完成以下操作
    (1)创建一个新表stu_avg,然后将学生的学号,姓名和所选修课程的平均成绩插入新表中。
    创建表:

    CREATE TABLE stu_avg
    (sno char(9) PRIMARY KEY,
    sname char(20) UNIQUE,
    avg_grade SMALLINT);
    

    插入数据:

    INSERT 
    INTO stu_avg
    SELECT student.sno,sname,AVG(grade)
    FROM student,sc 
    WHERE student.Sno=sc.Sno 
    GROUP BY Sno;
    

    (2)将“数据库”这门课程的成绩提高10%。

    UPDATE sc 
    SET Grade=Grade*1.1
    WHERE Cno IN
       ( SELECT cno 
         FROM course
         WHERE cname='数据库');
    

    (3)删除学生“李勇”的全部信息(包括选课情况)。
    第一步:

    DELETE 
    FROM sc
    WHERE sno IN
      (SELECT sno
       FROM student
       WHERE sname='李勇');
    

    第二步:

    DELETE
    FROM student
    WHERE sname='李勇';
    

    (4)创建一个新表stu_credit,表中包含sno(学号)和credit(总学分)两个属性,然后统计每个学生的总学分并存入该表。(课程成绩大于等于60分才可获得相应学分,未取得任何学分的学生总学分为0)。
    创建表:

    CREATE TABLE stu_credit
    (sno char(9) PRIMARY KEY,
     sum_credit SMALLINT);
    

    插入数据:

    INSERT 
    INTO stu_credit
    SELECT student.sno,SUM(Ccredit)
    FROM sc,course,student
    WHERE sc.Grade>=60 AND sc.Sno=student.Sno AND 
    sc.Cno=course.Cno
    GROUP BY Sno;
    

    更新数据:

    UPDATE stu_credit
    SET sum_credit=0
    WHERE sum_credit IS NULL;
    

    四、实验总结

    使用insert完成数据插入;使用update完成数据更新;使用delete完成数据删除
    删除数据时要注意删除顺序,要考虑外键等约束因素,一般都会有固定的顺序,不能随便删 。
    在4—(4)题中,当向表中存储完数据后会发现有sum_credit为NULL的,所以,要对数据进行一个更新,将sum_credit为NULL的改为sum_credit=0。

    展开全文
  • 本资源为数据库实验,关于数据更新的一些内容,仅供参考
  • 数据库实验数据更新

    千次阅读 2018-09-19 22:05:11
    一、实验目的:   熟悉使用UPDATE/INSERT/DELETE语句进行表操作; 能将这些更新操作应用于实际操作中去;   二、实验环境及准备:   了解更新语句的基本语法和用法; 建立相关数据库,并在数据库中建立表...

    一、实验目的:

     

    熟悉使用UPDATE/INSERT/DELETE语句进行表操作;

    能将这些更新操作应用于实际操作中去;

     

    二、实验环境及准备

     

    1. 了解更新语句的基本语法和用法;
    2. 建立相关数据库,并在数据库中建立表,表中有一定量的记录。

     

     

    三、实验内容:

    (写出主要的内容)

     

    Part 1 使用课程数据库

    对于student表,将所有所在系部信息为’CS’的改为’计算机科学系’.

    对于course表,将数据结构课程的学分改为3。

    update Course

    set Ccredit=3

    where Cname='数据结构'

    select *

    from course

     

    对于student表,插入一条新记录,它的具体信息为,学号:201216011、姓名:张三、性别:男、年龄:21,所在系部:数学系。

    insert

    into Student

    values('201216011','张三','男',21,'数学系');

    select *

    from Student

     

    对于course表,插入两条记录,记录的值自己给定。

    insert

    into Course

    values(8,'离散数学',2,2),(9,'数字逻辑',5,2)

    select *

    from Course

    对于SC表,将课程编号为2号的最低分改为在原分数*1.1

     

    对于SC表,将课程名为数据库的最低分改为在原分数*1.1

     

    建立一个新表SC_T,该表的字段名称,类型与表SC一致

     

    CREATE TABLE  SC_T

             (Sno  CHAR(9),

     

             Cno  CHAR(4),  

              Grade  SMALLINT,

               PRIMARY KEY (Sno,Cno))

    在SC_T表中,插入若干选课记录,学号为student表中出现的学号,课程编号为1

    insert into SC_T values('201215121',1,20);

    insert into SC_T values('201215122',1,19);

    insert into SC_T values('201215123',1,18);

    insert into SC_T values('201215125',1,19);

    insert into SC_T values('201215126',1,18);

    insert into SC_T values('201215127',1,19);

    insert into SC_T values('201215128',1,20);

    insert into SC_T values('201215129',1,21);

     

     

    在SC_T表中,插入若干选课记录,学号为student表中出现的学号,课程编号为操作系统课程的编号

    insert into SC_T values('201215121',4,20);

    insert into SC_T values('201215122',4,19);

    insert into SC_T values('201215123',4,18);

    insert into SC_T values('201215125',4,19);

    insert into SC_T values('201215126',4,18);

    insert into SC_T values('201215127',4,19);

    insert into SC_T values('201215128',4,20);

    insert into SC_T values('201215129',4,21);

     

     

    用select语句检查8,9的操作是否正确,如果正确,则删除SC_T表中的所有记录

     

    在SC_T表中,插入若干选课记录,学号为student表中出现的学号,课程编号为在课程表中出现的所有课程号。

     

    用select语句检查11的操作是否正确.

     

    展开全文
  • 在保证需操作的数据库中已经存在XSKC模式下的数据表student、course、sc 1、修改数据表信息 1)修改student表,将cs系姓名为“李咏”的学生姓名为“李勇” UPDATE XSKC.student SET sname = ‘李勇’ WHERE ...

    在保证需操作的数据库中已经存在XSKC模式下的数据表student、course、sc

    1、修改数据表信息

    1)修改student表,将cs系姓名为“李咏”的学生姓名为“李勇”

    UPDATE XSKC.student
    SET sname = ‘李勇’
    WHERE sdept=‘CS’ AND sname=‘李咏’

    2)将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”
     UPDATE XSKC.student
    

    SET sname=‘王丹丹’,ssex=‘女’,sage=20,sdept=‘MA’
    WHERE sno=‘200515010’

    3)修改course表,将“数据处理”的学分改为3学分

    UPDATE XSKC.COURSE
    SET ccredit=3
    WHERE cname=‘数据处理’

    4)修改CS表,将选修课程“1”的同学成绩加5分

    UPDATE XSKC.sc
    SET grade=grade+5
    WHERE cno=1

    5)删除数据表student中无专业的学生记录

    DELETE FROM XSKC.student
    WHERE sdept IS NULL

    6)删除数据表course中学分低于1学分的课程信息

    DELETE
    FROM XSKC.course
    WHERE ccredit<1

    2.请使用T-SQL 语句实现以下操作

    1)列出姓“王”且全名为3个汉字的学生的基本信息

    USE student
    SELECT *
    FROM XSKC.student
    WHERE sname like ‘王__’

    2)查询在1986年以后出生的学生的学号和姓名

    USE student
    SELECT sno,sname
    FROM XSKC.student
    WHERE sage<2019-1986

    3)查询没有分配院系的学生的姓名和学号

    USE student
    SELECT sno,sname
    FROM XSKC.student
    WHERE sdept IS NULL

    4)按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩

    USE student
    SELECT *
    FROM XSKC.sc
    WHERE grade BETWEEN 70 AND 80
    ORDER BY cno DESC,grade DESC

    5)按照院系降序显示所有学生的 “院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明

    USE student
    SELECT 院系=
    case
    when sdept=‘CS’ then ‘计算机系’
    when sdept=‘IS’ then ‘信息系’
    when sdept=‘MA’ then ‘数学系’
    when sdept=‘EN’ then ‘外语系’
    when sdept=‘CM’ then ‘中医系’
    when sdept=‘WM’ then ‘西医系’
    else ‘院系不明’
    end,sno as ‘学号’,sname as ‘姓名’,ssex as ‘性别’,sage as ‘年龄’
    FROM XSKC.student
    ORDER BY 院系 DESC

    6)查询同时选修“1”号课程和“2”号课程的所有学生的学号

    USE student
    SELECT sno
    FROM XSKC.sc
    WHERE cno=1 AND sno in(SELECT sno FROM XSKC.sc WHERE Cno=2)

    7)查询所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”, 若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”

    USE student
    SELECT distinct sdept,院系规模=
    case
    when count()>5 then ‘规模较大’
    when count(
    )between 4 and 5 then ‘规模一般’
    when count(*)between 2 and 4 then ‘规模较小’
    end
    FROM XSKC.student
    WHERE sdept IS NOT NULL
    GROUP BY sdept

    8)查询学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”

    USE student
    SELECT 学生总人数=COUNT(distinct sno),平均年龄=AVG(sage)
    FROM XSKC.student

    9)查询选修的课程数大于3的各个学生的选修课程数

    USE student
    SELECT DISTINCT 学号=sno,选课数=COUNT(cno)
    FROM XSKC.sc
    GROUP BY sno
    HAVING COUNT(cno)>3

    10)查询IS系学生的学号、姓名、性别、年龄,并统计出IS系的学生个数

    USE student
    SELECT sno 学号,sname 姓名,ssex 性别,sage 年龄
    FROM XSKC.student
    SELECT distinct IS系的学生个数=COUNT(*)
    FROM XSKC.student
    WHERE sdept=‘IS’

    11)查询每个院系的学生前两条记录,并组成新表ceshi
       USE student
    

    SELECT a.*
    INTO ceshi
    FROM XSKC.student a
    WHERE sno IN
    (SELECT top 2 sno
    FROM XSKC.student
    WHERE sdept=a.sdept
    order by sno)

    12)查询平均成绩大于“赵菁菁”平均成绩的各个学生的学号、平均成绩

    USE student
    SELECT sno 学号,AVG(grade) 平均成绩
    FROM XSKC.sc
    GROUP BY sno
    HAVING AVG(grade)>(SELECT AVG(grade)from XSKC.sc,XSKC.student where sname=‘赵菁菁’)

    实验步骤

    命令方式:在【SQL Server Management Studio】窗口左上方选择【新建查询】按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击【执行】按钮。例如第一题可输入:
    select * from student where sname not like ‘刘%’

    展开全文
  • 数据库实验报告2 数据更新实验

    千次阅读 2020-04-29 14:28:37
    (1)理解和掌握数据库更新操作,能够使用SQL语句对数据库进行数据的插入、修改、删除操作。 (2)掌握SQL语句常见语法错误的调试方法。 二、 实验内容: 按照下列要求操作,并截取相应的结果图 1、教材79-80页三...
  • 计算机科学系实验报告(首页) ...数据库数据更新 教导教师 索剑 姓名 张钦颖 学号 1414080901218 组号   日期 2016年4月12日
  • 实验名称 实验一 数据定义和数据更新 一、实验目的 (1)熟悉数据库的交互式SQL工具; (2)通过本实验能够熟练应用sql语言进行基本表和索引的定义,能够对表的结构进行修改和删除,并通过数据更新命令输入相应的...
  • 实验数据更新操作 一. 实验目的 1. 掌握INSERT/UPDATE/DELETE语句的使用。 2. 体会数据更新操作对完整性约束的影响。 二. 实验准备 准备基本表中的数据。 了解INSERT、UPDATE及DELETE语句。 三. 实验要求...
  • HBU数据库 实验4 嵌套查询和数据更新 实验目的: 1.熟练掌握SQL Server查询分析器的使用方法,加深对标准SQL查询语句的理解。 2.熟练掌握简单表的数据嵌套查询和数据更新的操作方法。 实验内容: 创建教学管理...
  • 实验6 数据库更新实验 1.实验目的 本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。 2.实验时数 2学时 [相关知识] SQL Server提供了很多...
  • 文档内容涉及数据库的查询和索引的创建和删除,还有聚集函数的使用
  • 实验数据更新操作 一. 实验目的 掌握INSERT/UPDATE/DELETE语句的使用。 体会数据更新操作对完整性约束的影响。 二. 实验准备 1. 准备基本表中的数据。 2. 了解INSERT、UPDATE及DELETE语句。 三. 实验要求 ...
  • 1、掌握数据更新语句的使用; 2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
  • 实验数据更新 一、实验目的 掌握数据更新操作的用法。 二、实验环境 三、实验示例 1、往基本表SC中插入元组。 ① INSERT INTO S(S#,SNAME,AGE,SEX) VALUES('S36','GU',20,'M'); ② ...
  • Sql Server数据库 实验3 数据更新

    千次阅读 2017-05-20 12:59:35
    实验数据更新   一、实验目的 1.掌握基本表的Insert,Update,Delete操作 2.掌握视图的Insert,Update,Delete操作    二、实验环境(实验的软件、硬件环境) 硬件:PC机 软件:SQL2000   三、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 973
精华内容 389
关键字:

数据库实验数据更新