SQL练习:INSERT/UPDATE/DELETE操作详解
113 浏览量
更新于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语言的核心组成部分,掌握它们对于理解和操作数据库至关重要。通过实践和练习,可以更深入地理解如何有效地管理数据库中的数据。
2020-12-14 上传
2020-12-14 上传
2020-12-14 上传
2020-12-14 上传
2021-03-19 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38571878
- 粉丝: 5
- 资源: 935
最新资源
- ghaction-publish-ghpages:将内容发布到GitHub Pages
- HTML5 Video Speed Control-crx插件
- 人工智能实验2020年秋季学期.zip
- PyPI 官网下载 | vector_quantize_pytorch-0.4.0-py3-none-any.whl
- form:将您的Angular2 +表单状态保留在Redux中
- Tensorflow_practice:딥러닝,머신러닝
- Dijkstra.rar_matlab例程_matlab_
- 任何点复选框
- 人工智能写诗.zip
- Parstagram:使用私有存储服务器模仿Instagram
- mod-1白板挑战牌卡片sgharms测试webdev资金
- Slack Panels-crx插件
- PyPI 官网下载 | vectorian-0.9.2-cp38-cp38-macosx_10_9_x86_64.whl
- react-card-component:React卡组件Libaray
- 人工智能与实践 bilibili.zip
- Architecture-Website