《于跃-企业局域网的安全与运维Ⅱ-12-数据的添加修改删除.ppt》由会员分享,可在线阅读,更多相关《于跃-企业局域网的安全与运维Ⅱ-12-数据的添加修改删除.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、企业局域网的安全与运企业局域网的安全与运维维2 2数据的添加删除和修改数据的添加删除和修改课程引入课程引入l我们已经创建了数据库,建立了表。我们已经创建了数据库,建立了表。l我们在系统的应用程序中所作的添加、删除和我们在系统的应用程序中所作的添加、删除和修改等操作,如何真正向数据库表中添加数据、修改等操作,如何真正向数据库表中添加数据、修改数据和删除数据呢?修改数据和删除数据呢?l答案:应用答案:应用T-SQLT-SQL语句完成数据的添加、删除语句完成数据的添加、删除和修改。和修改。学习目标学习目标l知识目标:知识目标:l掌握能够向表中插入数据的方法掌握能够向表中插入数据的方法l掌握更新表中数
2、据的方法掌握更新表中数据的方法l掌握删除表中数据的方法掌握删除表中数据的方法l能力目标:能力目标:l能够按照给定的要求,正确向表中插入数据;能够按照给定的要求,正确向表中插入数据;l能够按照给定的要求,正确向表中更新数据;能够按照给定的要求,正确向表中更新数据;l能够按照给定的要求,正确从表中删除数据;能够按照给定的要求,正确从表中删除数据;插入数据插入数据 l1.使用INSERT命令插入数据lINSERT INSERT 语句可向表中添加一个或多个新行。语句可向表中添加一个或多个新行。lINSERT INSERT 语句在简单的情况下有如下形式:语句在简单的情况下有如下形式:lINSERT IN
3、TO INSERT INTO table_or_viewtable_or_view(column_listcolumn_list)VALUES(VALUES(data_valuesdata_values)l用用 VALUES VALUES 子句为一行指定数据值。子句为一行指定数据值。lData_valuesData_values中的数据项要与中的数据项要与column_listcolumn_list相对应;相对应;l注意:在插入记录时,如果某字段的值没有被指定,注意:在插入记录时,如果某字段的值没有被指定,则这个字段应该是自动标示列,有默认值,或可以则这个字段应该是自动标示列,有默认值,或可以
4、为空。为空。插入数据插入数据 l向向StudentStudent中插入一名新学生的信息。中插入一名新学生的信息。lInsert into Insert into student(sno,sn,sex,date,idcodestudent(sno,sn,sex,date,idcode)values(values(s7s7,wuwu,男男 ,1990-1-1990-1-1 1,111111111111111111111111111111111111)l以下示例使用以下示例使用 column_listcolumn_list 显式指定插入到每个显式指定插入到每个列的值。列的值。lINSERT INTO
5、 student(SNO,SN,date,INSERT INTO student(SNO,SN,date,SEX,idcodeSEX,idcode)lVALUES(VALUES(S8S8,JIANGJIANG,2000-1-12000-1-1,女女,1222222222222212222222222222););插入数据插入数据 l插入值少于列个数的数据,但前提是确认其他列插入值少于列个数的数据,但前提是确认其他列允许空值。允许空值。lINSERT INTO s(SNO,SN)INSERT INTO s(SNO,SN)l VALUES(S9,ZHU);VALUES(S9,ZHU);linser
6、t into s values(s8,insert into s values(s8,琳琳琳琳,defaultdefault,20,20,计算机工程系计算机工程系)插入数据插入数据l2.2.将查询结果插入数据表将查询结果插入数据表lINSERT INSERT 语句中的语句中的 SELECT SELECT 子查询可用于将一子查询可用于将一个或多个表或视图中的值添加到另一个表中。个或多个表或视图中的值添加到另一个表中。使用使用 SELECT SELECT 子查询还可以同时插入多行。子查询还可以同时插入多行。l下面用下面用 SELECT SELECT 子查询为一行或多行指定数据子查询为一行或多行指定
7、数据值。值。如何一次向表中插入多行数据(数据如何一次向表中插入多行数据(数据块)块)lInsert into Insert into valuesvalues:每次向表中插入一每次向表中插入一行数据行数据lInsert into Insert into SelectSelect:一次插入的数据一次插入的数据块都是从其他数据源获得的块都是从其他数据源获得的,这些数据源包括:这些数据源包括:l数据库中的另一个表数据库中的另一个表l同一个服务器上其他不同的数据库同一个服务器上其他不同的数据库l另一个另一个SQL Server SQL Server 的不同查询或其他数据的不同查询或其他数据l同一个表同
8、一个表用用selectselectinto into 插入数据块插入数据块SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC|DESC 插入数据插入数据 l将所有女学生的学号、姓名放入新表将所有女学生的学号、姓名放入新表F_studentF_student中。中。lINSERT INTO INSERT INTO F_studentF_
9、student(SNO,SNAME)(SNO,SNAME)l SELECT SNO,SN SELECT SNO,SNl FROM s FROM sl WHERE SEX=WHERE SEX=女女;插入数据插入数据l3.使用图形工具插入数据l使用图形工具插入数据的步骤如下。使用图形工具插入数据的步骤如下。l(1)(1)在对象管理器中右击要插入数据的表名,出现在对象管理器中右击要插入数据的表名,出现如图如图1 1所示的快捷菜单。所示的快捷菜单。l(2)(2)在出现的快捷菜单中选择在出现的快捷菜单中选择【打开表打开表】命令,出命令,出现如图现如图2 2所示的输入数据窗口。所示的输入数据窗口。l(3)
10、(3)输入数据后,单击工具栏上的输入数据后,单击工具栏上的【执行执行SQLSQL】按按钮,将数据写入数据库引擎中。钮,将数据写入数据库引擎中。插入数据插入数据 l图图1 1 快捷菜单快捷菜单 插入数据插入数据 l图图2 2 输入数据窗口输入数据窗口 插入数据时可能出现错误的原因插入数据时可能出现错误的原因l试图向非空列插入空值;试图向非空列插入空值;l插入的数据类型不匹配;插入的数据类型不匹配;l违反了数据完整性约束;违反了数据完整性约束;更新数据更新数据 l创建表并添加数据之后,更改或更新表中的数据就创建表并添加数据之后,更改或更新表中的数据就成为维护数据库的日常操作之一。成为维护数据库的日
11、常操作之一。l1.1.使用使用UPDATEUPDATE命令更新数据命令更新数据l语法:语法:Update Update 数据表或视图名称数据表或视图名称Set Set 字段名称字段名称=新值表达式新值表达式,nnFrom From 数据表或视图名称数据表或视图名称Where Where 查询条件查询条件更新数据更新数据l使用简单使用简单 UPDATE UPDATE 语句。语句。lUPDATE sUPDATE slSET AGE=AGE+1;SET AGE=AGE+1;更新数据更新数据 l带带 WHERE WHERE 子句使用子句使用 UPDATE UPDATE 语句语句l以下示例使用以下示例使
12、用 WHERE WHERE 子句指定要更新的行。将选子句指定要更新的行。将选C2C2课程的学生的成绩提高课程的学生的成绩提高5%5%。lUPDATE UPDATE s_cs_clSET score=SET score=scorescore*1.05*1.05lWHERE CNO=C2;WHERE CNO=C2;更新数据更新数据 l带子查询的带子查询的 UPDATE UPDATE 语句。语句。l下面的示例将选修数据库课程的学生的成绩增加下面的示例将选修数据库课程的学生的成绩增加1010分。分。lUPDATE scUPDATE sclSET score=scoreSET score=score+1
13、010lWHERE CNO INWHERE CNO INl(SELECT CNO FROM c WHERE cn like%(SELECT CNO FROM c WHERE cn like%数据库数据库%)%)更新数据更新数据 l2.使用图形工具更新数据l使用图形工具进行数据更新的步骤如下。使用图形工具进行数据更新的步骤如下。l(1)(1)在对象管理器中右击要更新数据的表名,出现在对象管理器中右击要更新数据的表名,出现快捷菜单。快捷菜单。l(2)(2)在出现的快捷菜单中选择在出现的快捷菜单中选择【打开表打开表】命令,出命令,出现输入数据窗口。在该窗口中更新需要修改的数现输入数据窗口。在该窗口中
14、更新需要修改的数据,修改后,单击工具栏上的据,修改后,单击工具栏上的【执行执行SQLSQL】按钮,按钮,将数据写入数据库引擎中。将数据写入数据库引擎中。删除数据l1.使用DELETE命令删除数据lDELETE DELETE 语句可删除表或视图中的一行或多行。语句可删除表或视图中的一行或多行。lDELETE DELETE 语法的简化形式为:语法的简化形式为:lDELETE DELETE table_or_viewtable_or_view lFROM FROM table_sourcestable_sources lWHERE WHERE search_conditionsearch_condi
15、tionl从从 s_cs_c 表中删除所有行,因为该例未使用表中删除所有行,因为该例未使用 WHERE WHERE 子句限制删除的行数。子句限制删除的行数。lDELETE FROM DELETE FROM s_cs_c;l删除满足条件的数据删除满足条件的数据lDELETE FROM DELETE FROM s_cs_c where where cnocno=c1c1;TRUNCATE TABLEl功能:删除表中的所有行,而不记录单个行删除操作。l语法TRUNCATE TABLE table_TRUNCATE TABLE table_namenamel例子:TRUNCATE TABLE sTRU
16、NCATE TABLE s TRUNCATE TABLElTRUNCATE TABLE TRUNCATE TABLE 在功能上与不带在功能上与不带 WHERE WHERE 子句的子句的 DELETE DELETE 语句相同:二者均删除表中的全部行。但语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE TRUNCATE TABLE 比比 DELETE DELETE 速度快速度快,且使用的系统和,且使用的系统和事务日志资源少。事务日志资源少。lDELETE DELETE 语句每次语句每次删除一行删除一行,并在事务日志中为所删除,并在事务日志中为所删除的每行记录一项。的每行记录一项。
17、TRUNCATE TABLE TRUNCATE TABLE 通过释放存储表数通过释放存储表数据所用的数据据所用的数据页页来删除数据,并且只在事务日志中记录来删除数据,并且只在事务日志中记录页的释放。页的释放。l对于由对于由 FOREIGN KEY FOREIGN KEY 约束引用的表,不能使用约束引用的表,不能使用 TRUNCATE TABLETRUNCATE TABLE,而应使用不带,而应使用不带 WHERE WHERE 子句的子句的 DELETE DELETE 语句语句本节小结本节小结l可以向表中插入单条记录(可以向表中插入单条记录(insert valuesinsert values),),也可以向表中批量添加数据,此时数据是从其也可以向表中批量添加数据,此时数据是从其他的表或对象中取得的(他的表或对象中取得的(select intoselect into、insert selectinsert select)。)。lUpdateUpdate语句用于更新数据库中的数据。语句用于更新数据库中的数据。lDeleteDelete语句删除数据库中的数据,删除时,如语句删除数据库中的数据,删除时,如果没有果没有wherewhere条件的限制,则会删除整个表中条件的限制,则会删除整个表中的数据。的数据。
限制150内