第3章表数据操作3.1界面操作表数据3.1界面操作表数据3.1.1插入记录3.1.2删除记录3.1.3 修改记录3.1.4界面操作表数据的另一种方法3.1.4界面操作表数据的另一种方法3.2.1使用INSERT语句插入 表数据3.2.1使用INSERT语句插入表数据3.2.1使用INSERT语句插入表数据3.2.1使用INSERT语句 插入表数据3.2.1使用INSERT语句插入表数据3.2.1使用INSERT语句插入表数据3.2.2使用DELETE或 TRANCATE语句删除数据3.2.2使用DELETE或TRANCATE语句删除数据3.2.2使用DELETE或TRANC ATE语句删除数据3.2.2使用DELETE或TRANCATE语句删除数据3.2.2使用DELETE或TRANCATE语句 删除数据3.2.3使用UPDATE语句修改数据3.2.3使用UPDATE语句修改数据3.2.3使用UPDATE语句修改 数据3.2.3使用UPDATE语句修改数据3.2.3使用UPDATE语句修改数据3.2.3使用UPDATE语句修改数据 习题要启动SQLServer,然后启动“企业管理器”,建立与SQLServer的连接,展开需进行操作的表所 在的数据库、展开表。在需操作的表上点击鼠标右键,在弹出的快捷菜单中选择“打开表”?“返回所有行”,如图3.1所示。插 入记录将新记录添加在表尾,可以向表中插入多条记录。操作方法是:将光标定位到当前表尾的下一行,然后逐列输入列的值。例如 ,向XS表中增加10条记录,学生样本数据见附录A,如图3.3所示。当表中的某些记录不再需要时,要将其删除。在企业管理器中删除记 录的方法是:第1步在操作表数据的窗口中定位需被删除的记录行,即将当前光标移到要被删除的行,此时该行反相显示,点击鼠标右键,在弹 出的快捷菜单上选择“删除”功能项,如图3.4所示。第2步选择“删除”后,将出现如图3.5所示的确认对话框,点击“是”按钮将删除 所选择的记录,点击“否”按钮将不删除该记录。在企业管理器中修改记录数据的方法是,先定位被修改的记录字段,然后对该字 段值进行修改。例如,将XS表的第2条记录的“总学分”字段的值改为40,如图3.6所示。第1步启动“企业管理器”,建立与SQL Server的连接,展开需进行操作的表所在的数据库、展开表。在需操作的表上点击鼠标右键,在弹出的快捷菜单中选择“打开表”?“查询 ”,如图3.7所示。第2步在所出现的如图3.8所示的界面中点击“运行”按钮,在窗口的最下面的结果集显示窗口中将显示表的所有行, 可以插入、删除和修改记录,操作的方法与在Enterprise中进行相应操作的方法相同。语法格式:INSERT[INTO]{ table_name /表名/ WITH([…n]) /指定表提示,可省略/|v iew_name /视图名/ |rowset_function_limited /可以是OPENQUERY或OPENROWSET函数/}{[(column_list)] /列表/{VALUES /指定列值的子句/({DEFAULT|NUL L|expression}[,…n]) /列值的构成形式/|derived_table /结果集/|exectute_statem ent /有效的EXECTUTE语句/}} |DEFAULTVALUES /所有列均取默认值/【例3.1】向XSCJ数据库的表XS中插入如下 的一行:001112罗林琳计算机01/30/19800:0:040可以使用如下的T-SQL语句:US EXSCJINSERTINTOXSVALUES(‘001112’,’罗林琳’,’计算机’,0,‘1/30 /19800:0:0’,40,NULL)GOVALUES子句中的值可有三种:(1)DEFAULT:指定为该列的默认 值。这要求定义表时必须指定该列的默认值。(2)NULL:指定该列为空值。(3)expression:可以是一个常量、变 量或一个表达式,其值的数据类型要与列的数据类型一致。注意表达式中不能有SELECT及EXECUTE语句。该语句执行的结果如图3. 9所示。用SELECT语句进行查询,可以发现表中已经增加了学号为“001112”这一行,如图3.10所示。【例3 .2】用如下的CREATE语句建立表XS1:CREATETABLEXS1( numchar(6)NOTNU LL, namechar(8)NOTNULL, speialitychar(10)NULL) 用如下的INSERT语句向XS1表中插入数据:INSERTINTOXS1SELECT学号, 姓名,专业名 FROMXS WHERE专业名=’计算机’上面这条INSERT语句的功能是:将XS表 中专业名为‘计算机’的各记录的学号、姓名和专业名列的值插入到XS1表的各行中。用如下的SELECT语句进行查询看插入结果:SEL ECTFROMXS1使用INSERT向KC表输入附录A的样本数据记录后,如图3.xx所示。使用INSERT向XS_KC 表输入附录A的数据样本记录后,如图3.xx所示。在T-SQL语言中,删除数据可以使用DELETE语句或TRANCATE TABLE语句来实现。(1)使用DELETE语句删除数据语法格式:DELETE[FROM]{table_na meWITH([...n])/从表中删除数据/|view_n ame /从视图删除数据/|rowset_function_limited/可 以是OPENQUERY或OPENROWSET函数/}[FROM{}[,…n]] /从 table_source删除数据/[WHERE{ /指定条件/|{ [CURRENTOF{{[GLOBAL]cursor_name}|cursor_variable_name}]} /有关游标的说明/}][OPTION(ery_hint>[,…n])] /使用优化程序/说明:FROM子句:用于说明从何处删除数据。可以从四种类型 的对象中删除数据:(1)表:由table_name指定要从其中删除数据的表名,关键字WITH指定目标表所允许的一个或多个表提 示。(2)视图:由view_name指定要从其中删除数据的视图名,要注意该视图必须可以更新,并且正确引用了一个基本表。(3 )OPENQUERY和OPENROWSET函数:由rowset_function_limited指定。(4)table_ source:将在介绍SELECT语句时详细讨论。【例3.3】将XSCJ数据库的XS表中总学分小于39的行删除,使用如下的T-S QL语句:USEXSCJDELETEFROMXS WHERE总学分<39GO该语句执行的结果如图3.11所示 。用SELECT语句进行查询,可以发现表中学号为“001102”和“001105”两行已被删除,如图3.12所示。 【例3.4】将XSCJ数据库的XS表中备注为空的行删除(实际不做操作)。DELETEFROMXS WHERE备注 ISNULL将XSCJ数据库的XS表中的所有行均删除(实际不做操作)。DELETEXS2.使用TRUNCATET ABLE语句删除表数据使用TRUNCATETABLE语句将删除指定表中的所有数据,因此也称其为清除表数据语句。语法格式:T RUNCATETABLEname在T-SQL中,UPDATE语句可以用来修改表中的数据行。语法格式:UPDATE{ table_nameWITH([...n])/修改表数据 /|view_name /修改视图数据/|rowset_function_limit ed /可以是OPENQUERY或OPENROWSET函数/}SET /赋予新值/{ column_name={expression|DEFAULT|NULL}/为列重新指定值/|@var iable=expression /指定变量的新值/|@variable=colum n=expression /指定列和变量的新值/}[,…n]{{[FROM{ce>}[,…n]] /修改table_source数据[WHEREdition>] /指定条件/}|[WHERECURRENTOF /有关游标的说明/ {{[GLOBAL]cursor_name}|cursor_variable_name}]} [OPTION([,…n])] /使用优化程序/可以对四种类型 的对象修改数据:(1)表:由table_name指定要从其中删除数据的表名,关键字WITH指定目标表所允许的一个或多个表提示 。(2)视图:由view_name指定要从其中删除数据的视图名,要注意该视图必须可以更新,并且正确引用了一个基本表。(3) OPENQUERY和OPENROWSET函数:由rowset_function_limited指定。(4)table_s ource:将在介绍SELECT语句时详细讨论。【例3.5】将XSCJ数据库的XS表中学号为001110的学生的备注列值改为“三 好生”。USEXSCJUPDATEXS SET备注=”三好生” WHERE学号=001110GO该语 句的执行结果如图3.13所示。用SELECT语句进行查询,可以发现表中学号为“001110”的行的备注字段值已被修改,如图3.14所示。【例3.6】将XS表中的所有学生的总学分都增加10。将姓名为“罗林琳”的同学的专业改为“通信工程”,备注改为“转专业学习”,学号改为001241。UPDATEXS SET总学分=总学分+10GOUPDATEXS SET专业=‘通信工程’, 备注=‘转专业学习’, 学号=‘001241’ WHERE姓名=‘罗林琳’GO企业管理器操作如图3.15所示。 |
|