



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、。数据库与程序设计数据库操作一、创建数据库(page81)【重点程序page84】创建数据库采用 create database 语句,用来定义数据库名,确定数据库文件和数据库日志文件的属性(名称、位置、大小、最大容量、增长特性等) 。CREATE DATABASE数据库名ON PRIMARY(NAME=文件名 ,FILENAME='系统路径 +文件名 .ndf',SIZE=文件大小 ,MAXSIZE=文件的最大容量 ,FILEGROWTH=每次增容时增加的容量大小)LOG ON(NAME=文件名 ,FILENAME='系统路径 +文件名 .ldf',SIZE=
2、文件大小 ,MAXSIZE=文件的最大容量 ,FILEGROWTH=每次增容时增加的容量大小)GO二、修改数据库(page85)1. 增加数据库文件ALTER DATABASE数据库名ADD FILE(NAME=文件名,FILENAME='系统路径 +文件名 .ndf',SIZE=文件大小 ,MAXSIZE=文件的最大容量 ,FILEGROWTH=每次增容时增加的容量大小)GO2. 增加辅助日志文件ALTER DATABASE数据库名ADD LOG FILE(NAME=文件名,FILENAME='系统路径 +文件名 .ldf',SIZE=文件大小 ,MAXSIZ
3、E=文件的最大容量 ,FILEGROWTH=每次增容时增加的容量大小)。1。GO3. 删除数据库文件ALTER DATABASE数据库名REMOVE FILE文件名GO4. 修改文件 USE 数据库名GOALTER DATABASE数据库名MODIFY FILE( 修改的程序语言 )三、重命名数据库(page89)ALTER DATABASE数据库名MODIFY NAME=修改后的数据库名或者EXEC sp_renamedb'数据库名 ','修改后的数据库名 '四、删除数据库(page89)数据表基本操作一、创建数据表(page90)【重点程序page94】1.
4、 创建数据表 USE 数据库名GOCREATE TABLE表名( 列名 +数据类型 +是否空值 +约束 )2. 查看结构EXEC sp_help 表名二、修改数据表(page96)1. 修改表中某列 USE 数据库名GOALTER TABLE表名ALTER COLUMN修改的内容2. 添加一列USE 数据库名GO。2。ALTER TABLE表名ADD添加的内容3. 删除某一列 USE 数据库名GOALTER TABLE表名DROP COLUMN列名三、删除数据表(page98)USE 数据库名GODROP TABLE表名数据表的基本操作一、添加记录(page99)【重点程序page100】1.
5、 插入一条记录 USE 数据库名GOINSERT INTO 表名VALUES(插入的数值)2. 插入子查询的结果USE 数据库GOINSERT INTO 添加的位置SELECT选择的数据二、修改记录(page102 )USE 数据库名GOUPDATE表名SET列名 +用于取代相应属性的表达式值WHERE 修改条件三、删除记录(page103 )USE 数据库名GODELETE FROM表名WHERE 指定删除条件。3。数据库完整性的实现一、数据完整性(page104)数据完整性是指数据的正确性、有效性和相容性,目的是为了防止错误的数据进入数据库。1. 实体完整性, 也称行完整性。 要求表中的所
6、有行有一个唯一的标识符, 这种标识符一般称为主键值。主键值能否被修改或表中的数据是否能够被全部删除都要依赖于主键表和其他表之间要求的完整性。2. 参照完整性。参照完整性是保证参照表(外键所在的表)与被参照表(主键所在的表)中数据的一致性。 如果被参照表中的一行被一个外键参考, 那么这一行数据便不能直接被删除, 用户也不能直接修改主键值。3. 域完整性,也称为列完整性。 指定一个数据集对某一个列是否有效和确定是否允许空值。 域完整性通常是经过使用有效性检查来实现的, 并且还可以通过限制数据的类型、 格式或者可能取值范围来实现。二、约束( page105)1.PRIMARY KEY约束( page
7、106)主键约束作为表的一个属性, 可以唯一标识表中的记录。 在输入数据时, 主键列不能为空且不能有重复值。每个表都应该有且只有一个主键。(1)建立 PRIMARY KEY约束USE 数据库名GOALTER TABLE表名ADD CONSTRAINT PK_列名 PRIMARY KEY(列名 )(2)删除 PRIMARY KEY约束USE 数据库名GOALTER TABLE表名DROP CONSTRAINT PK列名2.FOREIGN KEY约束( page107)外键约束标识表之间的关系, 可以定义为一个列或多个列, 这些列参照同一个表或另外的一个表中的 PRIMARY KEY约束或 UNI
8、QUE约束列。(1)建立 FOREIGN KEY约束USE 数据库名GOALTER TABLE表名ADD CONSTRAINT FK表_名 _列名FOREIGN KEY(列名 ) REFERENCES(参照的列名)(2)删除 FOREIGN KEY约束USE 数据库名GOALTER TABLE表名DROP CONSTRAINT FK表名 _列名。4。3.UNIQUE约束唯一值约束规定表中某一列或多个列不能有相同的两行两行以上的数据存在。 这种约束用来强制实体完整性。(1)建立 UNIQUE约束USE 数据库名GOALTER TABLE表名ADD CONSTRAINT IX表名 _列名UNIQU
9、E(列名 )(2)删除 UNIQUE约束USE 数据库名GOALTER TABLE表名DROP CONSTRAINT IX表_名 _列名4.CHECK约束条件约束通过指定的逻辑表达式来限制列的取值范围,只有当逻辑表达式为真时, 才满足列的取值要求。干约束用来加强域完整性。可以为每列指定多个CHECK约束。(1)建立 CHECK约束USE 数据库名GOALTER TABLE表名ADD CONSTRAINT CK表名 _列名 CHECK(约束条件 )(2)删除 CHECK约束USE 数据库名GOALTER TABLE表名DROP CONSTRAINT CK表名 _列名三、默认( page112)1
10、. 创建 DEFAULT约束USE 数据库名GOALTER TABLE表名ADD CONSTRAINT DF表_名 _列名DEFAULT默认值 FOR 列名2. 使用默认值USE 数据库名GOCREATE DEFAULT DF列_名 AS 默认值3. 绑定默认值 USE 数据库名GOEXEC sp_bindefault 'DF_ 列名 ',' 表名 . 列名 '4. 删除默认值USE 数据库名。5。GODROP DEFAULT DF表_名 _列名四、规则( page114)1. 创建规则并绑定到列 USE 数据库名GOCREATE RULE要创建的规则名称 AS
11、 指定规则的条件GOsp_bindrule'R_列名 ','表名 . 列名 '2. 删除规则 USE 数据库名GODROP RULE R列名索引一、索引的分类(page117)1. 按索引的顺序和表中记录的物理存储顺序是否相同。(1)聚集索引(2)非聚集索引2. 按索引值是否唯一(1)唯一索引(2)非唯一索引二、创建索引(page117 )【重点程序page119】USE 数据库名GOCREATE UNIQUECLUSTEREDNONCLUSTERED INDEX IX_表名 _列名ON表名( 列名 )三、管理索引(page120 )1. 查看索引 USE 数据
12、库名GOEXEC sp_helpindex 表名2. 重命名索引USE 数据库名。6。GOEXEC sp_rename'表名 .IX_ 表名 _列名 ','IX_表名 _列名 ','index'3. 删除索引 USE 数据库名GODROP INDEX表名 .IX_ 表名 _列名数据管理一、基本查询(page127 )【重点程序page128】各参数说明如下:ALL:返回结果集中的所有行,是系统默认值。DISTINCT:指明结果集中如果有值相同的行,则指显示其中的一行。TOP<n>:指明仅返回结果集中的前n 行。PERCENT<n
13、>:指明仅返回结果集中的前百分之n 行。1. 查询指定的数据列(1)查询全部列USE 数据库名GOSELECT * FROM表名(2)查询指定的列USE 数据库名GOSELECT列名 , 列名 FROM表名(3)消除取值重复的行USE 数据库名GOSELECT DISTINCT列名 FROM表名2. 改变列标题 USE 数据库名GOSELECT '列标题 '= 列名,列名 AS 列标题 FROM表名3. 数据运算USE 数据库名GOSELECT列名 < 运算符 > AS ' 列标题 'FROM表名二、条件查询(page130 )查询条件谓词比较
14、=,>,<,>=,<=,!=,<>,!>,!<。7。确定范围BETWEEN AND, NOT BETWEEN AND确定集合IN, NOT IN字符匹配LIKE, NOT LIKE空值IS NULL, IS NOT NULL多重条件AND, OR, NOT(1)比较大小USE 数据库名GOSELECT列名 FROM表名WHERE条件范围(2)限定范围USE 数据库名GOSELECT列名 FROM表名WHERE列名 NOT BETWEEN数值 AND 数值(3)限定集合USE 数据库名GOSELECT列名 FROM表名WHERE列名 NOT IN
15、(集合条件 )(4)字符匹配USE 数据库名GOSELECT列名 FROM表名WHERE列名 NOT LIKE '<匹配串 >'(5)空值USE 数据库名GOSELECT列名 FROM表名WHERE列名 IS NOT NULL(6)多重条件USE 数据库名GOSELECT列名 FROM表名WHERE条件 ANDORNOT条件三、排序( page134)1. 查询结果排序 USE 数据库名GOSELECT列名 FROM表名WHERE条件ORDER BY列名 , 列名 ASCDESC2. 选取查询结果的前几行数据 USE 数据库名。8。GOSELECT TOP<n
16、>列名 FROM表名WHERE条件ORDER BY列名 , 列名 ASCDESC四、查询输出(page135 )1. 存储到基本表中 USE 数据库名GOSELECT列名 INTO 基本表 FROM表名WHERE条件2. 存储到临时表中 USE 数据库名GOSELECT列名 INTO # 临时表 FROM表名WHERE条件五、聚合查询(page136 )1.SELECT子句中的聚合在 SELECT子句中可以使用聚合函数进行运算,运算结果作为新列出现在结果集中。在聚合运算的表达式中可以包括列名、常量以及由算式运算符连接起来的函数。函数功能COUNT(DISTINCT|ALL*)统计记录个数
17、COUNT(DISTINCT|ALL<列名 >)统计一列中值的个数SUM(DISTINCT|ALL<列名 >)计算一列值的总和(此列必须是数值型)AVG(DISTINCT|ALL<列名 >)计算一列值的平均值(此列必须是数值型)MAX(DISTINCT|ALL<列名 >)求一列值中的最大值MIN(DISTINCT|ALL< 列名 >)求一列值中的最小值USE 数据库名GOSELECT函数 ( 列名 ) AS '列标题 ' FROM 表名2.COMPUTE子句中的集合在 SELECT子句中出现聚合函数时,结果集中的数据全
18、是聚合值,没有明细值。 COMPUTE子句不仅可以使用聚合函数计算聚合值, 而且可以依然保持原有的明细值; 新的聚合值作为附加的汇总列出现在结果集的最后。需要注意的是, COMPUTE子句中不允许使用 DISTINCT关键字。六、分组查询(page138 )GROUP BY子句对查询结果按照一定条件进行分组,分组子句通常与SQL Server 提供的聚合函数一起使用。 对查询结果分组的目的是为了细化聚合函数的作用对象,如果未对查询结果分组, 则聚合函数将作用于整个查询结果,分组后聚合函数将作用于每一个组,每一个组都有一个函数值。SELECT语句后的输出列只能是聚合函数和分组列。9。1. 使用
19、GROUP BY子句SELECT列名 FROM表名 GROUP BY列名2. 使用 WITH选项(1)使用 CUBE操作符SELECT列名 FROM表名GROUP BY列名 WITH CUBE(2)使用 ROLLUP操作符SELECT列名 FROM表名GROUP BY列名 WITH ROLLUP3. 使用 HAVING子句SELECT列名 FROM表名 GROUP BY列名HAVING子句指定筛选条件七、连接查询(page140 )一个查询同时涉及两个或者两个以上的表, 并且每一个表中的数据往往作为一个单独的列出现在结果中,则需要用到连接查询。连接查询操作类型:INNER:内连接,指定返回两个
20、表中所有匹配的行,此项是默认值。LEFTOUTER:左外连接,返回连接查询左边的表中的相应记录,在右表中对应于左表中无记录的部分用 NULL表示。RIGHTOUTER:右外连接,返回连接查询两个表中所有的相应记录, 在左表中对应于右表中无记录的部分用 NULL表示。FULLOUTER:完全外联结,返回连接查询两个表中所有的相应记录,对应于无记录的部分用 NULL表示。JOIN:指示制定的连接操作应在制定的表源或视图之间执行。1. 交叉连接(1)用谓词表示交叉连接SELECT表名 . 列名,表名 . 列名 FROM表名,表名(2)用 JOIN 关键字表示交叉连接SELECT表名 . 列名,表名
21、. 列名 FROM表名 CROSS JOIN 表名2. 内连接用谓词表示等值连接SELECT表名 . 列名,表名 . 列名 FROM表名,表名WHERE表名 . 列名 =表名 . 列名用 JOIN 关键字表示等值连接SELECT表名 . 列名,表名 . 列名FROM表名 INNER JOIN 表名 ON 表名 . 列名 =表名 . 列名3. 外连接左外连接SELECT表名 . 列名,表名 . 列名FROM表名 LEFT OUTER JOIN 表名 ON 表名 . 列名 =表名 . 列名WHERE条件右外连接。10。SELECT表名 . 列名,表名 . 列名FROM表名 RIGHT OUTER
22、JOIN表名 ON 表名 . 列名 =表名 . 列名WHERE条件八、嵌套查询(page145 )1. 单值嵌套查询子查询的返回结果是一个值的嵌套查询称为单值嵌套查询。 当能确切知道子查询返回的是单值时,可以用 >,<,=,>=,<=,!=,<> 等比较运算符将一个表达式的值与子查询返回的值进行比较运算。SELECT列名,列名 FROM表名WHERE列名 =' 查询名称 ' AND 列名 比较运算符 ( SELECT函数(列名) FROM表名 WHERE列名 =' 查询名称 ' )2. 多值嵌套查询子查询的返回结果是一列值的嵌
23、套查询。(1)使用 NOTIN 运算符SELECT列名,列名,列名FROM表名WHERE列名 NOT IN(SELECT 列名 FROM表名 WHERE条件 )(2)利用谓词 ANY或 ALLSELECT列名,列名,列名FROM表名WHERE列名 比较运算符 ALL/ANY(SELECT 列名 FROM表名 WHERE条件)3. 使用谓词 EXISTS的子查询SELECT列名 FROM表名WHERE EXISTS (SELECT列名 FROM表名 WHERE条件)九、组合查询(page148 )两个查询语句之间可以进行集合运算。其中 UNION运算符表示并集运算, EXCEPT运算符表示差运算
24、, INTERSECT表示交运算。1. 并运算(UNIONALL用来将多个查询结果集合并起来, 如果不加 ALL,系统自动去掉重复的记录,加上 ALL 系统会自动保留全部记录。 )SELECT列名,列名 FROM表名 WHERE条件UNIONSELECT列名,列名 FROM表名 WHERE条件2. 差运算(从左查询中返回右查询中没有找到的非重复值)SELECT列名,列名 FROM表名 WHERE条件EXCEPTSELECT列名,列名 FROM表名 WHERE条件3. 交运算(返回左右两个查询语句都包含的所有非重复值)SELECT列名,列名 FROM表名 WHERE条件INTERSECTSELE
25、CT列名,列名 FROM表名 WHERE条件。11。视图及其应用一、视图的概述(page150)1. 视图的含义视图一经定义之后, 就可以像基本表一样被查询、添加、修改和删除。 当对通过视图看到的数据进行添加、修改和删除时, 相应的基本表中的数据也会发生变化; 同时,当基本表的数据变化时,也会自动反映到视图之中。2. 使用视图的优点数据保密简化用户权限的管理集中用户使用的数据简化查询操作保证数据的逻辑独立性二、创建视图(page151 )【重点程序page154】USE 数据库名GOCREATE VIEW VW视_图名称(列标题,列标题,列标题)ASSELECT列名,列名,列名FROM表名WH
26、ERE条件GO三、维护视图(page154 )【重点程序page155】1. 查看视图信息 USE 数据库名GOEXEC sp_helptext VW_ 视图名称GO2. 修改视图的定义ALTER VIEW VW视图名称ASSELECT列名 AS 列标题,列名 AS 列标题,列名 AS 列标题FROM表名WHERE条件3. 视图的重命名 USE 数据库名GOEXEC sp_rename VW视图名称, VW修改后的视图名称4. 视图的删除。12。USE 数据库名GODROP VIEW VW视_图名称四、视图数据操作(page157)1. 查询视图数据SELECT列名 FROM VW视图名称WH
27、ERE条件2. 更新视图数据插入数据 USE 数据库名GOINSERT INTO VW视图名称VALUES('数据值 ',' 数据值 ',' 数据值 ',' 数据值 ')修改数据 UES 数据库名GOUPDATE VW视图名称SET 修改的语句WHERE条件删除数据USE 数据库名GODELETE FROM VW视图名称WHERE条件存储过程一、创建存储过程(page163)【重点程序page165】1. 不适用参数,创建存储过程 USE 数据库名GOCREATE RROC存储过程名称ASSELECT表名 . 列名,表名 . 列名
28、,表名 . 列名FROM表名,表名,表名WHERE条件GO2. 执行存储过程 USE 数据库名GO。13。EXEC存储过程名称GO3. 使用参数,创建存储过程 USE 数据库名GOCREATE PROC存储过程名称 (变量 数据类型, 变量 数据类型 )ASSELECT表名 . 列名,表名 . 列名,表名 . 列名FROM表名,表名,表名WHERE含有变量的条件GO4. 执行含有参数的存储过程USE 数据库名GOEXEC存储过程名称 ' 变量值 ','变量值 '5. 使用默认参数,建立存储过程 USE 数据库名GOCREATE RROC存储过程名称 (变量 数据类型 =' 变量值 ', 变量 数据类型 =' 变量值 ')ASSELECT表名 . 列名,表名 . 列名,表名 . 列名FROM表名,表名,表名WHERE含有变量的条件GO6. 执行使用默认参数的存储过程USE 数据库名GOEXEC存储过程名称GO7. 使用返回参数【重点程序 page167】二、存储过程管理(page168)1. 查看存储过程的源代码 USE 数据库名GOEXEC sp_helptext存储过程名称GO2. 修改存储过程 USE 数据库名GOALTER PROC存储过程名称ASSELECT表名 . 列名,表名 . 列名,表名 . 列名FRO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育中心维保合同协议
- 申通协议合同
- 独栋写字楼出租合同协议
- 没有公章如何写合同协议
- 药品合同销售协议
- 佛山市物业服务协议合同
- 购货协议合同范文
- 合同差额抵账协议
- 就业协议不是合同
- 房屋中介终止合同协议
- 第9课《美丽的颜色》说课稿 2024-2025学年统编版语文八年级上册
- 人工智能训练师(中级)职业技能鉴定参考题库-上(单选题)
- DB11∕T 864-2020 园林绿化种植土壤技术要求
- 断绝父子关系协议书
- 西方现代思想讲义
- 第-71-讲-原子分数坐标和晶胞投影问题(课件)
- 表面技术概论化学转化膜
- 2024年水泵维修合同模板
- 各行业安全风险分级管控清单
- T-CPA 006-2024 造纸用湿强剂 聚酰胺环氧氯丙烷PAE
- 医疗手术室物品清点课件
评论
0/150
提交评论