SQL server 数据库最新修改Word格式文档下载.docx

上传人:b****5 文档编号:18830518 上传时间:2023-01-01 格式:DOCX 页数:19 大小:24.54KB
下载 相关 举报
SQL server 数据库最新修改Word格式文档下载.docx_第1页
第1页 / 共19页
SQL server 数据库最新修改Word格式文档下载.docx_第2页
第2页 / 共19页
SQL server 数据库最新修改Word格式文档下载.docx_第3页
第3页 / 共19页
SQL server 数据库最新修改Word格式文档下载.docx_第4页
第4页 / 共19页
SQL server 数据库最新修改Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

SQL server 数据库最新修改Word格式文档下载.docx

《SQL server 数据库最新修改Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《SQL server 数据库最新修改Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

SQL server 数据库最新修改Word格式文档下载.docx

在企业管理器的控制台---数据库----右单击选择所有任务-----备份数据库

6还原数据库:

在企业管理器的控制台---数据库----右单击选择所有任务-----还原数据库

 

第三章表的操作

常用数据类型

数据类型

类型

描 

bit

逻辑数据类型

这种数据类型用于存储只有两种可能值的数据,如True或False

int

整数数据类型

int数据类型可以存储从(-2147483648)到(2147483647)之间的整数。

这种数据类型在数据库里每个值占用4个字节

float

浮点数据类型

float数据类型是一种近似数值类型,浮点数可以是从-1.79E+308到1.79E+308之间的任意数

datetime

日期时间类型

datetime数据类型用来表示日期和时间。

这种数据类型存储从1753年1月1日到9999年12月31日间所有的日期和时间数据,精确到三百分之一秒或3.33毫秒

CHAR

字符数据类型

char(n)按固定长度存储字符串,n必须从1-8000.若输入的数据不足nB,则补足后存储.若输入的数据过nB,则截断遑存储。

VARCHAR

varchar(n)它与char类型相似,n必须从1-8000.之间的数值。

存储大小为输入数据字节的实际长度。

由于CHAR数据类型长度固定,因此它比VARCHAR类型的处理速度快。

TEXT

文本

TEXT数据类型用于存储大量文本数据,其容量理论上为1到2的31次方-1(2147483647)个字节,在实际应用时需要视硬盘的存储空间而定。

1建表的步骤

(1)定义表结构:

给表的每一列取字段名,并确定每一列的数据库型、数据长度、列数据是否可以为空等。

(2)设置约束:

设置约束是为了限制该列输入值的取值范围,以保证输入数据的正确性和统一性。

(3)添加数据:

表结构建立完成之后,应该向表中输入数据。

“班级”表的结构:

2创建表

(1)使用企业管理器,在student数据库,展开找到表图标,右单击选新建表,然后输入例如如下字段:

字段名称

数据类型

字段长度

是否为空

班级代码

Char

9

班级名称

Varchar

20

专业代码

4

系部代码

2

备注

50

单击保存按钮保存表,起名字比如班级

输入内容如下

010101001

01级软件工程001班

0101

01

010101002

01级信息管理002班

0102

010201001

01级经济管理001班

0201

02

010202002

01级会计002班

0202

(2)使用代码创建表

字段名

长度

系部名称

30

系主任

8

Usestudent

Go

createtabledbo.系部

系部代码char

(2)notnull,

系部名称Varchar(30)notnull,

系主任char(8)

3修改表结构

(1)在表图标上双击,然后再在需要的表上右单击选择------设计表比如添加、删除字段,修改原有的字段定义等

(2)代码方式

案例1在student数据库教师表中增加家庭住址一列,Varchar类型,允许空

Altertable教师

Add家庭住址varchar(40)

案例2在student数据库教师表家庭住址修改varchar(50),允许空

Altercolumn家庭住址varchar(50)

案例3在student数据库教师表中删除“家庭住址“一列

Dropcolumn家庭住址

4删除表

(1)在需要删除的表上右单击选择删除,选择全部删除

(2)代码比如

Droptable系部

5添加数据

(1)双击表图标,在右侧表名上右单击选择打开表–返回所有行

(2)使用代码

例如使用insert向student库中系部表添加记录

Insert系部

Values(’03’,’数学系’,’张三’)

6查看表

(1)在表上右单击选择属性

(2)代码execsp_help表名

第四章数据库增删改查操作

1数据的添加

语法:

insert[into]tablename[column_list]values(datavalues)

案例1在专业表中添加一行记录:

在计算机系部中添加-个电子科学专业

Insert专业

(专业代码,专业名称,系部代码)

Values

('

0105'

'

电子科学'

01'

案例2省略清单insert语句在班级表中添加2004级电子商务班

0106'

电子系'

2数据的修改update

案例3将教学计划表中专业代码为”0101”的“开课学期”值改为第2学期

Update教学计划

Set开课学期=2

Where专业代码='

0101'

3数据的删除

案例4删除“课程注册”表中所有记录

Delete课程注册go

案例5删除“教师”表中没有姓名的记录

Delete教师where姓名isnull

案例6删除课程注册表中姓名为“张斌”的课程号位“0001”的选课信息

Delete课程注册表

Where课程注册表.课程号='

0001'

and学号=(select学号from学生where姓名like'

张斌'

4数据查询

(1)查询表中若干列

案例1查询“学生”表中全体学生的记录

Select*from学生

案例2查询全体教师的教师编号,姓名,和职称信息

Select教师编号,姓名,职称

From教师

(3)查询表中若干记录

案例3查询选修了课程的学生号并且取消重复记录

Selectdistinct学号From课程注册

(4)限制返回行数

案例4查询“课程注册”表中的前3条记录

Selecttop3*from课程注册

(5)查询满足条件的元组

查询条件

运算符

意义

比较

=,>

<

>

=,<

=,!

>

!

比较大小

确定范围

Betweenand,notBetweenand

判断值是否在范围内

确定集合

In,notin

判断值是否为列表中的值

字符匹配

Like,notlike

判断值是否与指定的字符通配符格式相符

空值

Isnull,notisnull

判断值是否为空

多重条件

And,or,not

用于多重条件判断

案例5查询“课程注册”表中成绩>

50分的记录

Select*from课程注册where成绩>

=50

案例6查询出生日期在1970年至1982年之间的学生姓名、学号和出生日期

Select姓名,学号,出生日期from学生

Where出生日期between‘1970-01-01’and‘1982-12-31’

Go

案例7查询计算机系、经济管理系的班级名称与班级编号

select班级代码,班级名称from班级where系部代码in('

02'

案例8字符匹配查询“学生”中姓“周”的同学的信息

Select*from学生where姓名like'

周%'

注意%代表任意长度字符;

_下划线代表任意单个字符

案例9查询“教师”表中备注字段为空的班级信息

Select*from教师where备注isnull

案例10多重条件查询查询“课程注册”表中课程号为”0001”成绩在70分—79分之间的学生的学号,成绩

Select学号,成绩from课程注册where课程号='

and成绩>

=70and成绩<

79

(6)对查询结果排序

OrderbyASC(升序)、Desc(降序)

案例11查询选修”0001”号课程的同学的学号,并按成绩降序排列

Orderby成绩DESC

(7)对数据进行统计

使用集合函数

Count([distinct/all]*)统计记录个数。

Count([distinct/all]列名)统计一列中值的个数。

Sum([distinct/all]列名)计算一列值的总和(此列必须是数值型的)。

Avg([distinct/all]列名)计算一列值的平均值(此列必须是数值型的)。

Max([distinct/all]列名)求一列值中的最大值。

Min([distinct/all]列名)求一列值中的最小值。

案例12查询“教师”表中教师总数。

Selectcount(*)as教师总数from教师

案例13查询“课程注册”表中学生的成绩平均分。

Selectavg(成绩)as平均分from课程注册

案例14对结果进行分组

查询“课程注册”表中课程选课人数4人以上的各个课程号和相应的选课人数。

代码如下。

Select课程号,count(*)as选课人数from课程注册

Groupby课程号

Havingcount(*)>

=4

案例15Compute对查询的结果集中所有的记录进行汇总统计。

查询所有学生所有成绩的总和。

Select*from课程注册

Orderby学号

Computesum(成绩)

案例16对每个学生的所有课程的成绩求和,并显示详细记录。

Orderby学号

Computesum(成绩)by学号

案例17用查询结果生成新的表

创建“课程注册”表的一个副本。

Select*into课程注册副本from课程注册

Select*from课程注册副本

合并结果集:

union

案例18查询“课程注册”表中0102专业的学生学号及课程成绩大于70分小于79分的学生学号,并按成绩降序排列记录。

Select*from课程注册where专业代码=’0102’

Union

79

Orderby成绩desc

案例19查询“课程注册”表中选修了0001课程或选修了0002课程的学生,也就是选修了课程0001的学生集合与选修了课程0002的学生集合的并集,且按课程号升序排序。

Select*from课程注册where课程号='

Union

0002'

Orderby课程号asc

(8)交叉连接:

两个表属性列的和

语法格式:

Select列表列名from表名1crossjoin表名2

其中crossjoin为交叉表连接关键字。

案例20使用上例中的“学生”表、“专业”表,实现交叉查询。

Select学号,姓名,性别,学生.系部代码,学生.专业代码,专业.专业代码,专业名称,专业.系部代码

From学生crossjoin专业

(9)自然连接

等值连接:

用=作为连接条件或连接谓词时候

自然连接:

在等值连接中,把目标列中重复的列删除。

用等值连接方法连接学生表和专业表,观察效果

Select学号,姓名,性别,学生.系部代码,学生.专业代码,专业.专业代码,专业名称,专业.系部代码From学生innerjoin专业on学生.专业代码=专业.专业代码

案例21自然连接“学生”表和“专业”表。

Select学号,姓名,性别,学生.系部代码,专业.专业代码,专业名称

From学生join专业on学生.专业代码=专业.专业代码

(10)自身连接查询:

一个表与自己进行连接

案例22使用“教师任课”表,查询至少为两个专业开设课程的教师编号和专业代码。

Selectfirst.教师编号,second.专业代码

From教师任课asfirstjoin教师任课assecond

Onfirst.教师编号=second.教师编号

Andfirst.专业代码!

=second.专业代码

(11)

左外连接是结果表中除了包含满足连接条件的记录外,还包括左表中不满足连接条件的记录。

左外连接语法格式

Select列表列名

From表名1left[outer]join表名2

On表名1.列名=表名2.列名

案例23将“学生”表左外连接“专业”表。

Select学号,姓名,性别,学生.系部代码,学生.专业代码,专业.专业代码,专业.专业名称,专业.系部代码

From学生leftouterjoin专业

On学生.专业代码=专业.专业代码

(12)右外连接是结果表中除了包含满足连接条件的记录外,还包括右表中不满足连接条件的记录。

案例24将“学生”表右外连接“专业”表。

Select学号,姓名,性别,学生.系部代码,学生.专业代码,专业.专业代码,专业.专业名称,专业.系部代码

From学生rightouterjoin专业

(13)完全外连接是结果表中除了包含满足连接条件的记录外,还包括2个表中不满足连接条件的记录。

案例25将“学生”表完全外连接“专业”表

From学生fullouterjoin专业

(14)复合连接:

on中连接有多个连接条件

案例26使用学生表,课程表和课程注册表,查询成绩在70分-80分之间(含70分和80分)的学生的学号,姓名,专业代码,选修课的课程号,课程名以及对应的成绩。

Selects.学号,s.姓名,s.专业代码,c.课程号,cn.课程名,c.成绩

From学生assjoin课程注册asc

Ons.学号=c.学号andc.成绩>

=70andc.成绩<

=80

Join课程ascn

Onc.课程号=cn.课程号

(15)带有比较运算符的子查询

案例27使用教师表,查询与“王钢”同在一个系的教师基本信息

Select教师编号,姓名,性别,学历,职称from教师

Where系部代码=(select系部代码from教师where姓名='

王钢'

(16)带有exists运算符的子查询

使用教师表,查询与“王钢”同在一个系的教师基本信息

Select教师编号,姓名,性别,学历,职称from教师asT1

Whereexists(select*from教师asT2whereT2.系部代码andT2.姓名=’王钢’)

第五章约束

约束定义了关于允许什么数据进入数据库的规则。

使用约束的目的是为了防止列出现非法数据,以保证数据库中数据的一致性和完整性。

1常见约束

(1)NOTNULL指定不接受NULL值的列

(2)CHECK约束对放入列中的值进行限制,以强制执行域的完整性

(3)UNIQUE约束在列集内强制执行值的唯一性

(4)primarykey约束列这些列唯一标识表中的行

(5)ForeignKey约束标识表之间的关系

(6)default约束为列填入默认值

2创建主键约束

(1)用企业管理器创建主键约束在“学生”表,右单击选择“设计表”,在需要的字段上右单击选择设置主键

(2)使用SQL语句创建主键

案例1在student数据库中,建立一个“教材”表,包括教材代码、教材名称、书号、出版社、版本、价格六个字段,并将教材代码设置为主键。

Createtable教材

教材代码intprimarykey,

教材名称char(50),

书号char(50),

出版社char(50),

版本char(50),

价格char(50)

案例2如果在创建”教材”表的时段没有指定主键,那么在创建好后的“教材”表中,将教材代码设置为主键。

Altertable教材

Addconstraintps_jc

Primarykeyclustered(教材代码)

3创建唯一约束

(1)在表上右单击选择“设计表“,然后在要设置唯一约束字段上右单击选择---索引/键,单击新建按钮,给起名字,在从列名下拉框中选择字段名称,最好选择”创建unique”复选框和”约束’单选框。

(2)使用sql语句创建唯一约束

案例3在student表中“教材”表中,将“书号”字段创建一个唯一约束。

Altertable教材

Addconstraintuk_sh

Unique(书号)

4创建检查约束

(1)在表上右单击选择“设计表“,然后在要设置check约束字段上右单击选择check约束,单击新建按钮,输入约束名,比如([学分]>

=1and[学分]<

=7).

(2)代码方式:

案例4利用sql语句创建“课程”表,并且在创建的同时,创建检查约束,是学分字段被约束在1至7之间。

Createtable课程

课程号intprimarykey,

课程名char(50),

学分char(50),

Constraint学分check(学分between1and7)

5创建默认约束

(1)在表上右单击选择“设计表“,然后在要设置默认字段上比如性别字段。

在下方默认值处输入”男”

(2)案例5在student数据库中新建“学生注册”表,并将注册时间设置为当前日期。

Createtable学生注册

注册编码intprimarykey,

学号char(50),

注册时间datetimedefaultgetdate(),

学期char(50)

案例6在student数据库中的“教师”表中,为学历字段创建默认值为“本科”的默认约束。

Addconstraintdf_xl

Default‘本科’for学历

6创建外键约束

(1)比如教师表,右单击选择设计表,选择要设置外键约束的字段,右单击选择关系,单击新建按钮,然后在主键表中选择主键表,比如系部表,在外键列表中选择教师表。

然后分别主键表和外键表中选择系部代码字段。

(2)用sql语句创建外键约束

案例7在student数据库中位“班级”表,为专业代码字段创建一个外键约束,从而保证输入有效的专业代码。

Altertable班级

Addconstraintfk_zydm

Foreignkey(专业代码)

References专业(专业代码)

7查看约束的定语

(1)在表上右单击选择设计表,在右单击选择属性查看。

(2)代码案例8使用系统存储过程查看student数据库中定义的入学时间(名称为ck_rxsj)的约束信息和文本信息。

查询约束信息

Execsp_helpck_rxsj

Execsp_helptextck_rxsj

8删除约束

案例9删除“课程”表中的入学时间(ck_rxsj)。

Altertable学生

Dropconstraintck_rxsj

第六章Sqlserver安全管理与权限分配

1两种验证方式:

一种是windows验证方式,另一种windows和sqlserver混

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

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

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

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