SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的小型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。
Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNⅨ操作系统上的应用。
2.2、SQL Server的下载
操作系统:Windows 10 专业版 64位(版本号,19041.508)
安装版本:sql server 2008 r2 enterprise 迅雷下载:
图像型是image,它用于存储图片、照片等。实际存储的是可变长度二进制数据,介于0与231-1(2147483647)字节之间。
在SQL Server 2005中该类型是为了向下兼容而保留的数据类型,微软推荐用户使用varbinary(MAX)数据类型来替代image类型。
第五章 SQL Server数据表管理
首先先创建一个数据库,名字叫”学生信息数据库“,以下操作均在该数据库中进行。
5.1、新建数据表
XSB(学生表)的表结构:
[table][tr]列 名数 据 类 型长度可空默认值说 明[/tr][tr][td]学号[/td][td]定长字符型(char)[/td][td]6[/td][td]×[/td][td]无[/td][td]主键,2位年级,2位班号,2位序号[/td][/tr][tr][td]姓名[/td][td]定长字符型(char)[/td][td]8[/td][td]×[/td][td]无[/td][td][/td][/tr][tr][td]性别[/td][td]位型(bit)[/td][td]1[/td][td]√[/td][td]1[/td][td]1:男;0:女[/td][/tr][tr][td]出生时间[/td][td]日期型(datetime)[/td][td]系统默认[/td][td]√[/td][td]无[/td][td][/td][/tr][tr][td]专业[/td][td]定长字符型(char)[/td][td]12[/td][td]√[/td][td]无[/td][td][/td][/tr][tr][td]总学分[/td][td]整数型(int)[/td][td]4[/td][td]√[/td][td]0[/td][td]0≤总学分=0 AND 总学分=1 AND 开课学期=0 AND 总学分=1 AND 开课学期、>=、= 90 then '优秀' when 成绩 >= 70 then '良好' when 成绩 >= 60 then '及格' else '不及格'endfrom CJB;[/code] 7.5、分组查询
语法格式:
CREATE TABLE XSB (
学号 char(6) NOT NULL ,
姓名 char(8) NOT NULL ,
性别 bit NULL DEFAULT (1) ,
出生时间 datetime NULL ,
专业 char(12) NULL ,
总学分 int NULL DEFAULT (0) CHECK (总学分>=0 AND 总学分<160) ,
备注 varchar(500) NULL ,
PRIMARY KEY (学号)
)
GO
复制代码
案例演示1:按照学生专业对学生进行分组,查询分组后每个专业的名称
CREATE TABLE KCB (
课程号 char(3) NOT NULL ,
课程名 char(16) NULL ,
开课学期 tinyint NULL DEFAULT (1) CHECK (开课学期>=1 AND 开课学期<=8) ,
学时 tinyint NULL DEFAULT (0) ,
学分 tinyint NULL DEFAULT (0) ,
PRIMARY KEY (课程号)
)
GO
复制代码
案例演示2:按照学生专业对学生进行分组,查询分组后每个专业的名称以及所对应的学生人数
CREATE TABLE CJB (
学号 char(6) NOT NULL ,
课程号 char(3) NOT NULL ,
成绩 int NULL DEFAULT (0) ,
PRIMARY KEY (学号, 课程号)
)
GO
复制代码
案例演示3:按照课程号对课程进行分组,查询当前课程下所对应的学生人数
alter table XSB
add 奖学金等级 tinyint NULL
GO
复制代码
案例演示4:按照课程号对课程进行分组,查询当前课程下所对应的最高成绩
alter table XSB
alter column 奖学金等级 int NOT NULL
GO
复制代码
案例演示5:按照课程号对课程进行分组,查询当前课程下所对应的最低成绩
alter table XSB
drop column 奖学金等级
GO
复制代码
案例演示6:按照课程号对课程进行分组,查询当前课程下所对应的平均成绩
drop table XSB
GO
复制代码
7.6、过滤查询
语法格式:
drop table KCB
GO
复制代码
案例演示1:按照课程号对课程进行分组,查询当前课程下所对应的平均成绩大于75分的课程号信息
drop table CJB
GO
复制代码
7.7、排序查询
语法格式:
insert into 表名(字段名,...) values(值,...);
复制代码
案例演示1:对课程号为“101”的课程所对应的学生成绩进行降序排序
insert into XSB(学号,姓名,性别,出生时间,专业) values('180135','曹晨磊',1,'1997-12-05','计算机网络');