a.利用企业管理器
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“设计表”选项,出现设计表对话框,在对话框可完成增加、删除和修改字段的操作。
c.利用T-SQL语句 ALTER TABLE table { [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ] [ COLLATE < collation_name > ] [ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL } ] | ADD
{ [ < column_definition > ]
| column_name AS computed_column_expression } [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD { < table_constraint > } [ ,...n ] | DROP
{ [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ] | { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ] } }
例如:
alter table jbxx2 alter column name char(8) alter table jbxx2 drop column birthday
alter table jbxx2 add memo varchar(200)
alter table jbxx1 add constraint PK_em_id primary key(employee_id) alter table jbxx1 add constraint sex default’男’for sex (四) 查看表格 a.利用企业管理器
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“属性”选项,出现表属性对话框,在对话框可显示对表格的定义。
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“打开表”选项,该选项有三个子项:“返回所有行”:显示所有记录;“返回首行”::显示前N条记录,N可自己输入;“查询”:查询具体某行记录。
b.利用T-SQL语句
语法:sp_help [[@objname=]name]
系统存储过程Sp_help可以提供指定数据库对象的信息,只用于当前数据库。其中[[@objname=]name]字句用于指定对象的名称,如果不指定对象名称,sp_help存储过程就会列出当前数据库中的所有对象名称、对象的所有者和对象的类型。
例1:显示当前数据库中所有对象的信息 use gzgl
15
go
exec sp_help
例2:显示表jbxx的信息 use gzgl go
exec sp_help jbxx1 (五) 更改表的名称
语法:sp_rename [@objname=]‘object_name’,[@newname=] ‘new_name’ [,[@objtype=] ‘object_type’]
@objtype=] ‘object_type’指定要改名的对象的类型,其值可以为COLUMN,DATABASE,INDEX,USERDATATYPE,OBJECT。值OBJECT指代系统表中的所有对象,OBJECT值为默认值。
例1:sp_rename ‘jbxx1’,‘基本信息‘ //将jbxx1的名称改为基本信息 (六) 删除表
a.利用企业管理器
在企业管理器中,右击要删除的数据表,从弹出的快捷菜单中选择“删除”选项,出现“除去对象”对话框,在对话框完成操作。
b.利用T-SQL语句
DROP TABLE table_name
实验习题:
分别用企业管理器和查询分析器在“学生”数据库中创建学生表、课程表、选课表,表中字段如下:S(Sno,Sname,Sage,Ssex,Sdept),C(Cno,Cname, Teacher),SC(Sno,Cno,Grade),类型自定。
实验报告要求: ? ? ? ? ?
实验目的 实验内容及步骤 实验习题的源程序清单
写出在实验过程中遇到的问题及解决方法 要求字迹端正、条理清晰、概念正确
16
实 验 三
实验名称:数据查询 实验学时:4
实验目的:
1) 掌握在企业管理器中对表的查询操作。 2) 掌握使用T-SQL语句对表的查询操作。 3) 重点掌握 SELECT语句的使用方法。 4) 掌握子查询(嵌套查询)、连接查询的使用。 实验内容及步骤:
(一) 在企业管理器中查询数据
在企业管理器中,用鼠标右击要查询数据的表,在弹出的快捷菜单中选择“打开表→查询”,打开“查询设计器”窗口。在该窗口构建并执行查询。 (二) SELECT语句的使用方法。 基本格式如下:
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 ] ] 例1:对学生成绩的查询。 /*方法一*/
select s.sname,sc.grade from s,sc
where s.sno=sc.sno /*方法二*/
select s.sname,sc.grade from s JOIN sc on s.sno=sc.sno
例2:查询结果只显示前n条记录* select top 3 sno,sname,sdept from s
例3:分组查询、并改名
select sage as 学生年龄,count(*)as 学生数 from s
group by sage
例4:使用CASE函数分类查询 select * ,
case cno
when 1 then round((grade*1.03),-1) when 2 then round((grade*1.04),-1) when 3 then round((grade*1.05),-1) else round((grade*1.01),-1) end as 期望成绩 from sc
17
例5:使用LIKE运算符
SELECT * FROM 学生 WHERE 姓名 LIKE '%李%' 例6:使用BETWEEN运算符
SELECT * FROM 学生 WHERE 入学成绩 BETWEEN 550 AND 580 例7:对查询结果分组
在“学生”表中按性别统计所有学生的最高成绩。 USE 学生管理
SELECT CASE 性别
WHEN 0 THEN '女' ELSE '男' END AS 性别,
MAX(入学成绩) AS 最高成绩 FROM 学生
GROUP BY 性别
注意:在使用GROUP BY子句时,SELECT子句中每一个非聚合表达式内的所有列都应包含在GROUP BY列表中。否则将会返回错误信息。
实验习题:
对于“Student”数据库的三个基本表:
S(Sno,Sname,Sage,Ssex,Sdept),C(Cno,Cname,Teacher),SC(Sno,Cno,Grade)
1. 使用企业管理器中为 “学生”数据库的学生表(student)、课程表(course)、选
课表(sc)添加记录。 2. 完成如下查询语句:
(1) 查询LIU老师所授课程的课程号和课程名。 (2) 查询年龄大于23岁的男生的学号和姓名。
(3) 查询学号为S3学生所学课程的课程名与任课教师名。 (4) 查询至少选修LIU老师所授课程中一门课程的女学生姓名。 (5) 查询Wang同学不学的课程的课程号。
(6) 查询至少选修两门课程的学生学号。
(7) 查询全部学生都选修的课程的课程号与课程名。 (8) 查询选修课程包含LIU老师所授课程的学生学号。 (9) 统计有学生选修的课程门数。
(10)求选修C4课程的女学生的平均年龄。
(11)求LIU老师所授课程的每门课程的平均成绩。 (12)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 (13)检索学号比Wang同学打,而年龄比他小的学生姓名。 (14)在表SC中查询成绩为空值的学生学号和课程号。 (15)查询姓名以L打头的所有学生的姓名和年龄。
(16)求年龄大于女同学平均年龄的男学生姓名和年龄。 (17)求年龄大于所有女同学年龄的男学生姓名和年龄。 实验报告要求: ? ?
实验目的
实验习题的源程序清单
18
? ?
写出在实验过程中遇到的问题及解决方法 要求字迹端正、条理清晰、概念正确
19