sql SERVER学习质料

这篇博客详细介绍了SQL Server的数据库和表管理,包括数据库文件类型、创建与修改数据库、数据类型的使用,以及数据完整性的维护。还涵盖了子查询、内置函数的应用,以及视图和索引的操作。内容深入浅出,是学习SQL Server的好资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数据库和表管理

2.数据完整性

3.子查询

4.内置函数

5.视图与索引

 

一、数据库和表管理

(一)课堂知识点汇总

1.数据库:存储在计算机内部的有结构的的数据上的结合。

2.数据库文件:主数据库文件(primary database file)扩展名为.mdf,次数据库文件(二级数据库文件secondary database file)其扩展名为.ndf,日志文件扩展名为.ldf

3.sol server数据库类型:master 数据库是一个系统数据库;model ;msdb;tempdb

4.创建数据库和表:create database 数据库名,

修改数据库基本格式

alter database 数据库名

add file(添加二级数据文件)

(

... …

)

alter database 数据库名

modify file(修改文件内容)

… … ,

… …

Dropdelete database 数据库名

在建数据库时首先要考虑数据库是否存在

Use master

Go

If exists(select * from sysdatabases where name =… …)---看数据库是否存在

  Drop database … …

Create database ***

(

… …

)

5.命令

1Execute sp_helpdb 数据库名字查看数据库的属性

2Execute sp_help 表名查看表的属性

3Execute sp_renamedb 数据库名(重命名)

4Execute sp_rename 表名(重命名)

6.数据类型

  Bit0/1/null)位型

  Tinyint1字节)

  Smallint2字节)

  Int4字节)

  Bigint8字节)

精确数据类型:Decimalp,s):numericpsp为数字的总长度,s为精确长

度(即小数位数)

字符型:Char长度固定,varcharnvarchar长度不固定

7.1)表的修改

Insert into 表名(字段名1,字段名2values1,1

Update 表名 set 字段名=“” where primary key=“”修改

Delete from 表名 where 字段名=“”  删除某记录

2)对字段的增删改

Alter table 表名

Add 字段名 数据类型---增加字段

Alter column 字段名 数据类型-----修改字段

Drop column 字段名 数据类型---删除一个字段

 

二、数据的完整性

1.完整性

1)主要是包括主键(primary key 不能为空),not null(不为空),

unique(唯一)以及缺省约束(default)即为字段提供默认值和外键约束(foreign key)数据不能重复。

  2)创建约束

  Alter table 表名

  Add constraint 约束名 check (字段名=‘’)

  Execute  Sp_helpconstraint 表名查看约束

Alter table 表名----删除约束

  Drop constraint 约束名

  约束后更 on delete cascade 联删除

on update cascade联修改

(3)创建规则

Create rule 规则名  as ……

Execute sp_bindrule 规则名,表名.字段名,futureonly—绑定规则到表

Execute sp_unbindrule 规则名----解除绑定

exec sp_addtype 规则名,'char(15)','not null'

exec sp_droptype 规则名

在删除规则和约束之前必须先接触绑定。

检查约束

Constraint ck_sex check(sex=’’or sex=’’)

三、子查询

1排序

1.select TOP 25 PERCENT * FROM  StudInfor

Go

2.select top int(数值) from 表名 order by 字段名 desc or asc(其中desc是降序排列,asc是生序排列)

3. select avg(Sage) from StudInfor group by Ssex----avg适用于求平均数group by 是按照该字段分组。

2、模糊查询

模糊插查询关键字:_ 可表示一个任意字符;% 可表示任意个任意字符。

3子查询:

子查询主要是嵌套,

例如:select  * from 表名 where 字段名1  in (select 字段名1  from 表名 where  条件)

注意:其中的字段名1是相同的。

   Select  * from 表名 where group by 字段名 having count(字段名)

注意:其中的having必须搭配着group by 一起用。

四.内置函数

1.count 用于统计 example :count(字段名)

2.min 求最小值 examplemin(字段名)

3.max 求最大值 example: max(字段名)

4.avg 求平均值 example:avg(字段名)

5.sum 球总值 example:sum(字段名)

五.视图与索引

1、    视图的创建 create view 视图名 [with encryption]

As 查询语句

2、        查看视图:exec  sp_helptext 视图名

Exec  sp_help 视图名

Exec  sp_depends 视图名

Select * from 视图名

3、        修改视图:alter  view 视图名

As 查询语句

4、        更新视图:update 视图名 set  字段名=****

注:当试图被更新时表同事也被更新

5、存储数据的最小单位是页(8kb),一个盘区有8页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值