SQLServer数据库总结_第1页
SQLServer数据库总结_第2页
SQLServer数据库总结_第3页
SQLServer数据库总结_第4页
SQLServer数据库总结_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、SQL基础数据库简介:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。数据库常见产品SQLServer数据库美国Microsoft公司推出的一种关系型数据库系统。SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的

2、企业级信息管理系统方案。其主要特点如下:(1)高性能设计,可充分利用WindowsNT的优势。(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。(3)强壮的事务处理功能,采用各种方法保证数据的完整性。(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。安装SQLServer启用SA用户远程登录设置密码开启SA用户。点击属性,启用远程连接。重启服务,使其生效。命令:service

3、s.mscTCP :1433 :0 LISTENING1433端口是开启的。当我们关闭服务后,端口也将关闭。数据库语言数据查询语言DQLDQL:(Data Query Language) SELECT 数据查询语言数据操纵语言DML如insert,delete,update,select(插入、删除、修改、检索)数据定义语言DDL如drop,alter,truncate等都是DDL数据控制语言DCLDCL(Data Control Language)是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认

4、状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL创建第一个数据库新建数据库限制增长:数据库的文件后缀2cto.mdf日志文件后缀2cto_log.ldf分离数据库:数据类型第一大类:整数数据bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1:以4个字节来存储正负数.可存储范围为:-231至231-1.smallint:以2个字节来存储正负数.存储范围为:-215至215-1tinyint:是最小的整数类型,仅用1字节,范围:0至此8-1第二大类:精确数值数据numeric:

5、表示的数字可以达到38位,存储数据时所用的字节数目会随着使用权用位数的多少变化.decimal:和numeric差不多第三大类:近似浮点数值数据float:用8个字节来存储数据.最多可为53位.范围为:-1.79E+308至1.79E+308.real:位数为24,用4个字节,数字范围:-3.04E+38至3.04E+38第四大类:日期时间数据datatime:表示时间范围可以表示从1753/1/1至9999/12/31,时间可以表示到3.33/1000秒.使用8个字节.smalldatetime:表示时间范围可以表示从1900/1/1至2079/12/31.使用4个字节.第五大类:字符串数据

6、char:长度是设定的,最短为1字节,最长为8000个字节.不足的长度会用空白补上.varchar:长度也是设定的,最短为1字节,最长为8000个字节,尾部的空白会去掉.text:长宽也是设定的,最长可以存放2G的数据.第六大类:Unincode字符串数据nchar:长度是设定的,最短为1字节,最长为4000个字节.不足的长度会用空白补上.储存一个字符需要2个字节.nvarchar:长度是设定的,最短为1字节,最长为4000个字节.尾部的空白会去掉.储存一个字符需要2个字节.ntext:长度是设定的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节.第七大类:货币数据类型m

7、oney:记录金额范围为:-92233720368577.5808至92233720368577.5807.需要8个字节.smallmoney:记录金额范围为:-214748.3648至214748.36487.需要4个字节.第八大类:标记数据timestamp:该数据类型在每一个表中是唯一的!当表中的一个记录更改时,该记录的timestamp字段会自动更新.uniqueidentifier:用于识别数据库里面许多个表的唯一一个记录.第九大类:二进制码字符串数据binary:固定长度的二进制码字符串字段,最短为1,最长为8000.varbinary:与binary差异为数据尾部是00时,var

8、binary会将其去掉image:为可变长度的二进制码字符串,最长2G.设置自动增长列数据库完整性主键SQL注释第一种:单行-select * from Student第二种:多行/*/基础查询查询所有:Select * from表名select*fromStudent新建查询选择数据库编写SQL语句。查询指定列selectname,sex,agefromStudent条件查询:where子句SELECT列名FROM表名where条件查询性别为男的所有记录selectname,sex,agefromStudentwheresex=男查询年龄大于25岁的所有记录。select*fromStude

9、ntwhereage25查询所有人数的数量(count聚合函数)selectcount(*)fromStudent范围查询:select*fromStudentwhereidbetween10and15查询所有不等于22岁的记录select*fromStudentwhereage22模糊查询1、百分号代表所有,但是不包括空select*fromStudentwhereaddresslike%;2、匹配中间select*fromStudentwherephonelike%22%;3、匹配开头select*fromStudentwherephonelike133%;4、匹配结尾select*fro

10、mStudentwherephonelike%5;5、匹配开头与结尾select*fromStudentwherephonelike1%3;6、匹配单个字符select*fromStudentwherephonelike_33%;7、匹配多个字符select*fromStudentwherephonelike_A-Za-z-0-96%;8、不匹配select*fromStudentwherephonelike_!36%;查询NULL值1. 查询NULL值select*fromStudentwherephoneisnull2. 查询非NULL值select*fromStudentwherepho

11、neisnotnull逻辑查询ANDselect*fromStudentwherename=张三andsex=男/* AND两边都要为真,才会为真如果有一遍为假,那么两边为假。*/ORselect*fromStudentwherename=张三orsex=女/* OR两边如果一边为真,一遍为假,那么就为真,如果两边都是假的话,那么就为假。如果两边都真,还是为真*/IN查询OR进行查询select*fromStudentwhereid=3orid=4orid=5In查询select*fromStudentwhereidin(1,2,3)NOT INselect*fromStudentwherei

12、dnotin(1,2,3)TOP子句查询前两行SELECTTOP2*FROMSTUDENTORDER BY语句排序语句1. ASC(正序)select*fromStudentorderbyidascselect*fromStudentorderbyage,id2. DESC(倒序)select*fromStudentorderbyiddescselect*fromStudentorderbyage,id desc 3.按列排序(能知道表有多少列)select*fromStudentorderby1,2,3,4,5,6,7DISTINCT去重复数据selectDISTINCTagefromStu

13、dentorderby1数据库关系图在数据库之中,选择数据库关系图,右键,新建数据库关系图。然后进行选择表。插入语句(INSERT)第一种:完整写法insertintoStudent(name,sex,age,greadName,phone,address)values(张三,女,20,一年级,132323232,青岛);第二中:简单写法删除语句(DELETE)deletefromStudentwhereid=5修改语句(UPDATE)-把银剑的年龄,修改为岁updateStudentsetage=20wherename=银剑select*fromStudentwherename=银剑upda

14、teStudentsetid=200wherename=银剑-错误的selectCOUNT(*)fromStudentwhereStudent.phonelike%2updateStudentsetage=200wheresex=男andStudent.phonelike%2主外键两表联查数据库备份1、完全备份这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。2、事务日志备份事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以

15、只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。3、差异备份也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。4、文件备份数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。按照数据库的状态可分为三种:1.冷备份,此时数据库处于关闭状态,能够较

16、好的保证数据库的完整性。2.热备份,数据库正处于运行状态,这种方法依赖于数据库的日志文件进行备份。3.逻辑备份,使用软件从数据库中提取数据并将结果写到一个文件上。约束完整性1、实体完整性2、域完整性3、引用完整性4、自定义完整性子查询子查询是一个嵌套在SELECT、INSERT、UPDATE或DELETE语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。selectStudent.idas学号,nameas姓名,ageas年龄, addressas地址,phoneas联系方式, (selectgradeNamefromGradewhereGrade.id=Student.gr

17、adeId)fromStudent在用“=”时,在子查询中返回值必须是唯一的。否则,要用IN。连接查询-左连接查询select Student.id as 学号 , name as 姓名 , age as 年龄 , gradeId as 班级 , address as 地址 , phone as 联系方式, Grade.gradeName as 年级fromGradeleft joinStudentonStudent.gradeId = Grade.id-右连接查询select Student.id as 学号 , name as 姓名 , age as 年龄 , gradeId as 班级

18、, address as 地址 , phone as 联系方式, Grade.gradeName as 年级fromStudentRIGHT joinGradeonStudent.gradeId = Grade.id-FULL连接查询select Student.id as 学号 , name as 姓名 , age as 年龄 , gradeId as 班级 , address as 地址 , phone as 联系方式, Grade.gradeName as 年级fromStudentFULL JOINGradeonStudent.gradeId = Grade.id-内连接查询select Student.id as 学号 , name as 姓名 , age as 年龄 , gradeId as 班级 , address as 地址 , phone as 联系方式, Grade.

温馨提示

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

评论

0/150

提交评论