资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一.数据库简介和创建1. 系统数据库在安装好 SQL SERVER后,系统会自动安装 5 个用于维护系统正常运行的系统数据库: ?( 1)master :记录了 SQLSERVER实例的所有系统级消息,包括实例范围的元数据(如登录帐号)、端点、链接服务器和系统配置设置。 ?( 2) msdb:供 SQL SERVER代理服务调度报警和作业以及记录操作员的使用,保存关于调度报警、作业、操作员等信息。(备份还原时) ?( 3) model:SQL SERVER实例上创建的所有数据库的模板。 ?( 4) tempdb:临时数据库,用于保存临时对象或中间结果集,为数据库的排列等操作提供一个临时工作空间。(每次启动都会重新创建) ?( 5) Resource:一个只读数据库,包含了 SQL SERVER的所有系统对象。(隐藏的数据库)2. 数据库的组成数据文件 ?( 1)主要数据文件:扩展名为 .mdf ,每个数据库有且只能有一个。 ?( 2)次要数据文件:扩展名为 .ndf , 可以没有或有多个。日志文件 ?扩展名为 .ldf,用于存放恢复数据库的所有日志信息。数据的存储分配 ?( 1)数据文件和日志文件的默认存放位置为: Programe FilesMicrosoft SQL ServerMSSQLData 文件夹。 ?( 2)数据的存储分配单位是数据页。一页表是一块8KB的连续磁盘空间。 ?( 3)页是存储数据的最小空间分配单位,页的大小决定了数据库表中一行数据的最大大小。3. SQL 语句 数据库操作( 1)创建数据库CREATE DATABASE database_name二 . SQL 基础SQL( Structured Query Language,结构化查询语言)是用户操作关系数据库的通用语言。1. SQL 功能概述2. 系统提供的数据类型数值数据类型存储数据类型说明空间bit数据类型是整型,其值只能是0、 1 或空值。这种数据类型用于存储只有两种1 字bit可能值的数据,如Yes 或 No、 True 或 False、 On 或 Off.? (很省空间的一种数节据类型,如果能够满足需求应该尽量多用。)tinyint数据类型能存储从0到255之间的整数。它在你只打算存储有限数目的1 字tinyint数值时很有用。节smallint 数据类型可以存储从 - 2 的 15 次幂 (-32768) 到 2的 15 次幂 (32767) 之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。2 字smallint类型太单调不能满足您的需求,您可以考虑用smallint 类型,因节(如果 tinyint为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。)int数据类型可以存储从- 2的 31 次幂 (-48) 到 2 的 31 次幂 (2147483 647)之间4 个int的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型字节numeric( p,s )数据类型能用来存储从 -10 的 38 次幂 -1 到 10 的 38 次幂 -1的固定精度和范围的数最多或值型数据。使用这种数据类型时,必须指定范围和精度。范围是小数点左右所能17 个decimal(p,s)存储的数字的总位数。精度是小数点右边存储的数字的位数字节普通编码字符串类型数据类型说明数据类型说明char 数据类型用来存储指定长度的定长非统一编码型的数据,n 表示字符串的最大长度,取值范char(n)n, 系统自动在后面补空格)围为 18000 (若实际字符串控件小于varchar(n)可变长度的字符串类型,n 表示字符串的最大长度,取值范围为18000。text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1 或 20text亿个字符 .char和 varchar的区别: ?若某列数据类型为varchar(20),存字符串” Jone”时,只占用 4 个字节,而 char( 20)会在为填满的空间中填写空格。所以, ?varchar 类型比 char 类型更节省空间,但它的开销会大一些,处理速度也慢一些。因此, n 值比较小(小于 4),用 char 类型更好些。统一编码字符串类型(Unicode )数据类型说明nchar数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而nchar(n)不是用单字节( 普通文本中的情况) 。它允许大量的扩展字符。此数据类型能存储4000 种字符,使用的字节空间上增加了一倍.nvarchar数据类型用作变长的统一编码字符型数据。此数据类型能存储4000 种字符, 使用的字nvarchar(n)节空间增加了一倍.ntext最多可存储2 的 30 次方 -1 将近 10 亿个字符三. SQL 数据操作语言1. 数据查询语句查询语句的基本结构SELECT -需要哪些列From -来自哪张表WHEREGROUPBY HAVINGORDERBY SELECT子句用于指定输出的字段;?FROM子句用于指定数据的来源;?WHERE子句用于指定数据的选择条件;?GROUP BY子句用于对检索到的记录进行分组;?HAVING子句用于指定组的选择条件;?ORDER BY子句用于对查询的结果进行排序;?以上子句中, SELECT子句和 FROM子句是必需的,其它是可选的。单表查询选择表中若干列( 1)查询指定的列SELECT列名FROM表名1例子:SELECT Sname,Sno FROM Student( 2)查询全部列SELECT*FROM表名1例子:SELECT * FROM Student( 3)查询经过计算的列SELECT列名FROM表名1例子:SELECT Sname,year(getdata() - year(Birthdate) FROM Student选择表中的若干元祖( 1)消除取值相同的行: DISTINCTSELECTDISTINCT Sno FROM表名1例子:SELECT DISTINCT Sno FROM Student( 2)查询满足条件的元祖查询条件谓 词比较=、 =、=、 、 、 != 、 ! 、 !确定范围BETWEENAND、 N OT BETWEENAND确定集合IN 、 NOT IN查询条件谓 词字符匹配LIKE 、 NOT LIKE空值IS NULL 、 IS NOT NULL多重条件(逻辑谓词)AND、 ORa. 比较大小 ?例子:SELECT Sname FROM Student WHERE year(getdata() - year(Birthdate) = 80 AND Grade = 90例子:SELECT Sno,Cno FROM SC WHERE Grade NOT BETWEEN 80 AND ?90此查询等价于: SELECT Sno,Cno FROM SC WHERE Grade 90c. 确定集合 ?IN 运算符的含义:当列中的值和集合中的 某个常量值相等时,结果为 True 。? NOT IN 运算符的含义:当列中的值和集合中的 全部常量值都不相等时,结果为True 。例子:SELECT Sno FROM Student WHERE Dept IN (信息管理系 ,计算机系 ) ?此查询等价于: SELECT Sno FROM Student WHERE Dept = 信息管理系 OR Dept = 计算机系 )例子:SELECT Sno FROM Student WHERE Dept NOT IN (信息管理系 ,计算机系 ) ?此查询等价于: SELECT Sno FROM Student WHERE Dept != 信息管理系 AND Dept != 计算机系 )d. 字符串匹配 ?Like 运算符用于查找指定列中与匹配串匹配的元祖。列名 NOTLIKE 通配符含义_(下划线)匹配任意一个字符
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号