




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库与程序设计数据库操作、创建数据库(page81 )【重点程序page84】创建数据库采用Create database语句,用来定义数据库名,确定数据库文件和数据库日志文件的 属性(名称、位置、大小、最大容量、增长特性等)。CREATE DATABASE 数据库名ON PRIMARY(NAME=文件名,FILENAME=*系统路径+文件名.ndf,SIZE=文件大小,MAXSlZE=文件的最大容量,FlLEGROWTH=每次增容时增加的容量大小)LOG ON(NAME=文件名,FlLENAMES系统路径+文件名ldf,SIZE=文件大小,MAXSIZE=文件的最大容量,FILEGROWT
2、H=每次增容时增加的容量大小)GO、修改数据库(pag85 )1 增加数据库文件ALTER DATABASE 数据库名ADD FlLE(NAME=文件名,FILENAME=*系统路径+文件名.ndf,SlZE=文件大小,MAXSlZE=文件的最大容量,FILEGROWTH=每次增容时增加的容量大小)GO2增加辅助日志文件ALTER DATABASE 数据库名ADD LOG FlLE(NAME=文件名,FILENAME=*系统路径+文件名df,SlZE=文件大小,MAXSIZE=文件的最大容量,FILEGROWTH=每次增容时增加的容量大小)GO3. 删除数据库文件ALTER DATABASE
3、数据库名 REMOVE FILE 文件名GO4 修改文件USE数据库名GOALTER DATABASE 数据库名MODIFY FlLE(修改的程序语言)三、重命名数据库(page89 )四、删除数据库(page89 )数据表基本操作【重点程序page94 】ALTER DATABASE数据库名MODlFY NAME=修改后的数据库名 或者 EXEC SP_renamedb*数据库名T修改后的数据库名一、创建数据表(page90 )1创建数据表USE数据库名GOCREATE TABLE 表名(列名+数据类型+是否空值+约束)2.查看结构EXEC SP_help表名二、修改数据表(page96 )
4、1. 修改表中某列USE数据库名GOALTER TABLE 表名ALTER COLUMN修改的内容2. 添加一列USE数据库名GOALTER TABLE 表名ADD添加的内容3.删除某一列USE数据库名GOALTER TABLE 表名DROP COLUMN 歹IJ名三、删除数据表(page98 )USE数据库名GODROP TABLE 表名数据表的基本操作、添加记录(page99 )【重点程序PagelOO 】1插入一条记录USE数据库名GOINSERT INTO 表名VALUES (插入的数值)2. 插入子查询的结果USE数据库GOINSERT INTO添加的位置SELECT选择的数据二=修
5、改记录(PagelO2 )USE数据库名GOUPDATE表名SET列名+用于取代相应属性的表达式值WHERE修改条件三删除记录(PagelO3 )USE数据库名GODELETE FROM表名WHERE指定删除条件数据库完整性的实现一、数据完整性(PagelO4 )数据完整性是指数据的正确性、有效性和相容性,目的是为了防止错误的数据进入数据库。1. 实体完整性,也称行完整性。要求表中的所有行有一个唯一的标识符,这种标识符一般称为主 键值。主键值能否被修改或表中的数据是否能够被全部删除都要依赖于主键表和其他表之间要求的完整 性。2. 参照完整性。参照完整性是保证参照表(外键所在的表)与被参照表(主
6、键所在的表)中数 据 的一致性。如果被参照表中的一行被一个外键参考,那么这一行数据便不能直接被删除,用户也不 能直接修改主键值。3域完整性,也称为列完整性。指定一个数据集对某一个列是否有效和确定是否允许空值。域完 整性通常是经过使用有效性检查来实现的,并且还可以通过限制数据的类型、格式或者可能取值范围 来实现。二、约束(PagelO5 )1. PRlMARY KE丫约束(PagelO6 )主键约束作为表的一个属性,可以唯一标识表中的记录。在输入数据时,主键列不能为空且不 能有重复值。每个表都应该有且只有一个主键。(1)建立 PRIMARY KEY 约束USE数据库名GOALTER TABLE
7、表名ADD CONSTRAlNT PK_ 歹IJ名 PRlMARYKEY (歹I名)(2)删除 PRIMARYKEY 约束USE数据库名GOALTER TABLE 表名DROP CONSTRAlNT PK_ 歹IJ名2. FOREIGN KEY 约束(PagelO7 )外键约束标识表之间的尖系,可以定义为一个列或多个列,这些列参照同一个表或另外的一个表 中的PRIMARYKEY约束或UNIQUE约束列。(1)建立 FoRElGN KEY 约束USE数据库名GOALTER TABLE 表名ADD CONSTRAlNT FK_ 表名列名FORElGN KEY (歹IJ名)REFERENCES (参
8、照的歹IJ名)(2)删除 FoRElGN KEY 约束USE数据库名GOALTER TABLE 表名DROP CONSTRAlNT FK_ 表名列名3. UNIQUE约束 唯一值约束规定表中某一列或多个列不能有相同的两行两行以上的数据存在。这种约 束用来强制实体完整性。(1) 建立UNlQUE约束USE数据库名GOALTER TABLE 表名ADD CONSTRAlNT IX_ 表名列名UNIQUE (歹IJ名)(2) 删除UNIQUE约束USE数据库名GOALTER TABLE 表名DROP CONSTRAlNT IX_ 表名列名4. CHECK约束条件约束通击旨定的逻辑表达式来限制列的取值
9、范围,只有当逻辑表达式为真时,才 满足列的取值要求。干约束用来加强域完整性。可以为每列指定多个CHECK约束。(1) 建立CHECK约束USE数据库名GOALTER TABLE 表名ADDCONSTRAlNTCK表名列名CHECK (约束条件)(2) 删除CHECK约束USE数据库名GOALTER TABLE 表名DROP CONSTRAlNT CK_ 表名列名三、默认(PageIl 2 )1.创建DEFAULT约束USE数据库名GOALTER TABLE 表名ADD CONSTRAlNT DF_ 表名列名DEFAULT默认值FOR列名2使用默认值USE数据库名GOCREATE DEFAULT
10、 DF_ 歹U名 AS 默认值3. 绑定默认值USE数据库名GOEXEC SP_bindefault *DF_ 列名T表名列名,4. 删除默认值USE数据库名GODROP DEFAULT DF_ 表名 _歹IJ名四、规则(PageIl4 )1创建规则并绑定到列USE数据库名GOCREATE RULE要创建的规则名称AS指定规则的条件GOSP binClrule*R_ 列名T表名歹IJ名2.删除规则USE数据库名GODROP RULE FL 歹U名索引一、索引的分类(Pagell 7 )1 按索引的顺序和表中记录的物理存储顺序是否相同。(1)聚集索引(2)非聚集索引2按索引值是否唯一(1) 唯一
11、索引(2) 非唯一索引二、创建索引(PagelI 7 )【重点程序Pagell 9】USE数据库名GOCREATE NIQUECLSTEREDNONCLUSTEREDINDEX IX_表名列名ON表名(列名)三、管理索引(Pagel 20 )1 查看索引USE数据库名GOEXEC SP_helpindex 表名2.重命名衆引USE数据库名GOEXEC SP_rename'表名X_表名_歹IJ名;'IX_表名列名Ti ndex,3. 删除索引USE数据库名GODROP INDEX表名X_表名列名数据管理、基本查询(Pagel 27 )【重点程序Pagel 28】各参数说明如下:A
12、LL :返回结果集中的所有行,是系统默认值。DlSTINCT :指明结果集中如果有值相同的行,则指显示其中的一行。TOP<n> :指明仅返回结果集中的前n行。PERCENTVr)>:指明仅返回结果集中的前百分之n行。1. 查询指定的数据列(1)查询全部列USE数据库名GOSELECT * FROM 表名(2 )查询指定的列USE数据库名GOSELECT列名,列名FRoM表名(3)消除取值重复的行USE数据库名GOSELECT DlSTlNCT 歹IJ名 FROM 表名2. 改变列标题USE数据库名GOSELECT ,列标题L列名,列名AS列标题FRoM表名3. 数据运算USE
13、数据库名GOSELECT列名V运算符> AS歹J标题FROM表名、条件查询(Pagel 30 )查询条件谓词比较=,>5<5>=5<=J=,<>J>J<确定范围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 歹IJ名NOT BETWEEN 数值
14、AND 数值(3 )限定集合USE数据库名GOSELECT列名FROM表名WHERE列名NOT IN (集合条件)(4 )字符匹配USE数据库名GOSELECT列名FROM表名WHERE 列名NOT LIKE ,< 匹配串 F(5)空值USE数据库名GOSELECT列名FROM表名WHERE 歹IJ名 IS NOT NULL(6 )多重条件USE数据库名GOSELECT列名FRoM表名WHERE 条件ANDORNOT条件 三、排序(Pagel 34 )1查询结果排序USE数据库名GOSELECT列名FRoM表名WHERE条件ORDER BY 歹IJ名,歹IJ名ASCDESC2. 选取查询
15、结果的前几行数据USE数据库名GOSELECT TOPVn> 列名 FRoM 表名WHERE条件ORDER BY 歹IJ名,歹IJ名ASCDESC四、查询输出(Pagel 35)1. 存储到基本表中USE数据库名GOSELECT列名INTO基本表FRoM表名WHERE条件2. 存储到临时表中USE数据库名GOSELECT列名INTO #临时表FROM表名WHERE条件五、聚合查询(Pagel 36 )1.SELECT子句中的聚合在SELECT子句中可以使用聚合函数进行运算,运算结果作为新列出现在结果集中。在聚合运算的表 达式中可以包括列名、常量以及由算式运算符连接起来的函数。函数功能CO
16、UNT(DISTINCTALL*)统计记录个数COUNT(DISTINCTALL< 歹IJ名 >)统计一列中值的个数SUM(DISTINCTALL< 列名 >)计算一列值的总和(此列必须是数值型)AVG(DISTINCTALL< 列名 >)计算一列值的平均值(此列必须是数值型)MAX(DISTINCTALL< 列名 >)求一列值中的最大值MIN(DISTINCTALL< 列名 >)求一列值中的最小值USE数据库名GOSELEeT函数(列名)AS,列标题,FR0 M表名2. COMPUTE子句中的集合在SELECT子句中出现聚合函数时,
17、结果集中的数据全是聚合值,没有明细值。COMPUTE子句 不仅可以使用聚合函数计算聚合值,而且可以依然保持原有的明细值;新的聚合值作为附加的汇总列 出现在结果集的最后。需要注意的是,COMPUTE子句中不允许使用DlSTINCT尖键字。六、分组查询(Pagel38 )GROUP BY子句对查询结果按照一定条件进行分组,分组子句通常与SQL Server提供的聚 合函 数一起使用。对查询结果分组的目的是为了细化聚合函数的作用对象,如果未对查询结果分组,则聚 合函数将作用于整个查询结果,分组后聚合函数将作用于每一个组,每一个组都有一个函数值。 SELECT语句后的输出列只能是聚合函数和分组列。13
18、/171 使用GROUP B丫子句SELECT歹IJ名FRoM表名GROUP BY 歹IJ名2使用WITH选项(1 )使用CUBE操作符SELECT歹IJ名FRoM表名GROUP BY 歹U名 WITH CUBE(2)使用ROLLUP操作符 SELECT歹IJ名FRoM表名GROUP BY 歹IJ名 WITH ROLLUP3使用HAVlNG子句SELECT歹U名FROM表名GROUP BY 歹U名HAVING子句指定筛选条件七、连接查询(Pagel40 )一个查询同时涉及两个或者两个以上的表,并且每一个表中的数据往往作为一个单独的列出现在 结果中,则需要用到连接查询。连接查询操作类型: INN
19、ER :内连接,指定返回两个表中所有匹配的行,此项是默认值。 LEFTOUTER:左外连接,返回连接查询左边的表中的相应记录,在右表中对应于左表中无记 录的部分用NULL表示。 RlGHTOUTER:右外连接,返回连接查询两个表中所有的相应记录,在左表中对应于右 表中无 记录的部分用NULL表示。 FULLOUTER:完全外联结,返回连接查询两个表中所有的相应记录,对应于无记录的部分用 NULL表示。 JOIN :指示制定的连接操作应在制定的表源或视图之间执行。1. 交叉连接(1) 用谓词表示交叉连接SELECT表名列名,表名列名FRoM表名,表名(2) 用JoIN尖键字表示交叉连接SELEC
20、T表名列名,表名列名FROM表名CROSS JOlN表名2. 内连接14/ 用谓词表示等值连接SELECT表名列名,表名列名FROM表名,表名WHERE表名列名=表名列名 用JOIN尖键字表示等值连接SELECT表名列名,表名列名FROM表名INNERJOlN表名ON表名列名=表名列名3.外连接 左外连接SELECT表名列名,表名列名FROM表名LEFT OUTER JOIN表名ON表名列名=表名列名 WHERE条件 右外连接SELECT表名列名,表名列名FRoM表名RlGHToUTERJOIN表名ON表名列名=表名列名 WHERE条件八、嵌套查询(Pagel 45 )1. 单值嵌套查询 子查
21、询的返回结果是一个值的嵌套查询称为单值嵌套查询。当能确切知道子查询返回 的是单值时,可以用,v,=,=,v=,!=,v 等比较运算符将一个表达式的值与子查询返回的值进行比较运 算。SELECT列名,列名FRoM表名WHERE列名-查询名称 2ND列名比较运算符(SELECT函数(列名)FROM表名WHERE 列名-查询名称)2. 多值嵌套查询子查询的返回结果是一列值的嵌套查询。使用NOTIN运算符SELECT列名,列名,列名FROM表名WHERE 歹IJ名 NOTIN (SELECT 歹IJ名 FRoM 表名 WHERE 条件)(2)利用谓词ANY或ALLSELECT列名,列名,列名FROM表
22、名WHERE歹IJ名比较运算符ALLANY (SELECT列名FROM表名 WHERE条件)3使用谓词EXISTS的子查询SELECT歹IJ名FROM表名WHERE EXlSTS (SELECT 歹IJ名 FROM 表名 WHERE 条件)九、组合查询(PageI 48 )两个查询语句之间可以进行集合运算。其中UNION运算符表示并集运算,EXCEPT运算符表 示差运算,INTERSECT表示交运算。1.并运算(UNIONALL用来将多个查询结果集合并起来,如果不加ALL,系统自动去掉重复的记 录,加上ALL系统会自动保留全部记录。)SELECT列名,列名FRoM表名 WHERE条件11 /1
23、7UNIONSELECT列名,列名FRoM表名 WHERE条件2. 差运算(从左查询中返回右查询中没有找到的非重复值)SELECT列名,列名FRc)M表名WHERE 条件EXCEPTSELECT列名,列名FRoM表名 WHERE条件3. 交运算(返回左右两个查询语句都包含的所有非重复值)SELECT 歹IJ名,歹IJ名 FROM 表名 WHERE 条件 INTERSECT SELECT列名,列名FRoM表名 WHERE条件视图及其应用一、视图的概述(Pagel 50 )1视图的含义视图一经定义之后,就可以像基本表一样被查询、添加、修改和删除。当对通过视图看到的数 据进行添加、修改和删除时,相应
24、的基本表中的数据也会发生变化;同时,当基本表的数据变化时, 也会自动反映到视图之中。2 使用视图的优点数据保密简化用户权限的管理 集中用户使用的数据 简化查询操作 保证数据的逻辑独 立性二、创建视图(pag151 )【重点程序Pagel 54】USE数据库名GOCREATE VlEW VW_视图名称(列标题,列标题,列标题)ASSELECT列名,列名,列名FROM表名WHERE条件GO三、维护视图(Pagel 54 )【重点程序Pagel 55】1查看视图信息 USE数据库名GOEXEC SP_helptext VW_ 视图名称GO2修改视图的定义ALTER VIEW VW_视图名称ASSEL
25、ECT列名AS列标题,列名AS列标题,列名AS列标题FRoM表名WHERE条件3. 视图的重命名USE数据库名GOEXEC SP_rename VW_视图名称,VW_修改后的视图名称4. 视图的血除USE数据库名GODROP VIEW VW_视图名称四、视图数据操作(Pagel 57 )1 查询视图数据SELECT 歹IJ名FROM VW_视图名称WHERE2更新视图数据 插入数据USE数据库名GOINSERT INTO VW_ 视图名称VALES(t数据值T数据值T数据值T数据值') 修改数据UES数据库名GOUPDATE VW_视图名称SET修改的语句WHERE条件 删除数据USE
26、数据库名GODELETE FROM VW_ 视图名称WHERE条件存储过程、创建存储过程(pag163 )【重点程序Pagel 65】1 不适用参数,创建存储过程USE数据库名GOCREATE RROC存储过程名称ASSELECT表名列名,表名列名,表名列名FROM表名,表名,表名WHERE条件GO2执行存储过程USE数据库名GOEXEC存储过程名称GO3 使用参数,创建存储过程USE数据库名GOCREATE PROC存储过程名称(变量数据类型,变量数据类型)ASSELECT表名列名,表名列名,表名列名FROM表名,表名,表名WHERE含有变量的条件GO4. 执行含有参数的存储过程USE数据库名GOEXEC存储过程名称变量值T变量值5使用默认参数,建立存储过程USE数据库名GOCREATE RROC存储过程名称(变量数据类型='变量值;变量数据类型-变量值')AS SELECT表名列名,表名列名,表名列名FROM表名,表名,表名WHERE含有变量的条件GO6.执行使用默认参数的存储过程USE数据库名GOEXEC存储过程名称GO7使用返回参数【重点程序Pagel 67】二、存储过程管理(Pagel 68 )1 查看存储过程的源代码USE数据库名GOEXEC SP_helptext存储过程名称GO2修改存储过程USE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转让机械合同协议书
- 订单合同赔偿协议书
- 2人合作合同协议书
- 解除资金监管协议书
- 项目人员交接协议书
- 银行产品收费协议书
- 酒水个体清退协议书
- 邮政公司合作协议书
- 食品供货保障协议书
- 转让杉木合同协议书
- 安徽省合肥一中2025届高三5月回归教材读本
- 2023年浙江省高职单招数学考试题库及答案解析
- 0-6岁儿童发育行为评估表
- LY/T 3292-2021自然保护地生态旅游规范
- GB/T 24915-2010合同能源管理技术通则
- JGJT 223-2010 预拌砂浆应用技术规程
- 电力电缆基础知识专题培训课件
- 三级动火作业许可证
- 施工组织设计实训任务书
- 贪污贿赂犯罪PPT(培训)(PPT168页)课件
- 【医学课件】生物大分子(蛋白质、核酸和酶)的结构与功能
评论
0/150
提交评论