SQL练习:INSERT/UPDATE/DELETE操作详解
53 浏览量
更新于2024-08-30
收藏 323KB PDF 举报
"这篇资料是关于2019-2020春学期数据库课程的一份作业,重点讲解了SQL中的数据更新操作,包括INSERT、UPDATE、DELETE以及NULL和VIEW的相关知识。通过实例展示了如何向表中添加数据、更新已有数据和删除数据,同时也提到了NULL值的处理和视图的使用。"
SQL语言是用于管理和处理数据库的标准语言,主要包括数据查询、数据更新、数据插入和数据删除等操作。在本资料中,数据更新主要涉及INSERT、UPDATE和DELETE这三种操作。
1. 插入数据 (INSERT)
插入数据用于向表中添加新的行或元组。基本语法是`INSERT INTO [table_name] ([column1], [column2], ...) VALUES (value1, value2, ...);`。注意以下几点:
- 如果某个列被定义为NOT NULL,那么插入时该列不能为NULL,否则会引发错误。
- 若不指定列名,需按表中列的顺序依次提供值,无值的地方用NULL表示。
- 字符串值需用单引号包围。
- 主键列的值必须唯一,不能重复,否则会报错。
示例:
- 插入一个新学生元组:`INSERT INTO Student (Sno, Sname, Ssex, Sdept, Sage) VALUES ('201215128', '陈冬', '男', 'IS', 18);`
- 直接插入值:`INSERT INTO Student VALUES ('201215126', '张成民', '男', 18, 'CS');`
- 插入子查询结果:`INSERT INTO SC (Sno, Cno) VALUES ('201215128', '1');`
2. 修改数据 (UPDATE)
UPDATE语句用于更新表中已存在的数据。基本语法是`UPDATE [table_name] SET [column1] = new_value1, [column2] = new_value2, ... [WHERE condition];`:
- WHERE子句用于指定要更新的行,如果省略WHERE,所有行都会被更新。
- 示例:`UPDATE Student SET Sage = Sage + 1 WHERE Sdept = 'IS';`(将IS系所有学生年龄加1)
3. 删除数据 (DELETE)
DELETE语句用于从表中移除行。基本语法是`DELETE FROM [table_name] [WHERE condition];`:
- 省略WHERE会删除表中的所有行,需谨慎使用。
- 示例:`DELETE FROM SC WHERE Sno = '201215128' AND Cno = '1';`(删除指定学生的选课记录)
4. NULL值处理
NULL值在SQL中代表未知或无值。在插入或更新时,某些列可以为NULL,但NOT NULL约束的列不允许为空。
5. 视图 (VIEW)
视图是基于SQL查询的虚拟表,它不存储实际数据,而是从一个或多个表中动态生成数据。视图可以简化复杂的查询,提高安全性,隐藏敏感信息。创建视图的语句通常为`CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;`
6. 子查询
子查询是查询语句中的查询,用于返回一个或多个值,这些值可以作为外部查询的一部分使用。例如,插入子查询结果到新表:`INSERT INTO Dept_age (Sdept, Avg_age) SELECT Sdept, AVG(Sage) FROM Student GROUP BY Sdept;` 这个例子中,子查询计算每个系的学生平均年龄并存入新表。
这些基本操作是SQL语言的核心组成部分,掌握它们对于理解和操作数据库至关重要。通过实践和练习,可以更深入地理解如何有效地管理数据库中的数据。
点击了解资源详情
455 浏览量
448 浏览量
448 浏览量
274 浏览量
236 浏览量
284 浏览量
137 浏览量
204 浏览量

weixin_38571878
- 粉丝: 5
最新资源
- C#实现DataGridView过滤功能的源码分享
- Python开发者必备:VisDrone数据集工具包
- 解决ESXi5.x安装无网络适配器问题的第三方工具使用指南
- GPRS模块串口通讯实现与配置指南
- WinCvs客户端安装使用指南及服务端资源
- PCF8591T AD实验源代码与使用指南
- SwiftForms:Swift实现的表单创建神器
- 精选9+1个网站前台模板下载
- React与BaiduMapNodejs打造上海小区房价信息平台
- 全面解析手机软件测试的实战技巧与方案
- 探索汇编语言:实验三之英文填字游戏解析
- Eclipse VSS插件版本1.6.2发布
- 建站之星去版权补丁介绍与下载
- AAInfographics: Swift语言打造的AAChartKit图表绘制库
- STM32高频电子线路实验完整项目资料下载
- 51单片机实现多功能计算器的原理与代码解析