SQL Server

本学期主要学了数据库系统,数据模型,关系数据库,数据库设计,数据库(database)的建立(create)删(drop),改(alter),表(table)的建立(create)删(drop),改(alter),数据的增(insert)删(delete)改(update)查(select),T-SQL编程,视图和索引,存储过程和触发器,事务,备份与还原

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

数据库(database)

数据库的建立:
create database 数据库名
on primary
(Name=‘主文件名_data’,
FileName=‘文件地址’
Size=大小MB
MAXSIZE=最大MB
FILEGROWNTHM=每次增加大小%)
Log on
(Name=‘日志名_log’,
FileName=‘文件地址’
Size=大小MB
MAXSIZE=最大MB
FILEGROWNTHM=每次增加大小MB)

数据库的删除:
drop database 数据库名

修改数据库:
(1)、增加数据库已有文件空间
alter database 数据库名
modify file
( Name =student_data
size=大小MB)

(2)、增加数据库文件
alter database 数据库名
add file
(Name=‘主文件名_data’,
FileName=‘文件地址’
Size=大小MB
MAXSIZE=最大MB
FILEGROWNTHM=每次增加大小%)

(3)删除数据库文件
alter database 数据库名
remove file 文件名

(4)、数据库更名
sp_renamedb ‘原名’ ‘新名’


表(table)

表的创建
create table 表名
( 属性名 数据类型 primary key(主键),
属性名 数据类型 not null(不为空),
属性名 数据类型 Check (属性名= or and属性名> <)
)
表的修改
(1)、修改已有字段
alter table 表名
alter column 属性名 数据类型 是否为空
(2)、增加字段
alter table 表名
add 字段名 数据类型
(3)、删除字段
alter table 表明
drop column 字段名
表的删除
drop table 表名


列约束和表约束(6种)
1.primary约束(主键约束)
创建表时创建
方法一:直接在列名之后加一个primary key
在这里插入图片描述
方法二:在最后加一个语句:constraint 约束名 primary key (属性名)
在这里插入图片描述
创建之后想加约束
alter table 表名
alter constraint 约束名 primary key(列名)
(2)删除主键约束
alter table 表名
drop constraint 约束名

2.unique(唯一性约束)
指的是某列值没有重复
添加方法:
(1)创建表时
在这里插入图片描述
修改表时
alter table 表名
add constraint 约束名 unique(属性名)
3.foreign约束(外键约束)
(1)、创建时

在这里插入图片描述
constraint 外键约束名 foreign key references 表名(属性名)
注意需要保持数据类型一致
(2)、添加
alter table 表名
add constraint 约束名 foreign key 表名(属性名) references 表名(属性名)

(3)、删除
drop constraint 约束名

4.Check约束
创建时
属性名 数据类型 check (属性名表达式)

增加
alter table 表名
add constraint 约束名 check (表达式)

删除
drop constraint 约束名

5.default (默认值约束)约束
在这里插入图片描述

数据

1.插入
insert into 表名(属性值) values(值)
2.删除
delete 表名 where 条件 ----部分删除
truncate 表名—整个表中的数据删除
3.修改
update 表名 set 属性名=值 where条件
4.查询

using 数据库名
go
select top 3 percent a.属性1 别名 from 表 a,表 b
where 连接条件 and 条件 and 属性2 =(select 属性2 from 表名 where 条件 )
and 属性3 =(select 属性3 from 表c where a.属性4=c.属性4)
group by 属性5,a.属性1
having 条件(一般是聚合函数)
order by 属性 desc/asc (降序/升序)
except /intersect (差/和)
select top 3 percent 属性1 别名 from 表c

存储过程(procedure)

方便反复使用,类似于函数,是独立于存储的数据库对象,可以通过指定存储过程的名字并给出参数,来执行调用存储过程。
优点:
(1).允许模块化设计:一次编写,多次调用
(2).允许更快进行
(3).减少网络流量
(4).可作为安全机制使用,可以只给用户执行存储过程的权限,不允许其他程序访问数据。
注意
1.最大128MB
2.只能在当前数据库创建
3.跟在go之后,或者在第一条
4.允许引用不存在对象,创建时只会检查创造存储过程的语法
创建
go
create procedure 存储过程名 参数名 数据类型 ,参数2 数据类型 output
as
内容

调用
exec/execute 存储过程名 参数值,参数名 output
print/select 参数名

修改
alter procedure 存储过程名

删除
drop procedure 存储过程名

触发器(TRIGGER)

特定语言事件发生时会自动执行,与表紧紧联系在一起,他在特定的表上定义,是一种在基本表修改时自动执行的,通过事件触发执行。存储过程是独立在数据库内的独立对象。能够保持数据完整性。
功能:
1.强制比check更复杂的数据完整性
2.使用自定义的错误提示信息
3.使用数据库中多张表的级联修改
4.比较数据库修改前后的数据状态
5.调用存储过程
6.维护非规范化数据
注意:
1.批处理的第一个语句
2.权限为表所有者
3.只能在当前数据库创建触发器
4.可以引用临时表
5.truncate table不会激发delete触发器
6.对象名不可重复
创建:
create trigger 触发器名
on 表名 for 操作
as
内容

1.在T-SQL编程中,select可跟多个数据变量输出,而print只能跟一个。
select也可同时给多个数据赋值,而set只能给一个赋值。
2.在T-SQL编程中,IF后面的条件一般不带(),但带也不会出错。而一般带()是因为if后面的语句是select查询
3.不分大小写,变量名也一样,@a就是@A
4.在select查询输出时,转变数据类型用cast
cast(变量 as 类型)
在这里插入图片描述

5.排序若不说明asc还是desc,默认情况是asc即升序
6.case语句在使用时,若属性是等于,可以将属性放在case后边

在这里插入图片描述
也可以放在when后边

在这里插入图片描述

但若是比较的,需要将属性放在when的后面,如:
在这里插入图片描述

要注意,在使用case分类并且赋值之后,需要加一个end,如果需要的话可以加一个列名,若如果不加,就会显示无列名。

7.再用子查询时,要注意返回值是一个还是多个,要注意用in。

8.再用内连接时,注意写连接条件。

9.有些题不能用子查询做,因为聚合函数不能跟where连用
在这里插入图片描述
10.再用except的时候,我们需要属性个数及值相同,不需要查询的表相同。
在这里插入图片描述

11.子查询分为相关子查询和无关子查询
无关子查询是设定属性关系,与该元组无关;而相关子查询是指的是通过元组的某一属性,进行一行一行比较。

如:在teaching中,查询成绩比该课的平均成绩低的学生学号、课程号、成绩。(相关子查询)
select sno,cno score from sc a where score <(select avg(score) from sc b where a.cno=b.cno)

在teaching库中,查询与沈雁在同一个专业的同学的学号,姓名,专业(无关自查询)
select sno,sname,specialty fron student where specialty =(select specialty from student where sname=‘沈雁’)

12.在select 中出现的属性,除了聚合函数之外,都需要放入Group by 中(不可使用别名),Having中出现的也需要放在Group by 中
13.要注意在子查询中不能使用排序
14.查询前多少的信息
要用top 几
前百分之几
top 20 percent
在这里插入图片描述
在这里插入图片描述
15.要注意内连接之后,每个属性是不是两个表都有,要记得指代清楚。
16.default(getdate())获得系统当前时间 该属性默认值
序号为一自动增加
在这里插入图片描述
首先保证是int类型,tinyint也行
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

保存即可
在这里插入图片描述

错题统计:
在这里插入图片描述

在这里插入图片描述
(顺序)
在这里插入图片描述
要注意内连接之后,每个属性是不是两个表都有,要记得指代清楚

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值