[数据库系统] 五、数据增删改

第一关:数据插入

用insert给数据库添加数据

相关知识

有关系student(sno,sname,ssex,sage,sdept),属性对应含义:学号,姓名,性别,所在系。现有的部分元组如下所示

[数据库系统] 五、数据增删改_第1张图片

insert 向数据库表插入数据的基本格式有三种:R,S是关系名

  • 1.insert into R(属性列表) values (对应属性的值列表)
  • 2.insert into R values(对应关系默认属性的值列表)
  • 3.insert into R(属性列表) select 属性列表 from S (R, S 可以是同一关系)

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。 你只需根据右侧提示,完成以下任务:

  • 1.MA系新来一名学生,学号07002,姓名 lucy, 性别 F,年龄21,请用insert语句将该学生信息加入student。
  • 2.新来一名学生,学号07003,姓名 Andy ,性别 F, 但尚未知道年龄, 也未确定分配到哪个系, 请插入已知信息到student。 。

  • 3.有一名学生学号是04005,其余信息与学号04003相同,请将学生信息插入表student。

注意:sql语句不区分大小写,但是元组的数据是区分大小写的。另外在Mysql中,字符串用""括起来。

USE test_wyy_db_guet
GO

SET NOCOUNT ON


-- ********** Begin ********** --
-- ********** 此处写第一题的SQL语句 ********** --
insert into 
student (Sno,Sname,Ssex,Sage,Sdept) 
values ("07002","lucy","F",21,"MA")

-- ********** End ********** --

GO

-- ********** Begin ********** --
-- ********** 此处写第二题的SQL语句 ********** --
insert into student(Sno,Sname,Ssex)
values ("07003","Andy","F")
-- ********** End ********** --

GO

-- ********** Begin ********** --
-- ********** 此处写第三题的SQL语句 ********** --
insert into student
select "04005",Sname,Ssex,Sage,Sdept from student where Sno ="04003";
-- ********** End ********** --
GO


--此处请不要随意修改
select * from student

GO

第二关 更新

  • 1.将所有学生的年龄增加1岁;
  • 2.IS系改名为TS了,请修改相应学生的信息。
  • 3.MA系学生的学号前两位修改为08,其他不变. 学号长度为5,你们可以查阅right或substring函数,并用连接的方式得到新的学号。

使用的表结构: Student(Sno, Sname, Ssex, Sage, Sdept)

USE test_wyy_db_guet
Go

SET NOCOUNT ON


-- ********** Begin ********** --
---------- 第一题----------
update student
set sage = sage+1;
-- ********** End ********** --
GO


-- ********** Begin ********** --
---------- 第二题----------
update student
set sdept = "TS"
where sdept = "IS"
-- ********** End ********** --
GO

-- ********** Begin ********** --
---------- 第三题----------
update student
set sno="08"+substring(sno,3,5)
where sdept="MA";
-- ********** End ********** --
GO


-- **********下面的语句请不要修改 ********** --
select * from student
GO

第三关 删除

USE test_wyy_db_guet
Go

SET NOCOUNT ON

---------- 第一题 ----------
-- ********** Begin ********** --
DELETE FROM R WHERE id="1002"

-- ********** End ********** --

GO

---------- 第二题 ----------
-- ********** Begin ********** --

DELETE FROM S WHERE S.id IN (SELECT id FROM R WHERE R.sex="M") AND S.sex="M";

-- ********** End ********** --

GO

---------- 第三题 ----------
-- ********** Begin ********** --
DELETE FROM R WHERE R.name LIKE "A%";


-- ********** End ********** --

GO

--********** 下面的语句请不要删除 ********** --
select id,name,sex from R
union all
select id,name,sex from S
GO

你可能感兴趣的:(数据库,sql)