SQL练习:INSERT/UPDATE/DELETE操作详解

0 下载量 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语言的核心组成部分,掌握它们对于理解和操作数据库至关重要。通过实践和练习,可以更深入地理解如何有效地管理数据库中的数据。