收藏 分享(赏)

SQL server.doc

上传人:HR专家 文档编号:7516234 上传时间:2019-05-20 格式:DOC 页数:7 大小:42KB
下载 相关 举报
SQL server.doc_第1页
第1页 / 共7页
SQL server.doc_第2页
第2页 / 共7页
SQL server.doc_第3页
第3页 / 共7页
SQL server.doc_第4页
第4页 / 共7页
SQL server.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、数据库材料第一章:数据库的创建 3 个完整性约束:实体完整性,参照完整性,域完整,用户自定义完整性 数据库的 4 个服务:数据可引擎,分析服务,报表服务和集成服务 数据库创建格式:create database test-创建数据库 on primary -指定保存数据库的数据部分的磁盘文件( name=test_data,-主数据文件的逻辑名 fileName=D:datatest.mdf ,-主数据文件的物理名 size=10MB,-文件起始大小 maxsize =unlimited,-文件可增长到的最大尺寸filegrowth=1024KB 当前文件的自由空间用完时,可增加到文件的字节数

2、) log on 指定保存事务处理日志的磁盘文件( name=test_log,-日志文件的逻辑名 fileName=D:datatest_log.ldf,-日志文件的物理名 size=1MB ,-初始大小maxsize=20MB,-事务处理日志可增长到的最大尺寸filegrowth=10% 查看数据库信息 :sp_helpdb study 更名数据库:sp_renamedb study ,my_study drop database database_name第二章表和记录1. 常 用 字 符 与 数 字 、 日 期 数 据 类 型 : varchar(size ):变长度的字符串型,以字节

3、为单位。 Decimal:精确数值型 能用来存储从-10 38-1 到 1038-1 的固定精度和范围 的数值型数据。 Money:货币型 用来表示钱和货币值。这种数据类型能存储从-922 万亿到922 万亿之间的数据, Datetime:用来表示日期和时间。存储从 1753 年 1 月 1 日到 9999 年 12 月 3 1 日间所有的日期和时间数据, 精确到三百分之一秒或 3.33 毫秒 Smalldatetime:和 datetime 相似,但其日期时间范围较小,1900 年 1 月 1日-2079 年 6 月 6 日,精度较低,只能精确到分钟创 建 数 据 库 表 :Create t

4、able table_name(Column_name1 data_type identity(1,1)(标识列) not null(非空约束),Column_name2 data_type default(缺省值)修 改 数 据 库 表 : 增加新列:alter table table_name add column_name data_type 删除列:alter table table_name drop column column_name 修改列:alter table table_name alter column column_name data_type 查看表的结构:sp_h

5、elp table_name 表的重命名:sp_rename table_name , new_table_name 表的删除:drop table table_name对 于 表 中 数 据 的 操 作 : 插入单行记录:insert into table_name column1,column2, values (value1,value2,.) 插入多行记录:insert into table_name (column1,column2,) select column1,column2, from table_name2 where search_condition 直接复制到新表:se

6、lect column1,column2 Into new table From table name Where search condition 更新表中的数据: update table_name set column=value1,column2=value2where search_condition 删除表中的数据:delete from table_name where search_condition约 束 : 主键约束:alter table stuinfo add constraint pri_id1 primary key(stuid) 列的值的范围约束:alter ta

7、ble book Add constraint ch_age check(age10 and age(column.column2 as select from 删除视图:drop view view_name注意:视图的任何修改只能引用于一个基表的列视图地优点:增强可读性,数据安全加密,降低查询复杂度,方便维护。索 引创建索引:create unique clustered|nonclustered index index_name on table_name(column_name)withfillfact or=x删除索引:drop index index_name on table_n

8、ame第六章过程、事务、函数存 储 过 程 :创建存储过程:create procedure 存储过程名参数 1 数据类型=默认值 output,.,as Sql 语句不带参数的存储过程:create proc p_teacherAs Select* from teacher inner join tc on teacher.tno=tc.tno where teahcer.tno=9809执行存储过程:exec p_teacher带输入参数的存储过程:create proc p_teacher tbo varchar(10)As Select * from teacher inner joi

9、n tc on teacher.tno=tc.tno where teacher.tno=tno执行带输入参数的存储过程:exec p_teacher 34带输入、输入的存储过程:实例,创建存储过程p_teacher_avgSal,要求能根据用户给定的年龄段,统计出该年龄段教师的平均工资,并将平均工资以输出变量的形式返回给用户。create proc P_teacherminage int,maxage int,avgsal decimal(6,2) outputAsSelect avgsal=avg(asl) from teacher where age between minage and

10、 maxageprint avgsal 为了在 SQL 中测试结果执行带输入输出参数的存储过程:Declare min int,max int,sal decimal(6,2)Set min=10Set max=30Exec P_teacher min,max,sal重命名存储过程:sp_rename 原存储过程名,新存储过程名删除存储过程:drop procedure 存储过程名事 务 :开始事务:begin transaction提交事务:commit transaction撤销事务:rollback transaction函 数 :用户自定义函数:返回一个值创建一个用户自定义函数,返回指

11、定系的教师平均工资create function dept_(dept_name carchar(20)Returns moneyAsBeginDeclare avgsal moneySelect avgsal=avg(age) from teacher where dname=dept_nameReturn avgsalEnd调用上面的函数:select dbo.dept_(计算机) as 平均工资直接表函数:返回一个表创建一个函数返回某一个教师所授的所有课程信息Create function teacher_(tno int)Return tableAs Return select o,a

12、me from course as c inner join tc on o=oWhere tc.tno=tno调用上面的函数:select dbo.teacher_(1223)多语句表值自定义函数:创建函数 teacherInfo,用于返回指定系的教师的姓名、性别、所在系、所授课程的课程号、课程名以及学时信息Create function teacherinfo(dname varchar(20)returndept_ table(姓名 varchar(20),性别 char(2),所在系 varchar(20),所授课程int,所授课程名 varchar(20 ) )asbegin ins

13、ert dept_select t.tname,t.sex,t.dname,o,ame,c.scoudtfrom teacher t,tc,course, cwhere t.tno=tc.tno and o=o and t.dname=dnamererturnend存储过程与函数的区别:存储过程可以用临时表,函数不能用临时表存储过程可以 update,函数不能 update存储过程可以用 getdate()等函数,函数不能使用 getdate 这些函数一般来说,存储过程实现的功能要复杂一点,而函数的实现功能针对性比较强对于存储过程来说可以返回参数,而函数只能返回值或者表对象存储过程一般是作为一

14、个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于 from 关键字后面第七章触发器触发器分为两大类:DML 触发器针对表中的记录和 DDL 触发器针对表结构创建触发器:create trigger trigger_nameOntable_name|view_namewithencryptionfor|after|insteaddelete,insert,updateAsT-sql 语句 Insert 触发器:在交易信息表上创建 INSERT 触发器 从 inserted 临时表中获取插入的数据行 根据交易类型(transType

15、)字段的值是存入/支取,增加 /减少对应帐户的余额。create trigger trOn transinfoFor insertAs Declare type char(4),transmoney money,card char(10),balance moneySelect type=transtype,transmoney=transmoney,card=cardidFrom inserted If(type=存款)BeginUpdate bank set courmoney=courmoney+transmoney where card=cardidPrint存款成功 交易额convert(char,transmoney)End ElseBeginUpdate bank set courmoney=courmoney+transmoney where cardid=cardPrint取款成功!交易额+convert(char,transmoney)EndSelect balance=courance=courmoney from bank where card=cardPrint卡号: +card+余额:+convert(char,balance)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报