SqlServer概要总结.doc_第1页
SqlServer概要总结.doc_第2页
SqlServer概要总结.doc_第3页
SqlServer概要总结.doc_第4页
SqlServer概要总结.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL Server概要总结 (不能直接Copy运行,单引号要改)配置数据库选项附加、分离数据库数据类型(系统数据类型、用户数据类型)数据库操作(创建、修改、删除)表操作以及约束(创建、修改、删除以及各种约束)数据插入、更新、删除数据查询(数据查询、聚合函数、分组、联接)配置数据库选项(设置数据库是否只读)sp_dboption 数据库名,read only,True|false 如:设置pubs数据库为只读sp_dboption pubs, read only,True-(设置数据库是否自动自动周期性收缩)sp_dboption 数据库名,autoshrink,True|false -(设置数据库是否为单用户)sp_dboption 数据库名,single user,True|false-附加、分离数据库 分离数据库:sp_detach_db 数据库名 如:sp_detach_db pubs 附加数据库:sp_attach_db 数据库名,主文件 如:sp_attach_db pubs,D:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf-数据库操作-创建数据库 xp_cmdshell md 新建文件夹名 比如:xp_cmdshell md f:dbName(在本机f盘下建立文件夹dbName) create database 数据库名on primary( name=逻辑名, filename=主数据文件实际路径+主文件名.mdf, size=初始化大小(默认为1MB), maxsize=文件最大大小, filegrowth=文件增长大小),filegroup 文件组名( name=逻辑名, filename=次数据文件实际路径+次文件名.ndf, size=初始化大小(默认为1MB), maxsize=文件最大大小, filegrowth=文件增长大小)log on( name=逻辑名, filename=日志文件实际路径+日志文件名.ldf, size=初始化大小(默认为1MB), maxsize=文件最大大小, filegrowth=文件增长大小)注:逻辑名不能相同比如:创建一个名叫dbStudent的数据库xp_cmdshell md f:studentcreate database dbStudenton-主数据文件( name=stu_data, filename=f:studentstu_data.mdf , size=1, maxsize=5, filegrowth=1),-次要数据文件1( name=stu_data1, filename=f:studentstu_data1.ndf, size=1, maxsize=3, filegrowth=1),-次要数据文件2( name=stu_data2, filename=f:studentstu_data2.ndf, size=1, maxsize=3, filegrowth=1)log on-日志文件( name=stu_log, filename=f:studentstu_data.ldf, size=1, maxsize=4, filegrowth=1)-修改数据库1. 修改数据库名alter database 数据库名modify name=新数据库名2. 修改数据库(1) 添加文件alter database 数据库名add file(name=逻辑名,filename=文件实际路径+文件名,size=初始化大小(默认为1MB),maxsize=文件最大大小,filegrowth=文件增长大小)to filegroup 文件组名(2) 修改文件alter database数据库名modify file(name=逻辑名,filename=文件实际路径+文件名,size=初始化大小(默认为1MB),maxsize=文件最大大小,filegrowth=文件增长大小)(3) 删除文件alter database 数据库名remove file 逻辑名-删除数据库 drop database 数据库名-表操作以及约束-创建表create table 表名( 列1 数据类型 约束,列2 数据类型 约束,)-修改表 (1) 修改现有列的数据类型或者加not null alter table 表名 alter column 列名 类型 not null (2) 新加一列 alter table 表名 add 列名 类型 是否为空 (3) 删除一列 drop column 列名-删除表 drop table 表名-约束 (下面以创建表后,添加约束为例)(在本文件夹下,附录了一些实例)(1) primary key 主键 (不能再null列上添加主键)alter table 表名add constraint 约束名 primary key(列1,列2)(2) unique 唯一alter table 表名add constraint 约束名 unique(列1,列2)(3) identity 自动增长create table 表名( 列1 整数类型 identity(初始值,增长值) )(4) foreign key 外键alter table 表名add constraint 约束名 foreign key(外键列) references 主表名(主键列)比如:(修改B表的u_id列引用A表的id列)alter table Badd constraint fk_B foreign key(u_id) references A(id)(5) default 默认约束alter table 表名add constraint 约束名 default(默认值) for 列(6) check 检查约束alter table 表名add constraint 约束名 check(列)-数据类型-系统数据类型系统数据类型是SQL SERVER支持的内置数据类型。数据类型描述所需空间binary固定长度的二进制数据,最大长度为8,000字节0到8000字节,具体取决于定义Bit整型数据,值为1或0(真或假)1字节Char固定长度的非Unicode的字符数据,最大长度为0到8000字节,8,000个字符0到8000字节,8,000个字符。具体取决于定义Datetime日期和时间数据,从1753年1月1日到9999年12月30日,精确到三百分之一秒,即3.33秒8个字节。Decimal带定点精度和小数位数的十进制数字类型2-17字节float浮点精度数据类型,从-1.79E+308到1.73+308.8字节image可变长度的二进制数据,最大长度为231-1字节16字节的指针,每个初始化列至少外加2000字节Int整数数据,从-231-1到231-14个字节Money货币数据类型,从-263到263-1,精确到每个货币单位的万分之一8个字节Numeric decimal的同义词2-17字节Real浮点精度数字数据,从-3.40E+38到3.40E+384个字节Smalldatetime Smalldatetime 日期和时间数据,从1900年1月1日到2079年6月6日,精确到1分钟4个字节Smallint整数数据,从215到达15-12个字节Text(文本)可变长度的非Unicode数据,最大长度为231-1个字符16字节的指针,每个初始化列至少外加2000字节Timestamp整个数据库范围内的唯一数字8个字节Tinyint整数数据,从0 到2551个字节Uniqueidentifier存储作为全局唯一标识符(GUID)的16字节的二进制值。GUID是确保唯一性的二进制数字16字节Nvarchar可变长度的Unicode数据,最大长度为4000个字符存储大小是输入数据-用户数据类型添加用户数据类型:sp_addType 自定义数据类型名,基本数据类型,not null删除用户数据类型:sp_dropType自定义数据类型名规则:被绑定在一列或一个用户定义数据类型上的一个数据库对象,它指定了该列可以输入的数据创建规则:create rule 规则名 as rID like 指定输入样式删除规则:drop rule 规则名综合实例:现在我要创建一个类型,这种类型用来输入特殊的ID,比如 TT-AC01,只能以TT-开头,后接两个字母和两个个数字,不输入的话,则默认添入TT-AA11-创建规则,规则名为r_id,rr为变量,代表以后输入的值create rule r_id as rr like TT-A-ZA-Z0-90-9-创建默认,默认名为 dDatacreate default dData as TT-AA11-添加用户自定义类型,类型名为inIDsp_addType inID,varchar(7),not null-将规则和默认绑定到数据类型上sp_bindrule r_id,inIDsp_bindefault dData,inID现在就完成了,我们可以直接用inID这种数据类型,只能输入TT-VC24这种格式,默认输入为TT-AA11-数据插入、更新、删除 -插入数据(1) 插入所有字段insert into 表名 values(值1,值2)(2) 插入个别字段(插入的值要和列的类型相对应)insert into 表名(列1,列2) values(值1,值2)(3) 表对表的插入insert 表名(列1,列2) select 列1,列2from 源表名 -更新数据update 表名 set 列1=值,列2=值.where 条件 -删除数据delete from 表名where 条件(truncate table 表名,删除整个表的数据,速度更快)-数据查询(本文件夹下附录了查询的一些实例)(返回的结果是一个临时表)完整的查询语句:select 列|表达式from 表名where 条件(针对select和from返回的结果进行筛选)group by 列(针对where子句的输出结果分组)having 条件(针对分组汇总后的结果进行筛选)order by 列,(进行排序)聚合函数:sum(求和) avg(求平均值) count(记数) max(求最大值) min(求最小值)(聚合函数忽略null值。如果加入distinct的话,只进行一次重复值的运算)-distinct(独特的)只返回不重复的值如:select distinct name from student查询结果只返回不重复的值-order by 用来排序,Asc代表升序,Desc代表降序如:有个成绩表,我先按学生的ID升序排序,再按Score(分数)降序排序 select * from tbExam order by u_ID asc,Score desc-使用常量:如:有学生表字段name,sex,age,我要连接在一起显示出来select 姓名:+name+ 性别:+sex+ 年龄:+cast(age as varchar)from tbStudent注:”+”号左右两边的数据类型必须相等cast是把age数字型转换成了varchar文本型-给列命别名:想上面给出的查询,列是没有名字的,我们可以给列命别名select 姓名:+name+ 性别:+sex+ 年龄:+cast(age as varchar) as 学生信息from tbStudent注:采用as关键字命别名-用Top关键字对返回的数据的数量进行控制如:学生表有10条数据,我要返回5条,可以采用下面两种方法(1) select top 5 *from tbStudent(2) select top 50 percentfrom tbStudent注:percent是百分比的意思,代表我只返回百分之50的数据-联接:联接 |-| | | 内联接 外联接 内联接 | - | | | 左

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论