SQLSERVER教程数据库应用部分Word格式.docx

上传人:b****6 文档编号:19521271 上传时间:2023-01-07 格式:DOCX 页数:77 大小:169.66KB
下载 相关 举报
SQLSERVER教程数据库应用部分Word格式.docx_第1页
第1页 / 共77页
SQLSERVER教程数据库应用部分Word格式.docx_第2页
第2页 / 共77页
SQLSERVER教程数据库应用部分Word格式.docx_第3页
第3页 / 共77页
SQLSERVER教程数据库应用部分Word格式.docx_第4页
第4页 / 共77页
SQLSERVER教程数据库应用部分Word格式.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

SQLSERVER教程数据库应用部分Word格式.docx

《SQLSERVER教程数据库应用部分Word格式.docx》由会员分享,可在线阅读,更多相关《SQLSERVER教程数据库应用部分Word格式.docx(77页珍藏版)》请在冰豆网上搜索。

SQLSERVER教程数据库应用部分Word格式.docx

用户所见的数据结构是视图(View),用户可直接操作的表,可为视图或部分基

本表。

对应外模式

1.2主要组件

山企业管理器、查询分析器、服务管理器等组成。

1.2.1服务管理器

SQLServer服务管理器(ServiceManager)是在服务器端实际工作时最有用的实用程序。

SQLServer服务管理器的主要作用是用来启动数据库服务器的实时服务、暂停和停止正在运行的服务,或在暂停服务后继续服务。

1.2.2企业管理器

企业管理器(EnterpriseManager:

EM)是SQLServer中一个很重要的插件,它通过GUI(图形用户界面)环境管理SQLServero

层次:

根H录、服务器组、服务器。

每一个服务器的名称由以下儿项组成:

名称、数据库、数据转换服务、管理、复制、安全性、支持服务、MetaDataService等。

1.2.2.1建立服务器组

在企业管理器中,可以连接与管理多个服务器。

服务器组是用来把比较上相似的SQLSERVER2000服务器组织在一起的一种方式,如市场部中有4个服务器,生产部中有6个服务器,可以将这些服务器都组织在"

SQLSERVER组”中,也可以创建两个服务器组,一个叫作“市场”,一个叫做“生产”,这样比较容易区分服务器的作用。

服务器组的建立:

右键单击MicrosoftSQLServers或现有服务器组,从弹出的菜单中选择“新建服务器组”。

服务器组的更名:

右键单击要更名的服务器组。

1.2.2.2建立服务器

首次访问EM时,第一个任务是将服务器注册。

如果在服务器上运行,则本地服务器自动在SQLServer组中注册。

通过EM可以添加新服务器。

1.2.3查询分析器

SQLServer2000的查询分析器(QueryAnalyzer)可以使用户交互式地输入和执行各种Transact-SQL语句,并且迅速地查看这些语句的执行结果,来完成对数据库中的数据的分析和处理。

1.2.3.1启动查询分析器

执行企业管理器的“工具”菜单下的“SQL查询分析器”命令或执行“MicrosoftSQLServer”下的"

查询分析器”。

1.2.3.2查询分析器的使用

新建查询文件

保存查询文件

1.2.4使用帮助

运行“联机丛书”组件。

第2章Transact-SQL语言基础

Transact-SQL语言乂称T-SQL是MicroSoft开发的一种SQL语言。

2.1数据类型

2.1.1二进制数据

二进制数据以十六进制形式存储。

二进制数据:

固定长度(binary)的或可变长度(varbinary)的二进制数据类型。

格式:

binary[(力)]固定长度的n个字节二进制数据。

varbinary[(m)]n个字节变长二进制数据

注释:

如果在数据定义或变量声明语句中没有指定”,默认长度为lo

declareblvarbinary

(1)

setbl二0x3456

selectbl

结果为0x34

而:

declareblvarbinary

setbl=0x3456

结果也为0x34

2.1.2字符数据

用来表示一串字符。

字符数据型分为char,varchar等类型。

>长度不同时可用varchar类型,但任何项的长度都不能超过8KB。

>定长使用char类型(最多8KB)o

char[(n)]定长为n的字符型数据

varchar[(n)]最大长度为n的变长字符型数据

例:

declarecharlchar(5)

setcharl=,fff'

selectcharl

注意:

如果没有在数据定义或变量声明语句中指定刀,则默认长度为1。

2.1.3日期时间数据

日期时间数据类型:

用来表示日期与时间,依时间范圉与精确程度可分为

DATETIME与SMALLDATETIME两种。

例:

4/01/9812:

15:

00:

00PMS'

1:

28:

29:

15:

01AM8/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飞3-2飞3-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〜10叱1

decimal[(p[,s])]其中P为总位数,即精度,S为小数位数

numeric[(p[,s])]若S缺省,则无小数部分

精度

存储字节数

1-9

5

10-19

9

20-28

13

29-38

17

浮点数数据:

用float型和real型存储,浮点数据只是近似数据,不一定能准确表示数据。

其中:

Float:

-1.79E+308〜1.79E+308

Real:

-3.4E+38〜3,4E+38

float(real)[(/2)]n为用于存储科学记数法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)导入到SQLServer数据库中。

应将这些数据作为一个数据块存储起来,而不是集成到数据表的多个列中。

为了达到这个H的,可以创建一个text数据类型的列。

然而,如果必须存储当前作为标记图象文件格式(TIFF)图像(.tif)存储的、每个大小为10KB的公司徽标,则需创建一个image数据类型的列。

2.2变量

变量分为局部变量和全局变量,但使用前必须使用DECLARE声明

2.2.1局部变量

Transact-SQL局部变量是可以保存特定类型的单个数据值的对象,还可以保存程序执行过程中的中间数据值,保存山存储过程返回的数据值等。

2.2.1.1输出变量的值:

select变量名

或Print变量名

2.2.1.2声明局部变量

格式:

DECLARE变量名类型[(长度)][,...]

作用:

声明变量并将变量初始化为NULL

2.2.1.3变量赋值

可通过SET语句和SELECT语句对局部变量赋值。

SET变量名二表达式

SELECT变量名二表达式

2.2.2全局变量

全局变量是山系统提供且预先声明的变量,通过在名称前保留两个0符号区别于局部变量。

全局变量在整个SQLServer系统内使用。

存储的通常是一些SQLServer的配置设定值和统计数据。

在使用全局变量时应该注意以下儿点:

•全局变量是在服务器级定义的。

•用户只能使用预先定义的全局变量。

•引用全局变量时,必须以标记符“”开头。

•全局变量对用户来说是只读的。

•局部变量的名称不能与全局变量的名称相同。

如:

SERVERNAME给出服务器名

ROWCOUNT给出最近一个SELECT影响的行数

2.2.3命令的执行与结果显示

执行“查询”菜单下“执行”命令或F5键。

执行“查询”菜单下的“文本显示结果”或“以表格显示结果”命令

2.3运算符和表达式

2.3.1运算符

2.3.1.1算术运算符

+-*/%(取模,求余)

2.3.1.2比较运算符

二,>,<,>二,<=,◊,!

二(不等于),!

>(不大于),!

〈(不小于)

2.3.1.3位运算符

运算符

含义

&

(按位AND)

按位AND(两个操作数)

I(按位OR)

按位OR(两个操作数)

"

(按位异或XOR)

按位互斥OR(两个操作数

~(按位求反NOT)

返回数字的补数。

2.3.1.4逻辑运算符

ALL

如果一系列的比较都为TRUE,那么就为TRUE。

AND

如果两个布尔表达式都为TRUE,那么就为TRUE。

ANY

如果一系列的比较中任何一个为TRUE,那么就为TRUEo

BETWEEN

如果操作数在某个范国之内,那么就为TRUE。

EXISTS

如果子查询包含一些行,那么就为TRUE。

IN

如果操作数等于表达式列表中的一个,那么就为TRUEo

LIKE

如果操作数与一种模式相匹配,那么就为TRUE。

NOT

对任何其它布尔运算符的值取反。

OR

如果两个布尔表达式中的一个为TRCE,那么就为TRUE。

SOME

如果在一系列比较中,有些为TRUE,那么就为TRUE。

2.3.1.5字符串串联运算符

字符串吊联运算符允许通过加号“+”进行字符串串联

2.3.2表达式

SQLSERVER中表达式非常丰富,除了以上表达式外,还CASE表达式等,用于复

杂情况。

2.4函数

2.4.1字符串函数

2.4.1.1ASCII

功能:

返回字符表达式最左端字符的ASCII代码值。

ASCII(character_expression)

2.4.1.2CHAR

将ASCII值转换为字符函数。

CHAR(integer_expression)

参数:

integer_expression介于0和255之间的整数。

如果整数表达式不在此范围内,将返回NULL值。

显示ASCII字符

declareiastinyint

seti二32

whilei<

126

begin设置语句块,相当于循环体

printchar(i)

seti二i+1

end

2.4.1.3LEN

返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾部空格。

LEN(string_expression)

string_expression要计算的字符串表达式。

SELECTLEN('

CompanyName,)

2.4.1.4LEFT和RIGHT

LEFT为左取子串函数

LEFT(character_expression,integer_expression)

RIGHT为右取子串函数:

RIGHT(character_expression,integer_expression)

SELECTLEFT('

ABCDEFG,,5)

2.4.1.5LOWER和UPPER

LOWER(character—expression)

2.4.2日期和时间函数。

2.4.2.1DATEADD

在向指定日期加上一段时间的基础上,返回新的datetime值。

DATEADD(datepart,number,date)

日期部分

缩写

Year

yy,yyyy

quarter

qq,q

Month

mm,m

dayofyear

dy,y

Day

dd,d

Week

wk,ww

Hour

hh

minute

mi,n

second

ss,s

millisecond

ms

SELECT"

出生日期"

=csrq,”周年”二DATEADD(year,1,csrq)fromstudent

2.4.2.2DATEDIFF

给岀两个日期之间的差值。

:

DATEDIFF(datepart,startdate,enddate)

检索所有学生的年龄:

SELECTDATEDIFF(YEAR,CSRQ,GETDATE())ASAGE,CSRQFROMSTUDENT

2.4.2.3DAY、MONTH、YEAR

DAY(date)

取指定日期的日

MONTH(date)

取指定日期的月

YEAR(date)

取指定日期的年

SELECTYEAR(GETDATE())-YEAR(CSRQ)ASAGEFROMSTUDENT

2.4.2.4GETDATE

GETDATE()

取当前系统日期和时间

2.4.3数值函数

2.4.3.1CEILING

返回大于或等于所给数字表达式的最小整数。

CEILING(numeric_expression)

SELECTCEILING(123.45),CEILING(-123.45),CEILING(0.0)

2.4.3.2FLOOR

返回小于或等于所给数字表达式的最大整数。

FLOOR(numeric_expression)

SELECTFLOOR(123.45),FLOOR(-123.45)

2.4.3.3POWER

作用:

返回给定表达式乘指定次方的值。

语法:

POWER(numeric_expression,y)

2.4.3.4RAND

返回0到1之间的随机float值。

语法RAND()

declareaasfloat

seta=rand()

printa

2.4.3.5EXP

返回所给的float表达式的指数值。

语法:

EXP(float_expression)

2.4.3.6CONVERT函数

将某种数据类型的表达式显式转换为另一种数据类型。

CAST和CONVERT提供相似的功能。

CONVERT(data_type,expression)

CAST(expressionASdata_type)

selectconvert(char(6),567)

2.4.4系统函数

返回数据库和数据库对象的特性信息。

2.4.4.1COL_LENGTH

功能:

参数:

返回列的定义长度(以字节为单位)。

COL_LENGTH('

tabid,1column)'

table1:

表名称,Column:

列名称

2.4.4.2DB_NAME

在master数据库中,记录了SQLServer系统的所有系统级别信息。

它记录所有的登录帐户和系统配置设置及所有其它的数据库的信息,其中包括数据库文件的位置。

返回数据库名。

DB_NAME(database_id)

database.id,是应返回数据库的标识号(ID)o

USEmaster

SELECTdbid,DB.NAME(dbid)ASDB.NAME

FROMsysdatabases

2.4.4.3DB_ID

返回数据库标识(ID)号。

DB_ID(L9database_nam6])

库ID。

5database_name,,数据库名,如果不填database_name,则返回前数据

此例检查在sysdatabases中的每个数据库,使用数据库名来确定数据库ID。

SELECTname,DB_ID(name)ASDB_ID

2.4.4.4HOST_NAME

返回工作站名称。

语法:

HOST_NAME()返回类型:

nchar例:

selectHOST.NAME()

第3章数据库的创建与管理

数据库是相关的多维数据集及其所共享的对象的容器。

这些对象包括数据源(表)、表、视图、规则、角色、存储过程、自定义函数等。

如果多个多维数据集要共享这些对象,那么这些对象和多维数据集必须在同一个数据库中。

在对象层次结构中,数据库直接从属于分析服务器。

因此,在安装分析服务器后,第一个要创建的对象就是数据库。

数据库可以在〃数据库〃对话框中进行创建

3.1.1数据库的文件组成

数据库可由三种文件组成,主文件(.MDF)、次要数据文件(.ndf)、日志文件(.LDF),在SQLServer中,数据库必须至少包含一个主文件和一个事务日志文件。

3.1.1.1主要数据文件

该文件包含数据库的启动信息,并用于存储数据。

每个数据库都有一个主文件。

主文件的扩展名为.mdfo

3.1.1.2次要文件

这些文件含有不能置于主要数据文件中的所有数据。

如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。

有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。

>次要文件可有多个。

>次要文件的扩展名为.ndf

3.1.1.3日志文件

事务日志文件保存用来恢复数据库的日志信息。

每个数据库必须至少有一个事务日志文件(尽管可以有多个)。

事务日志文件最小为512KB。

数据和事务日志信息从不混合在同一文件中,并且每个文件只能山一个数据库使用。

每个数据库至少有两个文件,一个主文件和一个事务日志文件。

3.1.2文件组

文件组是SQLServer中一个或多个文件的命名集合,它构成或分配用于数据库管理的单个单元。

文件组允许对文件进行分组,以便于管理和数据的分配/放置。

例如,可以分别在三个硬盘驱动器上创建三个文件(Datal.mdf、Data2.ndf和Ddta3.ndf),并将这三个文件指派到文件组fgroupl中。

然后,可以明确地在文件组fgroupl上创建一个表。

对表中数据的查询将分散到三个磁盘上,在多处理器中,对同一文件组的不同文件,可以采用多线程并行操作,因而性能得以提高。

3.1.2.1文件组的分类

3.1.2.1.1主文件组

此文件组包含主数据文件以及任何其它没有放入其它文件组的文件。

系统表都在主文件组。

3.1.2.1.2用户定义文件组

该文件组是用CREATEDATABASE或ALTERDATABASE语句中的FILEGROUP关键字指定的任何文件组。

3.1.2.1.3默认文件组

默认文件组包含在创建时没有指定文件组的所有表和索引的页。

在每个数据库中,每次只能有一个文件组是默认文件组。

如果没有指定默认文件组,则默认文件组是主文件组。

3.1.2.2文件组说明

>最多可以为每个数据库创建256个文件组。

文件组只能包含数据文件。

事务

日志文件不能是文件组的一部分。

>文件组不能独立于数据库文件创建。

文件组是在数据库中对文件进行分组的一种管理机制。

3.2数据库的创建与管理

3.2.1数据库创建

3.2.1.1使用创建数据库向导

打开企业管理器后,选中“数据库”后,执行“工具”菜单下的“向导”命令。

3.2.1.2使用企业管理器

打开企业管理器后,右键单击“数据库m选择“新建数据库”命令。

3.2.1.3使用create命令

CREATEDATABASEdatabasename:

数据库文件名

LOGON

FILEGROWTH二growth^increment):

指定文件增长的增量

指定日志文件

(NAME=logical_file_name,

FILENAME二'

os_file_namd,

SIZE=size,

MAXSIZE二maxsize,

FILEGROWTH=growth^increment)

例如:

CREATEDATABASEOrders

ONPRIMARY

(NAME=Orders_dat,

FILENAME='

c:

\programfiles\microsoftsqlserver\mssql\data\Orders.mdf*,

S

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1