已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【数据库的文件】*.mdf 主数据文件*.ldf 日志数据文件 支持数据恢复,当出现错误时可以完成自动还原*.ndf 辅助文件 分担主数据库数据【SQLServer登录方式】Windows登录 通过系统提供基于administrators管理员身份的用户登录SQLServer和windows 使用SQLServer帐号登录 用户sadbo 【库的创建】create database on( name = 文件名称, 注意:一定要用 , 区分每个属性的设定filename = 绝对路径/数据文件名.mdf ,size = 分配的空间(MB) , 注意:在未定义此属性时,默认 1 MB maxsize = 将文件增长限制为(MB) , 注意:在未定义此属性时, 默认文件增长不受限制,定义后,要注意,此定义的值不能小于分配的空间的值filegrowth = 文件自动增长(KB / %) 注意:在未定义此属性时,默认增长10 最小64KB)log on(name = 文件名称,filename = 绝对路径/日志数据文件名.ldf ,size = 分配的空间(MB) , maxsize = 将文件增长限制为(MB) ,filegrowth = 文件自动增长(KB / %)【改变库的文件】alter database 修改一个文件modify file ( name = 文件名 注意:此属性必须填写,用来确定具体的文件size = 分配的空间(MB) , 注意:修改的值应大于原来的值maxsize = 将文件增长限制为(MB) ,filegrowth = 文件自动增长(KB / %))增加一个数据文件add file(name = 文件名称,filename = 绝对路径/数据文件名.mdf /ndf ,size = 分配的空间(MB) , maxsize = 将文件增长限制为(MB) ,filegrowth = 文件自动增长(KB / %)增加一个日志文件add log file(name = 文件名称,filename = 绝对路径/日志文件名.ldf ,size = 分配的空间(MB) , maxsize = 将文件增长限制为(MB) ,filegrowth = 文件自动增长(KB / %)删除一个文件remove file 注意:不能从数据库中删除主数据文件或主日志文件。【操作信息的存储过程】sp_helpdb 显示具体数据库的结构信息sp_renamedb , 对数据库的重命名【删除数据库】drop database 表中数据类型整数型bigint 19位int 10位smallint 5位tinyint 3位Numeric 1 38位 浮点型float 53位decimal 1 38 位 不会四舍五入money 19位 4位小数位数 可以四舍五入smallmoney 10位 4位小数位数 可以四舍五入日期类型datetime 1753年1月1日 9999年12月31日smalldatetime 1990年1月1日 2079年6月6日加n表示可以支持unicode字符型char ncharvarchar nvarchar例子: char(6) varchar(6) abcdechar(6)abcde varchar(6)abcde大字段类型text ntextimage在关系型数据库中,一般需要对表需要确定主键关系。主键:具备检索作用,可以确定数据逻辑的唯一型,最多可以设定16个列的主键声明来确定主键约束的唯一。主键类型: 1 自然主键 (text , image不允许做主键使用) 2 代理主键 (只能使用整数类型) identity【创建表】create table ( 列名 数据类型(长度) not null / 默认为 null , 注意: 逗号用来区分多个列属性的定义 )SQLServer中允许我们添加的约束constraint 约束类型主键 : primary key 例: constraint tb_PK primary key(column,.)注意:如果只用一个列来描述主键,那么,可以在此列后直接声明 例:列名 类型(长度) primary key唯一 : unique例: constraint tb_UQ unique (column) 或者 列名 类型(长度) unique 效验 : check 例: constraint tb_CK check(表达式) 或者 列名 类型(长度) check(表达式)外键 : foreign key 例: constraint tb_FK foreign key(column) references p_tb(PK_column) 或者 列名 类型(长度) references p_tb(PK_column)缺省 : default 对应类型的值标识创建: identity (标识种子,标识增量)【删除表】drop table 【表关系设计】 多 对 一 many to one一 对 一 one to one一对多例子: 主 外CustomersOrdersIdNameSexIdCreatedateOrderdesc.Customer_id关系设计原则:外表中增加一个外键,此外键来源与主表的主键张三 此表设计了一个客户对应多个订单的概念但此设计在数据库中无法进行表数据描述订单1订单2订单3订单1张三订单2张三订单3李四一对一例子:主 外AccountfindpasswdId UsernamepasswordIdoldpasswdpasswdtypeanswer关系设计原则:定义表之间公用一个主键的原则,外键表中在同时建立与主键表的主外键关系多对多 主 主TeacherIdtnamesexClassIdcnamenodescTeacherAndClassTeacher_idClass_id多对多是通过两个多对一来完成的,中间表中的主键是约束数据唯一型的ClassesIdNameTeachersId NameTeacherAndclassId Teacher_idClass_id 注意: 删除时,如果表与表间存在关系,那么,我们应该先删除外方表,在删除主方表【改变表结构】alter table 增加列字段 add 列名 类型(长度) 删除字段 (注意:绑定约束条件的字段,不可删除) drop column 列名修改字段名称 (注意:修改名称,会影响存储过程,触发器,字段对应约束等相关信息)sp_rename tbname . oldcolumn , newoldcolumn 增加约束add constraint 约束类型 删除约束Drop 【修改表名】sp_rename oldtbname , newtbname【数据操作】查询select 【函数】时间函数: 日期组件: year , month , day , week , hour , minute , second year(时间字符串) mouth(时间字符串) day(时间字符串) datepart(日期组件,时间字符串) getdate() 获得系统当前时间 返回整型 datename(日期组件,时间字符串) 返回字符型 dateadd(日期组件,增加数量, 时间字符串) 基于组件,进行时间定义 datediff (日期组件, 时间字符串1, 时间字符串2) 按照组件以时间字符串2 减 时间字符串1 convert(显示类型, 时间字符串,格式编码) 转换时间格式例题:完成数据库文件每天备份的一个方法! 1 如何备份一个文件 backup database to disk = 路径/ 文件名称.dat2 变量的声明与定义 declare 变量名称 数据类型(长度);3 给变量赋值 set 变量名称 = 值 将右方的值赋给了左方的变量4 “+” 对应字符串操作,此 ”+” 代表连接5 打印 print 变量名称6 将此变量与备份语句合并declare url varchar(100)set url = D:backup + convert(varchar,getdate(),112) + new4.datprint urlbackup database new4 to disk = url【查询表信息】select distinct | top # from where group by having order by asc | desc 【逻辑运算符】 , = , != , , = ,= , and , or between 值 and 值 = and = not between 值 and 值【特殊运算符】is null , is not null in() not in()【字符串通配符( )及占位符( _ )】like 【数据排序】 order by asc(升序) 默认 | desc(降序)【聚合函数】count(distinct 列 / *)max(列)min(列) sum(列) 不能将定义类型为varchar的列进行操作avg(列) 如果字段定义为整数型,那么将会执行整除select 内容 from order by compute 聚合函数 by 【分组】group by having 表达式【子查询】可以在 update,delete,select语句中使用分页语句987654321 id not in (0) id not in (9,8) id not in (9,8,7,6) .缺省时,会按照主键进行升序的排列,如果父查询定义了倒序的排列,那么子查询也应定义为倒序的排列541 id not in(0) id not in(5,4) 【将查询的结果转入到定义的表中】select distinct | top # into from where group by having order by asc | desc insert into select from 【数据添加】Insert into values (.) 1 值需与字段结构顺序一致2 数据类型3 如果设定代理主键,我们将忽略主键的操作 Insert into ( colname , ) values ()1 数据类型2 如果设定代理主键,我们将忽略主键的操作 【修改表数据】 update set columnName = value , where 【删除表数据】 delete from where【存储过程】存储过程相对于其他的数据库访问方法有以下的优点:(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。(3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。(4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。CREATE PROCEDURE (参数 type length .)AS 逻辑 BEGIN SQL的脚本 ENDGO调用: execute DECLARE price_date DATETIME SET price_date = CONVERT(DATETIME,2007-01-01) WHILE price_date FreightParm 18 RETURN 19END游标Declare Id varchar(20) Declare Name varchar(20) Declare Cur Cursor For select substring(id,0,7) as id,name from temp1 Open Cur Fetch next From Cur Into Id,Name While fetch_status=0 Begin Update temp Set c3=Name where id like Id+% Fetch Next From Cur Into Id,Name End Close Cur Deallocate Cur 【触发器】C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境影响评估报告撰写模板及指南
- 电气设备节能改造实施方案
- 绿化工程常见质量通病及防治方法
- 技术研发项目进度计划模板
- 制造企业智能化改造方案汇编
- 工厂废水处理及排放管理方案
- 铁塔防风施工方案
- 屋面细部节点施工方案
- 安全文明施工方案编制流程图
- 河堤钢板桩防渗施工方案
- 环球广电考试试题及答案
- 护士人员礼仪与行为规范
- 2025年浙江中国移动通信集团浙江有限公司招聘笔试参考题库附带答案详解
- 输血病例书写规范
- 工厂7s管理制度
- 物料质保协议书范本
- 2024年系统分析师考试试题及答案全面解析
- 无人机飞行管理规定
- 2025年维修电工(高级)职业技能鉴定参考试题库(含答案)
- 磨工考试(中级)磨工考试题库及答案
- 新疆富蕴县可可托海镇二矿沟脉石英矿露天开采设计
评论
0/150
提交评论