配色: 字号:
SQL Server 2008数据库实用教程-第03章
2022-12-14 | 阅:  转:  |  分享 
  
第3章 表数据操作 3.1 界面操作表数据 表数据操作当数据库和表创建完成以后,需要对表中的数据进行操作。对表中的数据操作包括插入、删除和
修改数据,可以通过对象资源管理器窗口操作表中的数据,也可以通过Transact .SQL语句操作表中的数据。 3.1 界面操作表数
据 以前面建立的数据库db_stu中的表Student为例,下面将介绍如何在SQL Server管理控制台中添加、修改
和删除表Student中的记录。 3.1.1 插入记录 图3.1 添加记录前 插入记录将新记录添加在表尾,可
以向表中插入多条记录。操作方法: (1)使用SQL Server Management Studio连接SQL Server 2
008服务器。 (2)在“对象资源管理器”窗口中展开连接的服务器中的“数据库”? db_stu?表?dbo.Student,
单击右键,在弹出的菜单中选择“编辑前200行”命令,在右边的窗口中出现如图3 .1所示的界面。3.1.1 插入记录(3)选中行内
容都为NULL的记录,按照数据字典中所给的数据添加记录,添加完第一条记录以后,如图3 .2所示。 图3.2 添加第一条记录
后 3.1.1 插入记录(4)按照第(3)步的做法,依次将表Student中记录添加完成,然后将表Student关闭,记录会自动
保存。 (5)按照查看表中的数据的步骤,查看表Student中的数据,如图3 .3所示。 3.1.1 插入记录 图3.3
所有记录添加完成 3.1.2 删除记录 当表中的某些记录不再需要时,要将其删除。仍然以表Student为例。 (1)使用SQL
Server Management Studio连接SQL Server 2008服务器。 (2)在“对象资源管理器”窗口中展开
连接的服务器中的“数据库”? db_stu?表?dbo.Student,单击右键,在弹出的菜单中选择“编辑前200行”命令。 (3
)在右边的窗口中右键单击需要删除的记录,在弹出的命令中选择“删除”。 (4)单击图3 .4中的[是]按钮,将记录永久删除。 图3.
4 删除数据时弹出的对话框 3.1.3 修改记录 当表Student中的数据添加完成以后,如果发现录入有错误,如何修改
哪?下面将演示如何将学生ZhangQiang的年龄改为20岁。 (1)使用SQL Server Management Stud
io连接SQL Server 2008服务器。 (2)在“对象资源管理器”窗口中展开连接的服务器中的“数据库”? db_stu
?表?dbo.Student,单击右键,在弹出的菜单中选择“编辑前200行”命令,在右边的窗口中找到要修改的学生记录,按照要求,将
19改为20,关闭表Student,修改后的记录会自动保存。 3.2.1 使用INSERT语句插入表数据 语法格式:INSERT
[INTO]{ table_name /表
名/ WITH ([…n]) /指定表提示,可省略/
| view_name /视图名
/ | rowset_function_limited
/可以是OPENQUERY 或 OPENROWSET 函数/ }{ [ (column_list)]
/列表/ { VALUES
/指定列值的子句/ ({DEFAULT | NULL
|expression} [,…n]) /列值的构成形式/ | derived_table
/结果集/ | exectute_statement
/有效的EXECTUTE语句/ } } | DEF
AULT VALUES /所有列均取默认值/3.2.1 使用INSERT语句插入表数据【例3.1】向XS
CJ数据库的表XS中插入如下的一行:001112 罗林琳 计算机 0 1/30/1980 0:0:0 40可以使用如下的
T-SQL语句:USE XSCJINSERT INTO XS VALUES(‘001112’,’罗林琳’,’计算机’,
0 ,‘1/30/1980 0:0:0’, 40,NULL)GOVALUES子句中的值可有三种:(1) DEFAULT:指定为该
列的默认值。这要求定义表时必须指定该列的默认值。(2) NULL:指定该列为空值。(3) expression:可以是一个常量
、变量或一个表达式,其值的数据类型要与列的数据类型一致。注意表达式中不能有SELECT及EXECUTE语句。3.2.1 使用INS
ERT语句插入表数据【例3.2】 用如下的CREATE语句建立表XS1: CREATE TABLE XS1 ( num cha
r(6) NOT NULL, name char(8) NOT NULL, speiality char(10)
NULL ) 用如下的INSERT语句向XS1表中插入数据: INSERT INTO XS1 SELECT
学号,姓名,专业名 FROM XS WHERE 专业名=’计算机’ 上面这条INSERT语句的功能是:将XS
表中专业名为‘计算机’的各记录的学号、姓名和专业名列的值插入到XS1表的各行中。用如下的SELECT语句进行查询看插入结果:SEL
ECT FROM XS13.2.2 使用DELETE或TRANCATE语句删除数据 在T-SQL语言中,删除数据可以使用
DELETE语句或TRANCATE TABLE语句来实现。(1) 使用DELETE语句删除数据语法格式:DELETE [FROM
]{ table_name WITH ( < table_hint_limited > [ ...n ] ) /从表中删除数
据/| view_name /从视图删除数据/| rowset_function_limit
ed /可以是OPENQUERY或OPENROWSET 函数/}[ FROM {}[,…
n]] /从table_source删除数据/[ WHERE { /指定条
件/|{ [CURRENT OF { {[GLOBAL] cursor_name} | cursor_variable_name
}]} /有关游标的说明/}][OPTION(
[,…n])] /使用优化程序/3.2.2 使用DELETE或TRANCATE语句删除数据
说明:FROM子句: 用于说明从何处删除数据。可以从四种类型的对象中删除数据:(1) 表:由table_name指定要从其中删除
数据的表名,关键字WITH指定目标表所允许的一个或多个表提示。(2) 视图:由view_name指定要从其中删除数据的视图名,要
注意该视图必须可以更新,并且正确引用了一个基本表。(3) OPENQUERY和OPENROWSET函数:由rowset_func
tion_limited指定。(4) table_source:将在介绍SELECT语句时详细讨论。【例3.3】将XSCJ数据库
的XS表中总学分小于39的行删除,使用如下的T-SQL语句:USE XSCJDELETE FROM XS WHERE 总学分<
39GO3.2.2 使用DELETE或TRANCATE语句删除数据【例3.4】将XSCJ数据库的XS表中备注为空的行删除(实际不做
操作)。DELETE FROM XS WHERE 备注 IS NULL将XSCJ数据库的XS表中的所有行均删除(实际不做操作)
。DELETE XS2. 使用TRUNCATE TABLE语句删除表数据使用TRUNCATE TABLE语句将删除指定表中的所有数
据,因此也称其为清除表数据语句。语法格式:TRUNCATE TABLE name3.2.3 使用UPDATE语句修改数据在T-SQ
L中,UPDATE语句可以用来修改表中的数据行。语法格式: UPDATE { table_name WITH ( < tabl
e_hint_limited > [ ...n ] ) /修改表数据/| view_name
/修改视图数据/| rowset_function_limited /可以是OPENQUERY或OPENROWSE
T函数/}SET /赋予新值/{ column_name = { expression | DEF
AULT | NULL } /为列重新指定值/| @variable = expression /指定变
量的新值/ | @variable = column = expression /指定列和变量的新值/
}[,…n] {{ [ FROM {}[,…n]] /修改table
_source数据[ WHERE ] /指定条件/}| [ WHERE CUR
RENT OF /有关游标的说明/{ {[GLOBAL] cursor_name} | cursor_variab
le_name}]} [OPTION([,…n])]
/使用优化程序/3.2.3 使用UPDATE语句修改数据可以对四种类型的对象修改数据:(1) 表:由table_n
ame指定要从其中删除数据的表名,关键字WITH指定目标表所允许的一个或多个表提示。(2) 视图:由view_name指定要从其
中删除数据的视图名,要注意该视图必须可以更新,并且正确引用了一个基本表。(3) OPENQUERY和OPENROWSET函数:由
rowset_function_limited指定。(4) table_source:将在介绍SELECT语句时详细讨论。【例3
.5】将XSCJ数据库的XS表中学号为001110的学生的备注列值改为“三好生”。USE XSCJUPDATE XS SET 备注=”三好生” WHERE 学号=001110GO3.2.3 使用UPDATE语句修改数据【例3.6】将XS表中的所有学生的总学分都增加10。将姓名为“罗林琳”的同学的专业改为“通信工程”,备注改为“转专业学习”,学号改为001241。UPDATE XS SET 总学分 = 总学分+10GOUPDATE XS SET 专业 = ‘通信工程’, 备注 = ‘转专业学习’, 学号 = ‘001241’ WHERE 姓名 = ‘罗林琳’GO
献花(0)
+1
(本文系籽油荃面原创)