第1章 SQL Server初步
§1.1 SQL Server 的简介
1.1. 1 什么是 SQL Server
SQL: Structured Query Language
SQL SERVER是一个以客户/服务器(c / s)模式访问、使用Transact-SQL语言的关系型数据库管理子统(RDBMS)。
SQL Server是一种基于网络的大型数据库软件。
主要是用SQL语言来管理、修改、和修改数据库。
主要运算在WINNT、WIX2000、也可运行在WIN9X上的一种DBMS。
1.1.2 SQL Server 2000的主要版本及发布时间
1.1.
2.1主要版本
有个人(Personal)版、企业版(EnterPrise) >标准版和开发版等。
个人版:最多连接5个用广,可安装在WINDOWS 98、XP、WIX2000o
企业版:可连接1000个用户,需安装在WIN2000服务版上。
1.1.
2.2 SQL Server 2000 的发布时间
1988 年MICROSOFT & SYBASE 合作开发
1993年
1994年1995年1996年1998 年2000 年2005 年XT3. 1 平台上的 SQL SERVER 4. 2 中止合作独自开发SQL SERVER 6. 0
SQL SERVER 6. 5
SQL SERVER 7. 0
SQL SERVER 2000
SQL SERVER 2005
SQL SERVER 2008将于2008年初上市
1.1. 3 SQL Server 的安装
运行安装盘上的AUTORUN. EXEo
1.1.4 SQL语言的特点
1、SQL具有自含式与嵌入式两种形式
?:?交互式SQL:—般DBMS都提供联机交互工具,用户可直接键入SQL命令对数据库进行操作由DBMS来进行解释
?:?嵌入式SQL:能将SQL语句嵌入到高级语言(宿主语言),使应用程序充分利用SQL 访问数据库的能力、宿主语言的过程处理能力,一般需要预编译,将嵌入的SQL 语句转化为宿主语言编译器能处理的语句
? SQL的语法结构基本一致
2、SQL具有语言简洁、易学易用的特点
3、SQL支持三级模式结构
一个SQL数据库的总体逻辑结构是基本表(Table)的集合,对应于概念模式
SQL数据库的底层存储结构采用文件,一个或儿个表对应一个存储文件,以及索引文件,对应内模式
用户所见的数据结构是视图(View),用户可直接操作的表,可为视图或部分基本表。对应外模式
§ 1.2主要组件
由企业管理器、查询分析器、服务管理器等组成。
1.2. 1服务管理器
SQL Server服务管理器(Service Manager)是在服务器端实际工作时最有用的实用程序。
SQL Server服务管理器的主要作用是用来启动数据库服务器的实时服务、暂停和停止正在运行的服务,或在暂停服务后继续服务。
1.2. 2企业管理器
企业管理器(Enterprise Manager: EM)是SQL Server中一个很重要的插件,它通过GUI (图形用户界面)环境管理SQL Servero
层次:根目录、服务器组、服务器。
每一个服务器的名称由以下凡项组成:名称、数据库、数据转换服务、管理、复制、安全性、支持服务、Meta Data Service等。
1.2.2.1建立服务器组
在企业管理器中,可以连接与管理多个服务器。服务器组是用来把比较上相似的SQL SERVER2000服务器组织在一起的一种方式,如市场部中有4个服务器,生产部中有6个服务器,可以将这些服务器都组织在"SQL SERVER组”中,也可以创建两个服务器组,一个叫作“市场”,一个叫做“生产”,这样比较容易区分服务器的作用。
服务器组的建立:右键单击Microsoft SQL Servers或现有服务器组,从弹出的菜单中选择“新建服务器组”。
服务器组的更名:右键单击要更名的服务器组。
1.2.2.2建立服务器
首次访问EM时,第一个任务是将服务器注册。如果在服务器上运行,则本地服务器自动在SQL Server组中注册。
通过EM可以添加新服务器。
1.2. 3查询分析器
SQL Server 2000的查询分析器(Query Analyzer)可以使用户交互式地输入和执行各种Transact-SQL语句,并且迅速地查看这些语句的执行结果,来完成对数据库中的数据的分析和处理。
1.2.3.1启动查询分析器
执行企业管理器的“工具”菜单下的“SQL查询分析器”命令或执行“Microsoft SQL Server n下的"查询分析器”。
1.2.3.2查询分析器的使用
新建查询文件
保存查询文件
1.2.4使用帮助
运行“联机丛书”组件。
第2章Transact-SQL语言基础Transact-SQL 语言乂称 T-SQL 是 Microsoft 开发的一种 SQL 语言。
§2.1数据类型
2.1. 1二进制数据
二进制数据以十六进制形式存储。
二进制数据:固定长度(binary)的或可变长度(varbinary)的二进制数据类型。
格式:
binary [( 〃)] 固定长度的〃个字节二进制数据。
varbinary [(々)] n个字节变长二进制数据
注释:如果在数据定义或变量声明语句中没有指定〃,默认长度为lo
declare bl varbinary(1)
set bl=0x3456
select bl
结果为0x34
而:declare bl varbinary
set bl=0x3456
select bl
结果也为0x34
2.1. 2字符数据
用来表示一串字符。字符数据型分为char、varchar等类型。
>长度不同时可用varchar类型,但任何项的长度都不能超过8KB。
>定长使用char类型(最多8KB)o
格式:
char[(n)] 定长为n的字符型数据
varchar[(n)] 最大长度为n的变长字符型数据
例: declare charl char (5)
set charl=, fff'
select charl
注意:如果没有在数据定义或变量声明语句中指定〃,则默认长度为1。
2.1.3日期时间数据
日期时间数据类型:用来表示日期与时间,依时间范围与精确程度可分为DATETIME 与SMALLDATETIME 两种。例:,4/01/98 12:15:00:00:00PMS '1:28:29:15:01 AM 8/17/98、datetime 范围为 1753. 1. 1-9999. 12. 31
smalldatetime 范围为 1900. 1. 1-2079. 6. 6
该数据类型长度固定。
2.1.4数值型数据
2.1.4.1整型数据
bigint (-2"63 -2"63-1) (8B)。
int (-2, 147, 483,648 至 2, 147, 483,647) (4B)。
smallint ( -32, 768 至 32,767) (2B)。
tinyint(0 - 255) (1B)。
定义数据时要注意数据的范围。
2.1.4.2实型数据
定点数数据:使用decimal (numeric)数据类型存储:-10”+1?1(^-1
格式:decimal [(p[, s])] 其中P为总位数,即精度,、为小数位数
numeric [ (p[, s])] 若S缺省,则无小数部分
浮点数数据:用float型和real型存储,浮点数据只是近似数据,不一定能准确表示数据。其中:
Float: T.79E+308?1.79E + 308
Real: -3.4E+38?3, 4E+38
格式:float (real) [(/2)] 〃为用于存储科学记数法float数尾数的位数
2.1.5货币数据
货币数据类型用于货币值。分为money和smallmoney类型。精确度为四位小数。 money : -922, 337, 203, 685, 477. 5808 ?922, 337, 203, 685,477. 5807) (8B)。
Smallmoney: ~214, 748. 3648 ?214, 748. 3647 (4B)。
2.1. 6特殊数据类型
bit数据类型只能包括0或1。可以用bit数据类型代表TRUE或FALSE.YES 或N0o
2.1.7文本和图像数据类型
文本(text):用来处理可变长的大文本数据,其中text可存储2GB。
图像(image):用来处理图像数据,可存储2GB。
例如,必须将一个有关用户信息的大文本文件(.txt)导入到SQL Server数据库中。应将这些数据作为一个数据块存储起来,而不是集成到数据表的多个列中。为了达到这个目的,可以创建一个text数据类型的列。然而,如果必须存储当前作为标记图象文件格式(TIFF)图像(.tif)存储的、每个大小为10 KB的公司徽标,则需创建一个image数据类型的列。
§2.2变量
变量分为局部变量和全局变量,但使用前必须使用DECLARE声明
2.2. 1局部变量
Transact-SQL局部变量是可以保存特定类型的单个数据值的对象,还可以保存程序执行过程中的中间数据值,保存由存储过程返回的数据值等。
2.2.1.1输出变量的值: