当前课程知识点:数据库概论 >  第三章 结构化查询语言SQL >  3.3 SQL数据更新DML >  SQL数据更新DML

返回《数据库概论》慕课在线视频课程列表

SQL数据更新DML在线视频

SQL数据更新DML

下一节:复杂SQL查询操作1

返回《数据库概论》慕课在线视频列表

SQL数据更新DML课程教案、知识点、字幕

各位同学大家好

我是来自云南大学软件学院的张璇

在定义了数据库和数据库中的数据表后

我们就可以往表里面填充数据了

这时

我们可以使用SQL的数据操作语言DML

下面主要介绍插入

修改和删除命令

它们分别是Insert

Update和Delete

让我们先看看数据插入命令

我们使用Insert into动词

在后面指向要插入

数据的数据表标识符

然后在values后面的括弧中

定义插入的数据即可

举个例子

我们将一个新学生记录

他的学号95020

他的名字是陈冬

性别男

年龄18岁的学生

插入到学生数据表中

那么SQL语句就可以写为

INSERT INTO S VALUES

后面写上他的学号

姓名

性别和年龄

其中的字符型数据

需要用单引号引起来

SQL的数据修改命令

使用Update动词

修改指定表中满足WHERE条件的元组

使用SET子句给出的值

取代相应的列值

如果我们省略WHERE条件

则表示要修改表中的所有列值

我们以成绩数据表为例

如果我们要把

学号为95020的学生的

C1课程的成绩改为98分

SQL语句写为

Update SC Set grade等于98

设置条件Where S#等于95020

并且条件还有C#等于C1

这里Where条件指定了学生的学号

和C1课程

Set子句把成绩改为98

如果要把所有学生的成绩都提高10%

SQL语句就写为

Update SC Set grade等于grade乘上1.1

这里不使用Where子句

是修改所有学生的grade成绩

并且成绩grade乘上1.1

提高10%。

最后

如果要删除数据表中的数据

我们使用Delete动词

删除操作

使用Delete from加数据表标识符

可以使用where限定删除条件

或不使用where子句删除所有数据

例如删除学号为S3的学生的数据记录

就使用Delete From S

设置 Where条件为学号 S#等于S3

删除所有学生的选课记录

就使用Delete From SC

不设置where条件

好了

现在我们数据表中有数据

下面我们会重点介绍

SQL语言常用的查询操作命令

SQL语言中我们经常使用的命令

是查询操作Select

并且

查询操作的语言也更为丰富

下面

我们要稍微多用一些时间来介绍

首先

看一下Select命令的语法格式

在这里Select子句定义了查询目标

from子句指定从哪一个数据表中获取查询目标

而where子句指定查询条件

在Select子句后面可选ALL

Distinct和TOP N三个条件

先说Distinct

使用Distinct就意味着

查询返回的结果不需要保留重复的数据

比如说我们查询学生的入学年龄

就会有大量重复的数据

因为大部分同学们都在18到19

或者20岁入学

使用Distinct就不返回重复的数据

和Distinct相反

ALL是返回所有数据

即便我们有重复数据也全部返回

而TOP N则仅返回前N条数据记录

下面我们通过一些具体的事例

来说明一下如何使用SQL

进行最基本的数据库查询操作

我们仍然以学生数据库为例

现在

我们在三个数据表中

分别已经插入了一些数据

如果我们要查询全体学生的学号和姓名

就使用select 学生的学号s#

逗号分隔开

学生姓名sname from s

这里s#和sname是要查询的目标

是数据表里列的名称

它们分别是学号和姓名

s是学生表的标识符

而如果我们要查询

全体学生的详细记录

select后面不需要

一一列出查询目标的所有列标识符

只需要用星号即可

而from s和前面一样

从S这个表里面获取数据

当然

我们的查询结果

还可以在经过一些运算后输出

比如说

我们要查询全体学生的姓名

和他的出生年份

在我们数据表中

是有学生的入学年龄

而没有他的出生年份

要得到出生年份

就用学生的入学学年度

减去入学年龄即可

假设学生2010年入学

则SQL语句这样写

select 学生姓名sname

学生出生年份需要做一个运算

用2010减掉age

最后

from s就得到了我们想要的结果

下面我们使用where子句

增加一下查询的限定条件

比如说要查询全体男学生的名单

我们使用Select * from s

增加where子句

就是将查询目标条件设置为

性别gender等于男就行了

如果要查询所有

年龄在18岁以下的学生姓名和年龄

就Select sname,age

和前面一样from s

从s表选取

增加where条件

Age小于18

不过这里有一个等价的SQL命令

Select sname,age from s

Where条件可以写为

not age大于等于18

也就是说

SQL语言的查询命令

可以有多种等价形式

在这里我们后面介绍的时候

会看到多种等价形式

每一种形式都是正确的

使用哪一种形式可以由各位同学

自己来根据自己的思维方式而选择

到这里

我们介绍了

如何使用SQL数据操作语言DML

完成数据表数据的插入

修改

删除和最简单的基本查询

插入使用Insert命令

修改使用Update命令

删除使用Delete命令

查询使用Select命令

当然我们强调过

SQL的查询命令是最为丰富的语言部分

这里仅介绍了基本查询命令

下面我们要继续增加

查询select命令中的子句

以应对更为复杂的查询需求

谢谢大家

数据库概论课程列表:

导论

-数据库概述

--Video

-导论--数据库概述

第一章 数据库基础

-1.1 数据库基础

--Video

-第一章 数据库基础--1.1 数据库基础

第二章 关系运算

-2.1 CAP数据库

--CAP数据库

-第二章 关系运算--2.1 CAP数据库

-2.2 自然关系运算1

-- 自然关系运算1

-第二章 关系运算--2.2 自然关系运算1

-2.3 自然关系运算2

--自然关系运算2

-第二章 关系运算--2.3 自然关系运算2

第三章 结构化查询语言SQL

-3.1 SQL概述

-- SQL概述

-3.1 SQL概述--作业

-3.2 数据定义DDL

--数据定义DDL

-3.2 数据定义DDL--作业

-3.3 SQL数据更新DML

--SQL数据更新DML

-3.3 SQL数据更新DML--作业

-3.4 复杂SQL查询操作1

--复杂SQL查询操作1

-第三章 结构化查询语言SQL--3.4 复杂SQL查询操作1

-3.5 复杂SQL查询操作2

--复杂SQL查询操作2

-第三章 结构化查询语言SQL--3.5 复杂SQL查询操作2

第四章 数据库完整性、视图与安全性

-4.1 数据完整性

--4.1 数据完整性

-4.1 数据完整性--作业

-4.2 完整性约束

--完整性约束

-4.2 完整性约束--作业

-4.3 外键约束

--外键约束

-4.3 外键约束--作业

-4.4 触发器

--触发器

-4.4 触发器--作业

-4.5 视图

--视图

-4.5 视图--作业

-4.6 安全性

--安全性

-4.6 安全性--作业

第五章 索引

-5.1 索引

--Video

-5.2 B+树索引

--Video

第六章 规范化理论

-6.1 函数依赖

--Video

-6.2 Armstrong公理

--Video

-6.3 无损分解

--Video

-6.4 范式举例

--Video

-6.5 三种范式

--Video

-6.5 三种范式--作业

第七章 实体关系模型

-7.1-E-R模型概述

--E-R模型概述

-7.2 E-R模型详解

--Video

-7.3 E-R模型的拓展

--Video

-7.4 E-R模型实例分析

--Video

第八章 事务处理

-8.1 事务的ACID性质介绍

--ACID介绍

-8.1 事务的ACID性质介绍--作业

-8.2 事务经历

--事务经历

-8.2 事务经历--作业

-8.3 可串行化调度和前趋图

--可串行化调度和前趋图

-8.3 可串行化调度和前趋图--作业

-8.4 两阶段封锁

--两段锁协议

-8.4 两阶段封锁--作业

-8.5 隔离级别

--隔离级别

-8.5 隔离级别--作业

-8.6 事务恢复

--事务恢复

-8.6 事务恢复--作业

第九章 数据库应用与开发

-9.1 数据库使用介绍

--数据库使用介绍

-9.2 Java访问数据库

--Java访问数据库

-9.2 Java访问数据库--作业

第十章 其他数据库技术概述

-10.1 数据库新技术概述

--Video

SQL数据更新DML笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。