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(修改文件内容)
(
… … ,
… …
)
Drop(delete) database 数据库名
在建数据库时首先要考虑数据库是否存在
Use master
Go
If exists(select * from sysdatabases where name =… …)---看数据库是否存在
Drop database … …
Create database ***
(
… …
)
5.命令
(1)Execute sp_helpdb 数据库名字—查看数据库的属性
(2)Execute sp_help 表名—查看表的属性
(3)Execute sp_renamedb 数据库名(重命名)
(4)Execute sp_rename 表名(重命名)
6.数据类型
Bit(0/1/null)位型
Tinyint(1字节)
Smallint(2字节)
Int(4字节)
Bigint(8字节)
精确数据类型:Decimal(p,s):numeric(p,s)p为数字的总长度,s为精确长
度(即小数位数)
字符型:Char长度固定,varchar和nvarchar长度不固定
7.(1)表的修改
Insert into 表名(字段名1,字段名2)values(1,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 求最小值 example:min(字段名)
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页。