数据操纵
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
执行过程
实例
说明:
(1) SQL先处理v子查询〉,得到查询结果,再将 结
果插入到v表名〉所指的基本表中。
(2) v子查询〉结果集合中的列数、列序和数据类
型必须与v表名〉所指的基本表中相应各项匹配或 兼容。
求各个出版社图书的总数并存放于一张新表CBS (出版社,
总数)中。
(2)插入
(1)建表 CREATE TABLE CBS
INSERT INTO借阅(读者编号,图书号) VALUES ( ‘140128’ , ’A002');
• 3.8数据操纵
3、插入子查询结果
插入子查询结果
在SQL中,可以使用SELECT语句查询出的结果代替VALUES子句,一次向基 本表中
插入多个元组。格式为:
INSERT INTO <表名〉[(v列名 1>[, v列名2>,... ])] v子查询〉;
,3.8数据操纵 1问题的提出
前面课程中我们所查询的这些 数据信息。是如何存入到数据 库中的?如果我们存入的信息 出现了错误,或者,随着时间 的流逝我们需要更新或删除其 中的数据,我们该如何操作?
数据操纵
数据操纵从广义上来说包括数 据的插入、删除和修改。现有 的商用的的数据库管理系统对 数据操纵基本上都可以通过窗
口或者是SQL语言实现。
• 3.8数据操纵
2、插入数据
插入数据
INSERT
INTO<表名>[(v列名 1>[, v列名2>,... ])]
VALUES([ <常量 1>[, v常量2>,...]] );
实例1
实例2
注意:借阅表有4个属性:读 者编
号、图书号、借阅日期和 还书日
期,而这里的INT。子句 没有出现
实例1
-修改某一个元组的值
【例】将A002号图书的单价改 为28。 UPDATE图书 SET单价二28 WHERE 图书号二'A002';
实例2
-修改多个元组的值 【例】将所有图书的单价减
少1元。 UPDATE图书 SET单价=单价-1;
实例3
-带子查询的修改语句
【例】将读者李明的所有借阅记录的借阅日期置 为
实例1
-删除某一个元组的值
【例】将A002号图书的图书记
录删除。
DELETE FROM图书 WHERE 图书号二'A002'
9
实例2
-删除多个元组的值 【例】删除所有的借书记录。
DELETE FROM借阅; 这条DELETE语句将使借阅表成为空表, 它
删除了借阅表的所有元组。
实例3
___
-带子查询的删除语句
___
【例】删除莫言所编图书的所有借阅记
录。 DELETE FROM借阅
___
WHERE ,莫言,= (SELECT 主编 FROM图书
WHERE图书.图书号二借阅.
图 书号);
小结
*
•插入数据的实现方式及种类。 •修改数据的实现方式及种类。 •删除数据的实现方式及种类。
(出版社 varchar(15), 总数int);
INSERT INTO CBS (出版社,总数) SELECT 出版社,COUNT (*)
FROM图书 GROUP BY出版社;
3.8数据操纵
4、修改数据
SQL中修改数据的语句为UPDATE,格式为: UPDATE v表名〉
SET v列名>=v表达式> [,v列名>=v表达式〉]... [WHERE v 条件>];
Database System
数据库系统概论
Introduction to Database Systems
主讲人:王岩 河南理工大学
知
第三章结构化查询语言-SQL
识
源自文库
点
@)SQL语言概述
5)排序、分组查询
2)创建与管理数据库与表 3)创建与管理索引 4)单表查询
6)连接查询 (7 )嵌套查询 (8 )数据操纵
借阅日期和还书日期, 因此插入的 记录在借阅日期和 还书日期两列 上取空值。
将一个新图书元组插入到图书表中。
INSERT
将一个新图书元组插入到图书表中。插入一条借阅记录
(‘140128’ , 'A002' ) O
INTO图书 VALUES ( 'A019','数据库', 珊','高等教育 '王
出版社',33.8)
系统当前日期,还书日期置为NULL。 UPDATE借阅 SET借阅日期=GETDATE (),还书日期=NULL
WHERE '李明'= (SELECT读者姓名 FROM读者 WHERE读者.读者编号二借阅.读者编号);
3.8数据操纵 5、删除数据
语句格式
删除语句的一般格式为:
DELETE FROM〈表名〉 [WHERE <条件〉];