数据库总结(三)

xiaoxiao2021-02-28  43

数据库视频终于看完了,做下数据库视频总结:

一、视图:

创建视图:

CREATE VIEW view_name(view_column_name)         AS   query_expression      [WITH CHECK OPTION]

修改视图

ALTER VIEW<view_name>[<column name list>]      AS       <SELECT statement>      [WITH CHECK OPTION]

删除视图:DROP VIEW V_STUDENT INFO

通过视图修改数据:

select * from 学生信息          insert into v _stu            values('学号','姓名','','',。。。)

二、索引:

创建索引: CREATE      [UNIQUE][CLUSTERED|NONCLUSTERED]     INDEX index_name

ON       table_name|view_name     (column_name[1,...,n])

删除索引: drop index 学生信息.I_name

三、对数据整理:

排序:下面加上 ORDER BY 分数 ASC(升序)  DESC(降序) ORDER BY 分数,学生编号 DESC        ORDER BY 分数 DESC,学生编号 排序: compute sum (分数),AVG(分数),MIN(分数)by 考试编号 查分数是5的倍数:

select * from 成绩信息 where 考试编号 = '0802' AND 分数 in (分数/5 = 0)

分组:SELECT 考试编号,课程编号,AVG(分数) FROM 成绩信息 GROUP BY CUBE(考试编号,课程编号) SELECT MAX(分数)FROM 成绩信息 WHERE 考试编号 = ‘0801’AND HAVING AVG (分数)>=90       ORDER BY 考试编号

四、数据修改:

插入数据: INSERT INTO 学生信息 VALUES ('','','',)      将学生信息插入到学生信息1: INSERT 学生信息1      SELECT * FROM 学生信息(where 家庭住址 like '河南') 将性别为'男'的这一列插入到'学生信息表'中 select *     into # student    from 学生信息    where 性别 = '男' select * from 学生信息

update 学生信息 set 姓名 = '李俊' where 学号 = '2005050101'

多表链接: select * from studentInfo       update studentInfo set s_sex = b.性别,s_address = b.家庭住址 from studentInfo a join 学生信息 b on a.s_name = b.姓名      where b.性别 = '女' 查看前6行: select top(6) * from 成绩信息 order by 分数 前6行更改为满族:     update top (6) 学生信息 set 民族 = '满族' 五、函数和运算符:

运算符: 位运算符;比较运算符;逻辑运算符;赋值运算符; 注释:--和/*...*/两种注释方式 while  、begin、end      while @i<=1000 wait for time '21:11:00'      begin try   ... end try      begin catch   ...   end catch

标量值函数:  select dbo.avgsum('1') 表值函数:  select * from FINDCOURSE('0802')

六、存储: 存储:用户自定义、系统、扩展存储过程。 存储操作: 创建存储过程: exec proc student      使用输出函数:  declare @sorce1 int exec p_sorce '张苗苗',@sorce1 output     print @sorce1 修改存储:alter procedure 表名称 删除:drop proc proc_student        (存储过程参数最大数目2100、存储过程最大128M) 系统存储过程:exec sp_helpdb 学生成绩管理系统    显示统计信息:exec sp_monitor 创建临时存储过程:  create procedure ##get _info 嵌套存储过程:exec _classinfo 查看存储过程:exec sp_helptext get_student 七、触发器: 触发器:ddl 触发器和dml 触发器 insert触发器: create TRIGGER trigger_name 创建DELETE触发器: CREATE TRIGGER T_DELETETEACHER ON教师信息    FOR DELETE AS     DELETE FROM教师信息 where 教师编号 = '2005001' UPDATE触发器:CREATE TRIGGER t_UPDATE UPDATE 教师信息 set 姓名 = '李芳' where 教师编号 ='20050010' 创建DDL触发器: create trigger T_notdelete     on database for Drop_table,alter_table    As    PRINT '事务' ROLLBACK    drop table student 管理触发器:drop trigger t_add

嵌套触发器:后面加上 insert into 员工信息(员工编号,员工姓名,所在部门编号) select 员工编号,员工姓名,所在部门编号   from deleted 递归触发器:最多递归16层 八、数据备份: 三种备份恢复模式:简单、完全、大容量日志记录恢复模型 时间点恢复:select getdate () as 数据插入时间 其他:

创建架构: create schema admins AUTHORIZATION teacher Select 12*13 As 计算结果 SELECT 姓名 as 学生姓名,性别 from 学生信息 SELECT DISTINCT 民族 from 学生信息 查询学生姓名: SELECT * FROM 学生信息 where 姓名 = '张苗苗' SELECT * FROM 学生信息 WHERE 民族 = '汉族' AND 性别 = '女'                                            OR

SELECT * FROM 学生信息 WHERE 家庭住址 like '河南%'

操作游标步骤: 打开游标、检索游标、关闭游标、释放游标。 XACT-ABORT选项 on

应用程序角色:sp_setapprole @rolename ='app_user',@password = '123'

发送测试电子邮件: SELECT * FROM msdb.dbo.sysmail_allitens    WHERE mailitem_id = 1 con.ConnectionString = " Data Source= LX ;database=学生成绩管理系统;uid=sa;pwd=123456";

转载请注明原文地址: https://www.6miu.com/read-52993.html

最新回复(0)