假设看多个不同的表
select *from student ,score,course,teacher
有重复的 改为select student.Sno,sname,ssex,sbirthday,Class,score.Cno,degree,cname,tname,prof,depart from student,Score,Course,Teacher
做出来这个表 不是真实存在的 但是以后要用 怎么保存下来呢
就要用到视图 把这表的数据保存下来
1、只能用来查看的,不能增删改
2、不能有重复列(重复列是 多个sno列 多个cno列。。。)
创建视图
create view 视图名
as
以后要查看的数据图 的语句
例如:
create view hah as select student.Sno,sname,ssex,sbirthday,Class,score.Cno,degree,cname,tname,prof,depart from student,Score,Course,Teacher
视图所在的位置
调用视图
select *from 视图名
例如:
select *from hah
事务
相当于C#的抓捕异常,但是这里的是只要有一处错误就会返回刚开始
事务就是监控异常, 比如 假设银行转账 一个转账 一个接受钱 没有事务的话 假设转账钱转了 接受钱的没有到账 那么钱是转了 是输入进去 就是没有给接受的钱转 两家亏
有事务的话就是一个转 一个没接受 就会回到原始位置 就是转账的没有转账 要不一起(一个转到账 一个接受到账)
例如:
begin tran /*--定义变量,用于累计事务执行过程中的错误--*/ declare @a int; set @a=0 --初始化为0,即无错误 /*--转账:张三的账户少1000元,李四的账户多1000元*/ update bank set money=money-1000 where name='张三' update bank set Money=Money+1000 where Name='李四' if @@error >0 --如果有错误 begin print '交易失败' -- 提示 rollback tran --回滚事务 end else begin print '交易成功' commit tran --提交事务,写入硬盘,永久的保存 end GO print '查看转账事务后的余额' SELECT * from bank GO
备份还原
备份数据,防止数据错误操作,影响数据库数据。
(1)
(2)
(3)
还原数据,在有备份的基础上还原数据。
(1)
(2)
四。分离附加
分离
多人项目合作时需要将每人的数据分离复制到同一台电脑的数据库中。找到后复制粘贴即可。
附加
将赋值来的数据在统一数据库中运行
(1)
(2)找到位置添加即可