【SQL】数据库更新语句操作实例

一、SQL Server数据库更新操作(create,update,delete,insert,drop,alter)

背景知识:
一、插入:对表进行插入操作,insert into table_name(属性列)values(插入值),一定要注意属性列和插入值的顺序要一样
二、语法记忆:update、delete、insert都不改变表的结构,所以只需要加上table_name就可以,而drop、create,alter都改变了表的结构,所以需要加上table,例如drop table table_name

名称解释(不区分大小写)
  • student学生表:
    • 包含属性列:sno学号、sname学生姓名、age年龄、sex性别、dno学院编号、birthday生日
  • sc选课信息表:
    • 包含属性列:sno学号、cno课程号、grade成绩
  • dept学院信息表:
    • 包含属性列:dno学院编号、dname学院名称、dean学院负责人
  • course课程信息表:
    • 包含属性列:cno课程号、cname课程名称、tname老师名称、credit学分、room教室

下面语句可以直接复制到SQL Server运行

  • 运行方法,选中执行语句在这里插入图片描述

方法不唯一,有问题欢迎留言讨论!代码块见文章末尾

二、代码

select * from sc
select * from student
select * from course

–插入新的学生李一和李二
insert into student(sno,sname,sex,dno,BIRTHDAY)
values(‘20069011’,‘李一’,‘男’,‘0001’,‘1985-01-02’)
select * from student
where sname = ‘李一’
insert into student(sno,sname,sex,dno,BIRTHDAY)
values(‘20069012’,‘李二’,‘女’,‘0002’,‘1986-01-02’)
select * from student
where sname = ‘李二’

–创建新表
CREATE TABLE chengjiao
(
SNO char (8) not null unique,
SNAME char(10),
SEX char(2),
DNO char(8),
AGE smallint,
BIRTHDAY datetime )

–插入新学生张三、王二、张三
INSERT INTO student(SNO,SNAME,AGE,DNO) VALUES (‘20067027’,‘张三’,20,‘0002’)
INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES (‘20067011’,‘王二’,23,‘0003’)
INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES (‘20067021’,‘张三’,19,‘0003’)
select * from student
where sno = ‘20067027’
union
select * from student
where sno = ‘20067011’
union
select * from student
where sno = ‘20067021’

–将成教表 chengjiao 中的所有学生一次性添加到学生表 student 中。
insert into student(sno,sname,sex,dno,age,birthday)
(select sno,sname,sex,dno,age,birthday from chengjiao)
select * from chengjiao

–依据学生的生日,计算出该学生的年龄
update student
set age = (year(getdate()) - year(birthday))

–将所有安排在 A209 的课程调整到 D109
update course
set room = ‘D109’
where room = ‘A209’

–将选课表中的‘线性代数’课程的成绩减去 4 分
update sc
set grade = grade-4
where cno in (select cno from course
where cname = ‘线性代数’)

–从排课表中删除‘杨丽’老师的所有排课纪录
delete from course
where tname = ‘杨丽’

–删除学院编号为空的学生记录及选课记录,判断空不要使用=null,因为出来的结果未必只有一个,=只适用于一个值的情况
delete from sc
where sno in (select sno from student
where dno is null)

–删除表 ’excelxuanke’
drop table excelxuanke

–(1)在选课表中插入一个新的选课记录,学号为 20002059,授课班号为 244501,成绩 80分。
insert into sc(sno,cno,grade)
values(‘20002059’,‘244501’,80)

–(2)从选课表中删除选修‘线性代数’的选修纪录
delete from sc
where cno in (select cno from course where cname = ‘线性代数’)

–(3)将机电学院的女生一次性添加到成教表中
insert into chengjiao(sno,sname,sex,dno,age,birthday)
(select sno,sname,sex,dno,age,birthday from student where dno=‘0001’)

–(4)将所有学生的高等数学成绩加5分
update sc
set grade = grade + 5
where cno in (select cno from course where cname = ‘高等数学’)

–(5)将学号尾数为‘4’的同学成绩加 2
update sc
set grade = grade + 2
where sno like ‘%4’

–(6)删除电科系所有学生的选课记录
delete from sc
where sno in (select * from student where dno = ‘0001’)

–(7)将学号为“20002059”的学生姓名改为“王菲”
update student
set sname = ‘王菲’
where sno = ‘20002059’

–(8)删除成绩为空的选课记录
delete from sc
where grade is null

三、SQL代码块

select * from sc
select * from student
select * from course

--插入新的学生李一和李二
insert into student(sno,sname,sex,dno,BIRTHDAY)
	values('20069011','李一','男','0001','1985-01-02')
select * from student 
where sname = '李一'
insert into student(sno,sname,sex,dno,BIRTHDAY)
	values('20069012','李二','女','0002','1986-01-02')
select * from student 
where sname = '李二'

--创建新表
CREATE TABLE chengjiao
(
 SNO char (8) not null unique,
 SNAME char(10),
 SEX char(2),
 DNO char(8),
 AGE smallint,
 BIRTHDAY datetime ) 

--插入新学生张三、王二、张三
INSERT INTO student(SNO,SNAME,AGE,DNO)   VALUES ('20067027','张三',20,'0002') 
INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES ('20067011','王二',23,'0003')
INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES ('20067021','张三',19,'0003') 
select * from student 
where sno = '20067027'
union
select * from student 
where sno = '20067011'
union
select * from student 
where sno = '20067021'

--将成教表 chengjiao 中的所有学生一次性添加到学生表 student 中。
insert into student(sno,sname,sex,dno,age,birthday)
(select sno,sname,sex,dno,age,birthday from chengjiao)
select * from chengjiao

--依据学生的生日,计算出该学生的年龄
update student
set age = (year(getdate()) - year(birthday))

--将所有安排在 A209 的课程调整到 D109 
update course
set room = 'D109'
where room = 'A209'

--将选课表中的‘线性代数’课程的成绩减去 4 分
update sc
set grade = grade-4
where cno in (select cno from course
				where cname = '线性代数')
				
--从排课表中删除‘杨丽’老师的所有排课纪录
delete from course
where tname = '杨丽'

--删除学院编号为空的学生记录及选课记录,判断空不要使用=null,因为出来的结果未必只有一个,=只适用于一个值的情况
delete from sc
where sno in (select sno from student 
				where dno is null)
				
--删除表 ’excelxuanke’
drop table excelxuanke

--(1)在选课表中插入一个新的选课记录,学号为 20002059,授课班号为 244501,成绩 80分。
insert into sc(sno,cno,grade)
values('20002059','244501',80)

--(2)从选课表中删除选修‘线性代数’的选修纪录
delete from sc
where cno in (select cno from course where cname = '线性代数')

--(3)将机电学院的女生一次性添加到成教表中
insert into chengjiao(sno,sname,sex,dno,age,birthday)
(select sno,sname,sex,dno,age,birthday from student where dno='0001')

--(4)将所有学生的高等数学成绩加5分
update sc
set grade = grade + 5
where cno in (select cno from course where cname = '高等数学')

--(5)将学号尾数为‘4’的同学成绩加 2
update sc
set grade = grade + 2
where sno like '%4'

--(6)删除电科系所有学生的选课记录
delete from sc
where sno in (select * from student where dno = '0001')

--(7)将学号为“20002059”的学生姓名改为“王菲”
update student
set sname = '王菲'
where sno = '20002059'

--(8)删除成绩为空的选课记录
delete from sc
where grade is null
  • 34
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
数据库SQL语句大全实例是指包含了数据库管理系统中所有常用的SQL语句的一个完整列表。以下是一些常见的SQL语句实例: 1. 创建表格:CREATE TABLE语句可以创建一张新的表格,其中定义了表格的字段和属性。 示例:CREATE TABLE employees (id INT, name VARCHAR(50), age INT); 2. 插入数据:INSERT INTO语句可以将数据插入到指定表格中的特定字段。 示例:INSERT INTO employees (id, name, age) VALUES (1, 'John', 25); 3. 更新数据:UPDATE语句用于更新表格中的数据。 示例:UPDATE employees SET age = 26 WHERE id = 1; 4. 删除数据:DELETE FROM语句用于删除表格中的数据。 示例:DELETE FROM employees WHERE id = 1; 5. 查询数据:SELECT语句用于从一个或多个表格中检索数据。 示例:SELECT * FROM employees; 6. 条件查询:SELECT语句可以结合WHERE子句以特定的条件检索数据。 示例:SELECT * FROM employees WHERE age > 30; 7. 排序数据:SELECT语句可以使用ORDER BY子句对数据进行排序。 示例:SELECT * FROM employees ORDER BY age ASC; 8. 聚合函数:SELECT语句可以使用聚合函数对数据进行汇总计算。 示例:SELECT COUNT(*) FROM employees; 9. 连接表格:SELECT语句可以使用JOIN子句将多个表格连接起来。 示例:SELECT * FROM employees JOIN departments ON employees.department_id = departments.id; 以上只是一些SQL语句的简单示例,实际上SQL语句的应用非常广泛,并且可以根据业务需求进行灵活的组合和调整。掌握常用的SQL语句可以帮助开发者有效地操作和管理数据库中的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小子挺不错

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值