sqlserver入门随堂笔记.docx

上传人:b****6 文档编号:5635864 上传时间:2022-12-29 格式:DOCX 页数:15 大小:24.91KB
下载 相关 举报
sqlserver入门随堂笔记.docx_第1页
第1页 / 共15页
sqlserver入门随堂笔记.docx_第2页
第2页 / 共15页
sqlserver入门随堂笔记.docx_第3页
第3页 / 共15页
sqlserver入门随堂笔记.docx_第4页
第4页 / 共15页
sqlserver入门随堂笔记.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

sqlserver入门随堂笔记.docx

《sqlserver入门随堂笔记.docx》由会员分享,可在线阅读,更多相关《sqlserver入门随堂笔记.docx(15页珍藏版)》请在冰豆网上搜索。

sqlserver入门随堂笔记.docx

sqlserver入门随堂笔记

sqlserver概述及应用

一.sqlserver常用工具介绍:

1.企业管理器:

*sqlserver大管家,针对于数据库的所有内容做控制管理

*包括数据库建立,数据表的建立,数据添加删除修改查看等

*数据库安全管理,数据库访问控制等。

2.查询分析器:

可执行任何的sql语句,完成查询、添加、删除、修改等操作,并且可以通过语句控制管理

数据库以及数据表等

3.服务管理器:

可以针对于sqlserver服务以及sqlserveragent服务进行控制管理,如

启动某一服务或停止某一服务。

4.导入与导出数据:

将非sqlserver数据库中的数据,通过该工具与sqlserver数据库实现转化。

5.事件探查器:

探查器可以随时监控数据库服务器所发生的所有事件。

包括哪个用户对哪个数据库及对象做出

何种操作。

探查器在工作时,会占用大量内存及cpu资源,因此建议不要长期运行,否则会影响服务器性能。

二.sqlserver目录:

*sqlserver程序目录C:

\ProgramFiles\MicrosoftSQLServer\MSSQL

*sqlserver数据库目录C:

\ProgramFiles\MicrosoftSQLServer\MSSQL\Data

三.在企业管理器中默认的六个数据库:

[mastertempdbmodelmsdbnorthwindpubs]

1.master数据库:

sqlserver核心数据库,用于保存整个sqlserver的所有配置,包括用户帐号、密码、

所有的数据库名称、字段、安全配置、以及与数据库有关的所有sql语句代码。

master数据库的各种操作,均由sqlserver本身自行完成,用户不允许对其数据库做操作。

2.tempdb数据库:

临时数据库,用于临时存放数据,如针对数据库进行建立索引,或者复制数据库以及创建数据库

时,都需要借助临时数据库,进行数据临时存放.

临时数据库,不允许做对应的操作,而是由sqlserver自行管理.

3.model数据库:

(模板数据库)

在建立一个新数据库时,必须由模板数据库提供最基本的结构以及基本的数据,并将这些

内容复制到新数据库中.因此一个新的数据库结构与模板数据库结构是一致.

4.msdb数据库:

(分布式数据库)

sqlserver具备监控数据库服务器的功能,而所有的监控记录会保存在msdb数据库中.

5.northwind与pubs数据库:

这两个数据库是sqlserver提供的实例,与系统无关.

四.sqlserver中数据库的对象:

[每建立一个数据库后,该数据库就自带多个对象]

1.表=>又称为数据表,数据库中所有的数据,均存放于数据表中.又分为系统数据表与用户数据表

2.关系图=>用于指定两个数据表或多个数据表之间的关系.比如学员信息表与学员成绩表之间,应

该按照学员编号进行关联.

3.视图=>一段select代码,用于查询指定的数据,只是将这一段代码用一个特定的名称表示而已

4.存储过程=>一段sql代码,用于完成sqlserver某项特定功能,同时也可以由用户自行编写

新的存储过程.(存储过程即sqlserver中的子程序)

5.规则=>为数据表中的各字段添加指定的条件,以限制各字段数据输入的准确性.

6.默认=>当为数据表添加数据时,若没有为指定字段添加数据,则该字段会采用默认的数据填充.

7.用户=>针对于不同的数据库,指定不同的管理员,或者设置指定的用户允许访问特定的数据库以

及特定的数据库对象.

8.角色=>相当于服务器系统中的组,不同的角色有不同的权限,将用户添加到指定的角色,则该

用户就与该角色有相同的权限.

9.自定义类型=>用户自行创建对应的数据类型,可以将规则与默认也添加到自定义类型中

10.自定义函数=>用户自行创建函数,建立特定功能的函数.

五.建立数据库的方法:

1.认识数据库对应的文件:

MDF=>数据库的主文件,每个数据库必须有该文件,而且只有一个.

NDF=>当数据库过大时,会导致主数据库文件过大,影响数据库的存取速度,因此可以

增加辅数据库文件,用于分摊整个数据库的数据,提高访问速度.

辅数据库文件允许存在多个,也可以没有.

LDF=>事务文件,用于存放数据库的运行情况以及错误信息等.

2.建立数据库方法:

在企业管理器中,选择"数据库"一项,右键打开选择新建数据库.

指出数据库的名称,是否要采用辅数据库文件,以及数据库的容量增长方式.

还有数据库的最大值.

六.创建数据表:

1.数据表中各字段的数据类型:

[字符型,数字型,日期型,货币型,二进制类型,位类型,国际字符类型]

<1>.字符型:

*char型==>定长型字符串类型最大长度为8000

*varchar型==>变长型字符串类型最大长度为8000

*text型==>文本型数据类型(变长)最大长度为2^31

<2>.数字型:

*bigint型=>大整数类型-2^31~2^31

*int型=>整数类型-2^16~2^16

*smallint型=>小整数类型-32768~32767

*tinyint型=>微整数类型0~255

*float型=>浮点型(小数)

*real型=>实型(小数)

*numeric型=>数值型(小数)

<3>.日期型:

*datetime型=>日期时间型1753-1-1~9999-12-31,精确到1/300秒

*smalldatetime型=>小日期时间型1900-1-1~2079-6-6,精确到分钟

<4>.货币型:

*money型=>-2^63~2^63,精确到万分位

*smallmoney型-2^31~2^31,精确到万分位

<5>.二进制数据类型

*binary型=>定长二进制类型,最大长度为8000

*varbinary型=>变长二进制类型,最大长度为8000

*image类型=>变长大二进制,最大长度为2^31

<6>.bit位类型:

位类型,即数据只允许是0或1两个.

当输入0以外的其他值时,均看作1

bit类型,通常用作逻辑类型,表示是/否

<7>.unicode类型

[用于国际上非英语语言]

*nchar型=>定长型最多为4000个字符

*nvarchar型=>变长型最多为4000个字符

*ntext型=>变长型,最多为2^30个字符

2.建立数据表的方法:

打开企业管理器|数据库|表,右键打开,选择"新建数据表"

在窗口中,指出各字段,以及字段对应的数据类型

注意:

数据表中,应指定一个具体的字段为主键

对于编号的字段,可以设定为自动编号(标识)

对于字段不允许为空的,应该选中"不允许空"

sql语句具体用法

一.sql介绍:

sql称为结构化查询语言,是所有关系型数据库的标准.

该语言查询及操作时,完全面向结果,即用户只需要提出需求,则

sql语句就可以立刻返回对应的结果,而具体的过程则无需关心.

sqlserver中所提供的查询分析器,可以执行各种sql语句,同时查询分析器还具备

采用sql语句实现代码编写,即sqlserver二次开发.

sqlserver所提供的sql语句,称为T-sql或交互式sql语句.

sqlserver可以提供select语句,delete语句,update语句,insert语句等

二.select语句用法:

1.采用select语句,查询整个数据表

select*fromxyxx

注意:

*表示所有字段

2.查询指定的数据表字段

selectxh,xm,xb,nl,zyfromxyxx

注意:

只查询五个字段的数据

3.查询指定的数据表字段,并且别名表示字段名

selectxhas学号,xmas姓名,zyas专业fromxyxx

注意:

查询了三个字段,用学号表示xh,用姓名表示xm,用专业表示zy

4.查询数据表的前N条数据记录

selecttop10*fromxyxx

注意:

top10表示取出数据表的前10条记录

selecttop10*fromxyxxorderbyshfdesc

5.显示某一个字段中不重复的所有数据:

[显示出全班的同学分别来自哪些地区]

selectdistinct字段名fromxyxx

selectdistinctdzfromxyxx

6.select语句中的统计函数:

[相关的统计函数包括sumavgmaxmincount]

selectavg(yw)as语文平均分fromxycj

selectcount(yw)as语文及格人数fromxycjwhereyw>=60

selectcount(xh)as全班总人数fromxycj

7.按条件进行数据查询:

<1>.条件语句的格式:

select*fromxyxxwhere具体的条件

如select*fromxyxxwhereshf<=500

select*fromxyxxwherezy='一年网络'andxb=1

[找出专业为一年网络并且是男同学]

<2>.采用关键字in来表示条件所在的具体范围:

select*fromxyxxwhere具体条件

如select*fromxyxxwherexhin(95003,95007,95008,95010)

说明:

(95003,95007,95008,95010)是一个集合.

而条件是判定xh在上述的集合中.

<3>.采用between制定条件所在的范围:

如select*fromxyxxwherenlbetween16and33

其中between表示在....之间

上述的语句,表示查nl字段在16到33之间的数据记录

<4>.采用模糊查询方式,进行数据搜索:

select*fromxyxxwheredzlike'%西%'

其中%表示任意的字符

like表示相似类似

select*fromxxwherexwlike'%汽车%'

找出xw字段含有汽车两字的.

8.数据排序:

按照某一个字段的升序或者降序进行排列数据记录

select*fromxyxxorderby字段排序方式

说明:

order排序

by按照

字段,即为要排序的依据

排序方式asc-->升序,也是默认的方式

desc-->降序

select*fromxyxxorderbyshfdesc

select*fromxyxxorderbydzdesc,xhdesc==>如果第一个排序字段相同,则采用第二个字段排序.

9.字段组合:

select*,(yw+sx+yy+jsj+ty)as总分,(yw+sx+yy+jsj+ty)/5as平均分

fromxycjwhere(yw+sx+yy+jsj+ty)>=400orderby总分desc

例selectxhfromxycjwhere(yw+sx+yy+jsj+ty)>=400

10.数据分组查询:

[按照指定的字段进行分类]

select分组的字段,统计函数from数据表groupby分组字段

如selectxb,avg(shf)fromxyxxgroupbyxb==>按性别进行分组,统计每组的平均生活费

selectdz,avg(shf)fromxyxxgroupbydz==>按地区进行分组,统计每组的平均生活费

11.分类汇总数据:

select*fromxyxxorderbyxbcomputeavg(shf)byxb

分类汇总,即按照某一个字段进行分类,同时将每一种进行汇总统计

[如按地区进行分类,同时将每个地区的学员的平均年龄求解]

[分类汇总时,一定要注意在分类时一定要为分类的字段做排序操作,否则出错]

select*fromxyxxorderbydzcomputeavg(nl)bydz

12.多表查询:

<1>.所要查询的数据,来自于多个数据表

[要查询所有同学的学员信息以及考试总分,这些信息分别来自于学员信息表与学员成绩表]

select*fromxyxx,xycj==>数据表1中的每一条记录都要与数据表2中所有记录对应

[该方式查询是错误的]

select*fromxyxx,xycjwherexyxx.xh=xycj.xh==>在查询时,要找出数据表1中的

关联数据与数据表2中的关联数据相对应

selectxyxx.xh,xm,xb,(yw+sx+yy+jsj+ty)aszffromxyxx,xycjwherexyxx.xh=xycj.xhand(yw+sx+yy+jsj+ty)>=400

<2>.通过多表子查询的方式,实现多表查询

select*fromxyxxwherexhin===>找出学号在集合当中的信息

selectxhfromxycjwhere(yw+sx+yy+jsj+ty)>=400===>该语句产生了满足条件的所有学员

的学号,并形成一个学号集合

<3>.通过不存在性查询,实现不关联的数据查询

[如在学员信息表中存放全班所有学员的信息,但学员成绩表中会存在没有成绩的学员]

select*fromxyxxwherenotexists

select*fromxycjwherexyxx.xh=xycj.xh

说明:

select*fromxyxx===>找出xyxx表中所有数据

select*fromxyxx,xycjwherexyxx.xh=xycj.xh===>多表查询后的结果(关联)

notexists===>不存在性查询的关键字

注意:

不存在性查询的子语句select*fromxycjwherexyxx.xh=xycj.xh,不需要再指出xyxx数据表

13.通过selete语句,将select查询结果,保存为数据表

select*intolqxybfromxyxxwherexhin(selectxhfromxycjwherezf>=400)

三.insert语句用法:

[insert语句,即向指定的数据表中,添加数据记录]

insert语句的格式

insertinto数据表名(字段名1,字段名2,字段名3,...)values(数据1,数据2,数据3,...)

例:

insertintoxyxx(xm,xb,nl,dz,rxrq,shf,zy)values('江民',1,50,'北京','2010-7-1',800,'一年网络')

四.update语句用法:

[update语句,即用于对指定数据表做数据记录的修改]

update语句的格式

update数据表名set字段名1=数据1,字段名2=数据2,字段名3=数据3...where条件

在进行使用update语句时,一定要添加上条件,否则将会修改数据表中所有记录

例:

updatexyxxsetxm='王有民',nl=60,dz='上海',rxrq='2009-8-1'wherexh=95025

五.delete语句用法:

[delete语句,即用于对指定数据表中记录做删除操作]

delete语句的格式

deletefrom数据表名where条件

在使用delete语句时,一定要添加条件,否则将删除数据表中所有记录

索引的应用

一.索引的介绍:

*索引可以高效地快速地在大量数据记录中,找到所需要的数据.

[相当于书本的目录]

*索引通常是针对于大型的数据表,以及记录数较多的场合下应用.

*索引的建立是需要花费较多的计算机与服务器资源的.

当数据记录发生变化时或者数量发生变化时,索引必须要重新建立

二.创建索引的注意事项:

*数据表的记录数很少,通常不需要建立索引

*不要为某一个数据量很少的字段建立索引,如性别

*不要为某一个数据量很大的字段建立索引,如简介或者文章的内容

*数据表的添加、删除、修改等操作远远大于查询操作,此时也不要建立索引

针对于学员信息表,可以为数据表中学号姓名地址等建立索引

三.索引的类型:

1.按结构分类:

*聚集索引

聚集索引,在数据表中,只允许有一个存在,通常是主键.

聚集索引建立后,会存在一个以主键为内容的小表,该小表的数据存放地址与原数据表完全相同

当查询时,找到小表中的数据,也就表示找到了原数据表中的数据记录.

*非聚集索引

非聚集索引,在建立索引时,会产生一个小表,小表中存放建立索引的字段,以及对应

数据记录所在的存储地址。

当查询时,先在小表中找到数据,然后对应找到存储地址,最后通过存储地址,找到

原数据表中的数据记录。

2.按索引唯一性分:

*唯一性索引=>建立索引的字段是唯一的

*非唯一性索引=>建立索引的字段不唯一

四.索引创建方法:

打开数据表的设计窗口,右键打开选择"索引/键"一项

*如果数据表已经有了主键,则会自动存在一个聚集索引与唯一性索引

*若要为其它字段建立索引,如姓名,可以单击"新建"按钮,指出要建立索引的字段,如xm

,并指出是否为聚集索引(如果有了主键,则不能再建立聚集索引)

指出是否为唯一性索引,(如果该字段存在相同的数据,则也不能建立唯一性索引).

*通常不能建立聚集索引与唯一性索性,则该索引称为非聚集非唯一性索引。

五.索引的管理:

在企业管理器的数据表上,右键打开“所有任务|管理索引”

可查看到数据表中所建立的所有索引,包括建立的字段名与类型。

若要修改索引,则直接单击“编辑”按钮即可.

注:

数据表建立了索引后,可以在对大量数据查询时,提高记录的查询的速度。

客户首先将查询的条件提交给数据库服务器,服务器收到条件后,去查询索引表,根据索引表,

找到对应的数据记录存储位置,并根据位置找到对应的数据记录。

在这个过程当中,客户并没有直接与索引接触。

数据导入导出中的驱动程序:

*ODBC==>开放式数据库连接

如在asp中调用odbc的方法:

先在控制面板|管理工具|ODBC|建立系统数据源,要求指出驱动程序,数据库以及名称

接着在asp中直接调用所建立的odbc即可,若odbc的名称为wdlj,则在asp中直接

通过db.openwdlj调用即可.

*在sqlserver中sqlserver的驱动程序有:

用于sqlserver的microsoftodbc驱动程序==>通过odbc调用.

用于sqlserver的microsoftoledb驱动程序==>该驱动为sqlserver本身驱动程序

*在sqlserver的access驱动程序有:

microsoftaccess==>access驱动程序

*在sqlserver的excel驱动程序有:

microsoftexcel97-2000==>excel驱动程序

在sqlserver中链接服务器的使用方法:

<1>.通过sqlserver中的链接服务器,链接access文件

*打开企业管理器|安全性|链接服务器,右键打开,选择“新建链接服务器”

*指出链接服务器的名称,如access123456[任意]

指出链接服务器的驱动程序,此处所使用的驱动为通用的桌面型数据库驱动程序

microsoftjet4.0oledbprovider

指出所要链接的产品名称,如access[任意]

指出数据源,即所要链接的access文件路径与文件名,如d:

\aaa\db1.mdb

确定后完成即可。

*链接服务器建立完成后,必须通过查询分析器以及sql语句查询

如select*fromaccess123456...xyxx

-----------------

链接服务器名称...数据表

<2>.通过sqlserver中的链接服务器,连接excel文件

*在新建链接服务器窗口中,指出链接服务器名称,如excel9900

指出链接服务器的驱动程序,microsoftjet4.0oledbprovider

指出所要链接的产品名称,如excel

指出数据源,如d:

\aaa\123456.xls

指出程序字符串,excel5.0[excel的程序字符串,必须是excel5.0]

确定后完成即可。

*使用的方法与access链接服务器相同。

sqlserver中权限配置方法

一.在sqlserver中建立允许登录到sqlserver的登录帐号:

[与数据库暂时无关]

1.建立采用sqlserver验证的用户登录:

*在企业管理器|安全性|登录,新建登录

在窗口中指出登录的新帐号,如wuwei

选择登录类型为sqlserver身份验证

并指出登录的密码,即可.

2.建立采用windows身份验证的用户登录:

[与windows计算机中的用户有关]

*打开windows计算机中的本地用户和组窗口,在其中,首先建立一个新的用户,如xp

*完成后,在sqlserver企业管理器中,打开安全性|登录,并在其中新建登录

在登录帐号中,选择刚刚所建立的windows用户帐号,如xp

登录类型选择"windows身份

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

当前位置:首页 > 人文社科 > 法律资料

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

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