SQL Server 2005中XML操作函数详解

SQL Server 2005中XML操作函数详解
SQL Server 2005中XML操作函数详解

SQL Server 2005中XML操作函数详解

首先要明确一个基本原则,XML类型的数据之间以及XML类型与其它数据类型之间都是不能比较的,也就是说XML类型的数据不能出现在等号的任何一边。

大致可分为查询类,修改类和跨域查询类。

查询类包含query(),value(),exist()和nodes().

修改类包含modify().

跨域查询类包含sql:variable()和sql:column().

查询类

1. query()方法:返回满足条件的所有XML行。只能用于SELECT子句当中。

2. value()方法:返回从XML节点中提取的标量值。必须在value()方法的第二个参数中指定所返回的标量的数据类型,所以value()方法可以与其它标量进行比较。可用于SELECT子句和WHERE子句。

3. exist()方法:返回int型标量的0或者1。对每行的XML数据类型进行存在性检查。可用于SELECT 子句和WHERE子句。

4. nodes()方法:返回只有一个栏位的table,且该table的栏位是XML数据类型。所以nodes()方法只能出现在FROM子句中。

示例:

1.query()

2.value()

3.exist()

4.nodes()

修改类

modify()方法:允许修改XML实例的某些部分,例如添加或删除子树,或者更新标量值(如将书的价格从9.99替换为39.99)。

无返回值,只能用于SET子句中。

--在指定位置添加子树('insert...after...')

--更改指定节点中的标量值('replace...with...')

跨域查询类

如果数据驻留在关系数据类型的列和XML数据类型的列的组合中,就可能需要编写查询来组合关系数据处理和XML数据处理(组合的对象还可以是标量数据类型的SQL变量和XML数据),这样的查询就叫跨域查询。

sql:variable()方法:可以在XQuery或XML DML表达式中应用SQL变量的值。

sql:variable()

sql:column()方法:可以在XQuery或XML DML表达式中使用来自关系列的值。

SQLServer的简介及发展历程

S Q L S e r v e r的简介及发展历程SQL简介 SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM 语言作为查询语言。 织,负责开发美国的商务和通讯标准。ANSI同时也是ISO和InternationalElectrotechnicalCommission(IEC)的 ANSI随之发布的相应标准是ANSISQL-92。ANSISQL-92有时被称为ANSISQL。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循ANSISQL标准。SQLServer使用ANSISQL-92的扩展集,称为T-SQL,其遵循ANSI 制定的SQL-92标准。 SQL发展历史 1970:E.J.Codd发表了关系数据库理论(relationaldatabasetheory); 1974-79:IBM以Codd的理论为基础开发了“Sequel”,并重命名为"SQL"; 1979:Oracle发布了商业版SQL 1981-84:出现了其他商业版本,分别来自IBM(DB2),DataGeneral(DG/SQL),RelationalTechnology(INGRES); SQL/86:ANSI跟ISO的第一个标准; SQL/89:增加了引用完整性(referentialintegrity); SQL/92(akaSQL2):被数据库管理系统(DBMS)生产商广发接受; 包括oids; SQL/2003:包含了XML相关内容,自动生成列值(columnvalues); 2005-09-30:“Dataisthenextgenerationinside...SQListhenewHTML”!TimO'eilly提出了Web2.0理念,称数据将是核心,SQL将成为“新的HTML"; SQL/2006:定义了SQL与XML(包含XQuery)的关联应用; 2006:Sun公司将以SQL基础的数据库管理系统嵌入JavaV6 2007:SQLServer2008(Katmi)在过去的SQL2005基础上增强了它的安全性,主要在:简单的数据加密,外键管理,增强了审查,改进了数据库镜像,加强了可支持性。 SQLServer的基本信息 SQLServer是一个关系数据库管理系统。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UNIX?操作系统上的应用。数据库引擎是SQLServer系统的核心服务,负责完成数据的存储、处理和安全管理。

sqlserver2005分割字符串,循环输出示例

create function f_splitstr(@source varchar(500),@split varchar(5)) returns @temp table(tid varchar(50)) as begin declare @ch as varchar(50) set @source=@source+@split while(@source<>'') begin set @ch=left(@source,charindex(',',@source,1)-1) insert @temp values(@ch) set @source=stuff(@source,1,charindex(',',@source,1),'') end return end --select tid from dbo.f_splitstr('xxxxxxx,ttttt,yyyyyy,ererer',',') --select getdate() declare @i int,@countNum int, @para varchar(50) declare tid_cursor CURSOR for select tid from dbo.f_splitstr('xxxxxxx,ttttt,yyyyyy,ererer',',') open tid_cursor FETCH NEXT FROM tid_cursor into @para WHILE@@FETCH_STATUS= 0 BEGIN print @para FETCH NEXT FROM tid_cursor into @para END; CLOSE tid_cursor DEALLOCATE tid_cursor GO

索引的创建原则

索引的创建原则 索引就是给出表中数据排列顺序的依据。 建立索引的目的是加快对表中记录的查找或排序。 为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间。 基于合理的数据库设计,经过深思熟虑后为表建立索引,是获得高性能数据库系统的基础。而未经合理分析便添加索引,则会降低系统的总体性能。索引虽然说提高了数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。 是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题的一个比较好的方法,就是分析应用程序的业务处理、数据使用,为经常被用作查询条件、或者被要求排序的字段建立索引。基于优化器对SQL语句的优化处理,我们在创建索引时可以遵循下面的一般性原则:(1)为经常出现在关键字order by、group by、distinct后面的字段,建立索引。 在这些字段上建立索引,可以有效地避免排序操作。如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用。 (2)在union等集合操作的结果集字段上,建立索引。其建立索引的目的同上。 (3)为经常用作查询选择的字段,建立索引。 (4)在经常用作表连接的属性上,建立索引。 (5)考虑使用索引覆盖。对数据很少被更新的表,如果用户经常只查询其中的几个字段,可以考虑在这几个字段上建立索引,从而将表的扫描改变为索引的扫描。 除了以上原则,在创建索引时,我们还应当注意以下的限制: (1)限制表上的索引数目。 对一个存在大量更新操作的表,所建索引的数目一般不要超过3个,最多不要超过5个。索引虽说提高了访问速度,但太多索引会影响数据的更新操作。 (2)不要在有大量相同取值的字段上,建立索引。 在这样的字段(例如:性别)上建立索引,字段作为选择条件时将返回大量满足条件的记录,优化器不会使用该索引作为访问路径。 (3)避免在取值朝一个方向增长的字段(例如:日期类型的字段)上,建立索引;对复合索引,避免将这种类型的字段放置在最前面。

Access表中各种属性的设置分析

ACCESS数据表中各个属性的含义、设置方法: 格式: Format 属性:可以使用Format属性自定义数字、日期、时间和文本的显示方式。Format属性只影响数据的显示方式,不影响数据的存储方式。String型,可读/写。 expression.Format expression 必需。返回“应用于”列表中的一个对象的表达式。 说明 可以使用预定义的格式,或者使用格式符号创建自定义格式。 Format对不同的数据类型使用不同的设置,对于控件,可以在控件的属性表中设置该属性。对于字段,可以在表“设计”视图或“查询”窗口的“设计”视图中(“字段属性”的属性表中)设置该该属性。也可以使用宏或Visual Basic。 注释在 Visual Basic 中,可输入对应预定义格式的子符串表达式或者输入自定义格式。Access 为“时间/日期”、“数字”和“货币”、“文本”和“备注”和“是/否”数据类型提供预定义格式,预定义格式与国家/地区设置有关。Access显示对应于所选国家/地区的格式,例如,如果在“常规”选项卡中选取“英语(美国)”,则1234.56 的“货币”格式是$1,234.56,如果在“常规”选项卡中选取“英语(英国)”,该数字将显示为£1,234.56。 如果在表“设计”字视图中设置字段的Format属性,Access使用该格式在数据表中显示数据。对窗体和报表上的新控件也应用字段的Format属性。 在任意数据类型的自定义格式中都可以使用以下符号: 不能将“数字”和“货币”型的数据类型的自定义格式符号与“日期/时间”、“是/否”或“文本”和“备注”格式符号混合使用。 如果在数据上定义了输入掩码同时又设置了Format属性,在显示数据时,Format属性将优先,而忽略输入掩码。例如,如果在表“设计”视图中创建了“密码”输入掩码,同时又为字段设

如何在ORACLE数据库的字段上建立索引

如何在ORACLE数据库的字段上建立索引? Oracle中建立索引,会提高查询速度: create index 索引名on 表名(列名); 例如: create index index_userid on tbl_detail(userid); 如何找数据库表的主键字段的名称? SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='AAA'; select * from dba_cons_columns where CONSTRAINT_NAME='SYS_AAA'; Oracle 在创建主键(可以不加constraint SYS_AAA),会为库表自动创建索引,索引的列为主键列。并且当库表某些列名或者库表名改变时候,Oracle自动创建的索引SYS_AAA,中的索引列也会自动更新(类似于视图),并且SYS_AAA会与名字更改后的库表还是保持索引关系。 关键系统库表: desc dba_constraints desc dba_cons_columns desc dba_indexes desc dba_ind_columns desc DBA_TAB_COLUMNS 例子1:更改库表的列名 ALTER TABLE AAA RENAME COLUMN ID TO AAA_ID; create table AAA ( ID NUMBER(8), NAME CHAR(20), constraint SYS_AAA primary key(ID) ); //查找约束名字 select c.CONSTRAINT_NAME,c.table_name,cc.COLUMN_NAME from user_constraints c, user_cons_columns cc where c.constraint_name=cc.constraint_name and c.table_name ='AAA' AND C.CONSTRAINT_TYPE='P'; CONSTRAINT_NAME TABLE_NAME COLUMN_NAME ------------------------------ ------------ ------------- SYS_AAA AAA ID //查找索引 select index_name,index_type,uniqueness from user_indexes where table_name='AAA'; INDEX_NAME INDEX_TYPE UNIQUENES

应该在ORACLE数据库的哪些字段上建立索引where

给数据库建索引的规则 博客分类: Oracle 建立索引常用的规则如下: 1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引; 3、经常与其他表进行连接的表,在连接字段上应该建立索引; 4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引; 5、索引应该建在选择性高的字段上; 6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引; 7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替: A、正确选择复合索引中的主列字段,一般是选择性较好的字段; B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引; C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引; D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段; E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引; 8、频繁进行数据操作的表,不要建立太多的索引; 9、删除无用的索引,避免对执行计划造成负面影响; 以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的

复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大 ------------------------------------------------------------------------------------------------------------------- 作者:guojunfeng提交日期:2006-9-17 1:07:00 申明: 下面内容来自 https://www.360docs.net/doc/ef12172964.html,/keylife/iblog_show.asp?xid=9256 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。 ●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。 ●如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。 ●使用系统工具。如Informix数据库有一个tbcheck工具,可以在可疑的索引上进行检查。在一些数据库服务器上,索引可能失效或者因为频繁操作而使得读取效率降低,如果一个使用索引的查询不明不白地慢下来,可以试着用tbcheck工具检查索引的完整性,必要时进行修复。另外,当数据库表更新大量数据后,删除并重建索引可以提高查询速度。 (1)在下面两条select语句中: select * from table1 where field1<=10000 and field1>=0; select * from table1 where field1>=0 and field1<=10000; 如果数据表中的数据field1都>=0,则第一条select语句要比第二条select语句效率高的多,因为第二条select语句的第一个条件耗费了大量的系统资源。 第一个原则:在where子句中应把最具限制性的条件放在最前面。

熟悉SQLserver2005系统

西北师范大学计算机科学与工程学院学生实验报告 学号201271040109 专业软件工程班级软件工程1班姓名郭宏乐 课程类型 课程名称熟悉SQLserver2005系 统 实验名称熟悉SQLserver2005系统 实验目的:1:熟悉SQLserver2005系统. 2:学会安装SQLserver2005系统。 3学会运用SQLserver2005系统。 实验内容: 1实验步骤: (1)SQLserver2005安装: 安装过SQL Server的人可能知道,它的有些服务要依赖于IIS,所以为了保证数据库的顺利安装,先启用IIS服务吧!Win7比XP好的一点是:启用IIS功能无需借助系统安装盘了,只要在控制面板里启用即可,如图: step1

step2 第三步需要注意的是,选中红框中的复选项,分别为“Internet Information Services 可承载的Web 核心”、“Web 管理工具”和“万维网服务”,这里我不确定“Web 管理工具”是否需要,因为我选中它们的父节点“Internet 信息服务”后选中了它的一些子项,多选总比少选全面,需要将它们的子项全部选中才显示为“√”,否则显示为“■”,记住,一定要显示为“√”才行,效果就和step3一样就可以了!点击确定后会出现线面的框框

如果我们不启用IIS功能,在后续安装SQL Server时会遇见如图画面 到此,IIS功能就算启用完成了,下面开始安装SQL Server 安装文件解压后是一个ISO的镜像,其实是一个DVD文件,将两张光盘合并到一起了,所以你的电脑需要安装虚拟光驱,虚拟光驱不会用请先百度一下,我就不在这里赘述了。 首先启动虚拟光驱软件,把SQL Server的镜像加载进来,如图

SQLServer2005函数大全

SQL Server 2005 函数大全 字符串函数 (2) 日期和时间函数 (3) 日期部分 (5) 数学函数 (6) 数据类型转换函数 (7) 日期类型数据转换为字符数据类型的日期格式的部分样式表 (8) 系统函数 (11) 排名函数 (11) 聚合函数 (12)

字符串函数 表达式:是常量、变量、列或函数等与运算符的任意组合。以下参数中表达式类型是指表达式经运算后返回的值的类型 函数名称参数示例说明 ascii (字符串表达式) select ascii('abc') 返回 97返回字符串中最左侧的字符的ASCII码。 char(整数表达式) select char(100) 返回 d 把ASCII 码转换为字符。 介于0 和255 之间的整数。如果该整数表达式不在此范围内,将返回NULL 值。 charindex (字符串表达式1,字符串表达式 2[,整数表达式]) select charindex('ab','BCabTabD')返回3 select charindex('ab','BCabTabD',4)返回6 在字符串2中查找字符串1,如果存在返回第一个匹配的 位置,如果不存在返回0。如果字符串1和字符串2中有一个 是null则返回null。 可以指定在字符串2中查找的起始位置。 difference (字符串表达式1,字符串表达式2) select difference('Green','Greene')返回4 返回一个0到4的整数值,指示两个字符表达式的之间的相似程度。0 表示几乎不同或完全不同,4表示几乎相同或完全相同。注意相似并不代表相等 left (字符串表达式,整数表达式) select left('abcdefg',2) 返回 ab返回字符串中从左边开始指定个数的字符。 right (字符串表达式,整数表达式) select right('abcdefg',2) 返回fg返回字符串中从右边开始指定个数的字符。 len(字符串表达式) select len('abcdefg')返回 7 select len('abcdefg ') 返回7 返回指定字符串表达式的字符数,其中不包含尾随空格。lower (字符串表达式) select lower('ABCDEF')返回 abcdef返回大写字符数据转换为小写的字符表达式。 upper (字符串表达式) select upper('abcdef')返回 ABCDEF返回小写字符数据转换为大写的字符表达式。 ltrim (字符串表达式) select ltrim(' abc')返回 abc返回删除了前导空格之后的字符表达式。 rtrim(字符串表达式) select rtrim('abc ')返回 abc返回删除了尾随空格之后的字符表达式。 patindex (字符串表达式1,字符串表达式2) select patindex('%ab%','123ab456')返回4 select patindex('ab%','123ab456')返回0 select patindex('___ab%','123ab456')返回1 select patindex('___ab_','123ab456')返回0 在字符串表达式1中可以使用通配符,此字符串的第一个 字符和最后一个字符通常是%。 %表示任意多个字符,_表示任意字符 返回字符串表达式2中字符串表达式1所指定模式第一次出现 的起始位置。没有找到返回0 reverse (字符串表达式) select reverse('abcde')返回 edcba返回指定字符串反转后的新字符串space (整数表达式) select'a'+space(2)+'b' 返回 a b返回由指定数目的空格组成的字符串。

SQLServer数据库入门学习总结

SQL Server数据库入门学习总结 经过一段时间的学习,也对数据库有了一些认识。 数据库基本是由表,关系,操作组成;对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数存储过程触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装、配置,服务器启动、停止,企业管理器、查询分析器 第一代数据库--网状数据库和层次数据库;第二代数据库--关系数据库 数据库(DB);数据库管理系统(DBMS);数据库系统(DBS) SQL Server 2000 提供了不同版本:企业版、标准版、个人版、开发版 SQL Server中的数据类型:整数:int,smallint,tinyint,bigint;浮点数:real,float,decimal;二进制:binary,varbinary;逻辑:bit;字符:char,nchar,varchar,nvarchar;文本和图形:text,ntext,image;日期和时间:datetime,smalldatetime;货币:money,smallmoney 数据库的创建和删除;数据库表的创建、修改和删除 数据完整性:实体完整性:Primary Key,Unique Key,Unique Index,Identity Column;域完整性:Default,Check,Foreign Key,Data type,Rule;参照完整性:Foreign Key,Check,Triggers,Procedure;用户定义完整性:Rule,Triggers,Procedure;Create Table中得全部列级和表级约束 SQL Server中有5种约束:主键约束(Primary Key Constraint)、默认约束(Default Constraint)、检查约束(Check Constraint)、唯一性约束(Unique Constraint)、外键约束(Foreign Key Constraint). 关系图 数据库设计的步骤:需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护 两个实体之间的联系:一对一(1:1)、一对多(1:n)、多对多(m:n) 实体关系模型-- E-R图

字段属性的设置

字段属性的设置 一、 格式:决定改变数据显示与打印的格式 ? 针对某一数据类型而言的。 ? 不同数据类型其格式选择不同。 二、 默认值:加新记录在数据表中自动显示的值。默认值只是开始值,可在输入时改 变,其作用是为了减少输入时的重复操作。 ? 默认值必须与数据类型相匹配 ? 输入文本值时,可以不加引号 ? 可以使用表达式定义默认值, 如”Date()” 三、1.表达式:是许多Access 操作的基本组成部分,是产生结果的符号组合,这些符号包括标识符、运算符和值。 例如,可以使用下列表达式来显示“小计”和“运货费”控件的数值总和:= [小计] + [运货费] 2.何时使用表达式 ? 定义计算控件或字段,建立有效性规则,或设置默认字段值。 ? 建立筛选或查询中的条件表达式 ? 在VBA 程序中,为函数、语句和方法指定参数。 3.表达式的基本符号 [ ]:将窗体、报表、字段或控件的名称用方括号包围 #:将日期用数字符号包围 “”:将文本用双引号包围 &:可以将两个文本连接为一个文本串 !运算符:运算符指出随后出现的是用户定义项 . 运算符:随后出现的是 Access 定义的项。 注意:计算控件的表达式前必须有等号 (=)。 4.示例 1) “北京”、100 、#2008-3-12#、“北京”&“奥运”等于“北京奥运” 2) Forms![订单]![订单ID] 引用“订单”窗体上的“订单ID ”控件 3) Reports![发票] 引用“发票”报表 4) SELECT 雇员.雇员ID, 订单.订单ID FROM 雇员,订单

6.表达式举例 1. Sage BETWEEN 20 AND 23 等价于Sage>=20 and Sage<=23 2. Birthday BETWEEN #1980-1-1# AND #1990-1-1# 3. Sdept IN (“IS”, “MA”, “CS “) 等价于 Sdept=“IS” OR Sdept= “MA” OR Sdept=“CS” 4. Sname LIKE “刘%” 5. Sex=“男” or Sex=“女” 等价于Sex in(“男” ,“女” ) 6. Sage not >26 注意:在书写表达式时,一定要分清楚表达式中引入的数据类型。数据类型可通过字段的定义确定。 技巧:可利用“表达式生成器”通过选择输入表达式 五、有效性规则(一个表达式): 数据的有效性规则用于对字段所接受的值加以限 制,以保证数据输入的准确性。 ?有些有效性规则可能是自动的,如检查数 值字段的文本或日期值是否合法。 ?有效性规则也可以是用户自定义的: 如:Between#1/1/1970#and#12/31/2003#、”男” or ”女” ?可利用“表达式生成器”通过选择输入规则表达式 ?可利用“有效性文本”来设置输入错误时的提示。 例: 设置意义 <> 0:输入项必须是非零的数值。 > 1000 Or Is Null :输入项必须为空值或大于1000。 Like "A????“:输入项必须是5 个字符并以字母A 为开头。 >= #1/1/96# And <#1/1/97#:输入项必须是1996 年中的日期。 六、输入掩码:输入掩码为数据的输入提供了一个模板,可确保数据输入表中时具有正确的格式。

SQL修改数据库表的列属性

SQL修改数据库表的列属性(ALTER语句) 我们可以用客户端的语句改写,psql比如把数据库表journal里的keyword,ekeyword属性改为character(350),原来为character(200),那么我们可以这样操作: psql postgres -c "ALTER TABLE journal ALTER keyword TYPE character(350)" psql postgres -c "ALTER TABLE journal ALTER ekeyword TYPE character(350)" 好了,修改结束。 附ALTER语句的文档。 ---------------------- ALTER TABLE [ ONLY ]name[ * ] action[, ... ] ALTER TABLE [ ONLY ]name[ * ] RENAME [ COLUMN ]column TO new_column ALTER TABLE name RENAME TO new_name ALTER TABLE name SET SCHEMA new_schema 这里action是下列之一: ADD [ COLUMN ]columntype[column_constraint[ ... ] ] DROP [ COLUMN ]column[ RESTRICT | CASCADE ] ALTER [ COLUMN ]column TYPE type[ USING expression] ALTER [ COLUMN ]column SET DEFAULT expression ALTER [ COLUMN ]column DROP DEFAULT ALTER [ COLUMN ]column{ SET | DROP } NOT NULL ALTER [ COLUMN ]column SET STATISTICS integer ALTER [ COLUMN ]column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } ADD table_constraint DROP CONSTRAINT constraint_name[ RESTRICT | CASCADE ] DISABLE TRIGGER [trigger_name| ALL | USER ] ENABLE TRIGGER [trigger_name| ALL | USER ] CLUSTER ON index_name SET WITHOUT CLUSTER SET WITHOUT OIDS OWNER TO new_owner SET TABLESPACE new_tablespace描述 ALTER TABLE变更一个现存表的定义。它有好几种子形式: ADD COLUMN 这种形式用和CREATE TABLE里一样的语法向表中增加一个新的字段。 DROP COLUMN 这种形式从表中删除一个字段。请注意,和这个字段相关的索引和表约束也会被自动删除。如果任何表之外的对象依赖于这个字段,你必须说CASCADE,比如,外键参考,视图等等。 ALTER COLUMN TYPE

实验SqlServer的基本操作

§3.1实验一Sql Server2005的基本操作(2学时) 3.1.1 实验目的 1.熟悉SQL Server2005企业版的安装过程。 2.了解企业管理器的功能,掌握企业管理器的操作方法。 3.掌握数据库服务器的注册、配置、连接等操作。 3.1.2 实验内容和步骤 上机前先阅读本实验的详细内容,简要了解SQL SERVER2005,并完成以下操作: 1. SQL Server2005的安装 参考详细内容进行安装,在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库系统会有什么影响。 2.启动和停止服务 3.启动SQL Server Management Studio 4.查看数据库属性,了解数据文件、事务日志、权限 注意事项: 1.安装时选择混合方式登录; 2.赋予sa密码。

实验一Sql Server2005的基本操作(详解) 一、安装 下面以Windows xp平台为例,介绍如何安装SQL Server 2005个人开发版。 1.根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例 2.将SQL Server 2005 DVD 插入DVD驱动器。如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到DVD的根目录然后启动splash.hta。 3.在自动运行的对话框中,单击“运行SQL Server 安装向导”。 4.在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。接受许可协议后即可激活“下一步”按钮。若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。如下图: 5.在“SQL Server 组件更新”页上,安装程序将安装SQL Server 2005 的必需软件。有关组件要求的详细信息,请单击该页底部的“帮助”按钮。若要开始执行组件更新,请单击“安装”。更新完成之后若要继续,请单击“完成”。

SQLServer2005完全卸载全攻略

SQLSERVER 2005卸载方法 SQL SERVER 2005不象SERVER 2000所有组件都汇总在一起,所以卸载时特别麻烦,如果不按正常的方法卸载,重新安装是不可能安装上去的。因为SQL SERVER 2005组件都是分散的,所以,必须一个一个的卸载,且要用到两个附加工具(Windows Installer Clean Up.(msicuu2.exe) 文件和SRVINSTW.exe文件),方法如下: 1.如其它软件卸载时一样,打开《控制面板》-新增删除程式 注意:卸载顺序,反向卸载: Microsoft SQL Server VSS Writer Microsoft SQL Server Setup Support Files(English) Microsoft SQL Server Native Client Microsoft SQL Server 2005 Books Online(English) Microsoft SQL Server 2005 Backward compatibillty Microsoft SQL Server 2005

2.安装Windows Installer Clean Up.(msicuu2.exe文件)。安装完后运行 选定下面条目,然后按《Remove》: Microsoft SQL Server VSS Writer Microsoft SQL Server Setup Support Files(English) Microsoft SQL Server Native Client Microsoft SQL Server 2005 Tools Microsoft SQL Server 2005 Books Online(English) Microsoft SQL Server 2005 Backward compatibillty Microsoft SQL Server 2005 3.运行SRVINSTW.exe文件,如图:

SQLServer数据库基本介绍

SQLServer数据库基本介绍 数据库用于存储结构化数据。数据的组织有多种数据模型,目前主要的数据模型是关系数据模型,以关系模型为基础的数据库就是关系数据库。一,数据库的概述1)关系数据库术语 表:用于存储数据,它以行列式方式组织,可以使用SQL从中获取、修改和删除数据库。表是关系数据库的基本元素记录:记录是指表中的一行,在一般情况下,记录和行的意思是相同的。字段:字段是表中的一列,在一般情况下,字段和列所致的内容是相同的。关系:关系是一个从数学中来的概念,在关系代数中,关系是指二维表,表既可以用来表示数据,也可以用来表示数据之间的联系索引:索引是建立在表上的单独的物理结构,基于索引的查询使数据获取更为快捷。索引是表中的一个或多个字段,索引可以是唯一的,也可以是不唯一的,主要是看这些字段是否允许重复。主索引是表中的一列和多列的组合,作为表中记录的唯一标识。外部索引是相关联的表的一列或多列的组合,通过这种方式来建立多个表之间的联系。视图:视图是一个真实表的窗口,视图不能脱离表。视图和表的区别是,表是实际存在的(需要存储在计算机中,占用存储空间),而视图是虚拟表(仅存储真实表的视图表现形式),它用于限制用户可以看到和修改的数据量,以简化数据的表达。存储过程:存储过程是一个编译过的SQL程序。在该过程中,可以嵌入条件逻辑、传递参数、定义变量和执行其他编程任务。 2)数据库管理系统提供的功能数据库管理系统简称为DBMS,是一种操作和管理数据库的大型软件,用于建立、使用维护数据库。基本功能如下

数据定义功能:定义数据库结构数据存取功能:提供数据操纵语言,实现对数据库数据的 基本存储操作数据库运行管理功能:提供数据控制功能,即数据的安全性,完整性和并发控制等对数据库运行进行有效的控制和管理数据库的建立和维护功能:包括数据库初始数据的嵌入,数据库的转储、恢复、重组织、系统性能监视、分析等功能数据库的传输:实现用户程序与DBMS之间的通信 3)数据库的存储结构 数据库文件主数据文件(Primary):是数据库的关键文件,用来存放数据,包含数据库启 动信息,每个数据库都必须包含也只能包含一个主数据文件,默认扩展名是.mdf次数据文件(Secondary):又称辅助文件,包含除主数据文件外的所有数据文件。次数据文件是可选的,有些数据库没有次数据文件,有些数据库则包含多个次数据文件.默认扩展名是.ndf事务日志 文件(Transaction Log):用来存放事务日志信息。事务日志记录了SQL Sever所有的事务 和由这些事务引起的数据库的变化。SQL Sever遵循先写日志再进行数据库修改的规则,所以 数据库中数据的任何变化在写到磁盘之前,这些改变先在事务日志中做了记录,每个数据库至 少有一个事务日志文件Lof File,也可以不止一个。默认扩展名是.ldf数据库文件组主文件组:包含主数据文件和所有没有被包含在其他文件组里的文件用户定义文件组:默认文件组:

sqlserver简单操作手册

sql server学习笔记 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only

5、说明: 删除新表:drop table tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明: 创建视图:create view viewname as select statement

sql语句修改字段属性

sql语句修改字段属性 如果数据量非常大,达到几百万条记录以上,使用企业管理器来更改字段类型,很多时候会超时,更改不成功,这时可以使用Sql语句来更改,如下: A、更改字段类型长度 alter table 表 alter column 字段名类型的长度--varchar(60) 例:把城市表的城市名字段有原来的长度20改为30 alter table Testcity alter column cityname varchar(30) B、更改字段类型 alter table 表 alter column 字段名更改后的类型 例:把城市表的城市名字段有原来的varchar类型改为int类型 alter table Testcity alter column cityname int 如果Sno字段原来不为空: ALTER TABLE student alter column Sno varchar(10) not NULL 如果Sno字段原来为空: ALTER TABLE student alter column Sno varchar(10) 因为不管以前的字段是否允许为空,执行 ALTER TABLE student alter column Sno varchar(10) 后该字段都会变为允许为空。还有就是执行这类修改操作时最好是空表,如果有数据,可能会失败。因为有些数据类型之间可能不能隐式的转换或者根本就不能转化,比如“abc”要转换成int型。所以,一切还要自己注意控制。 C、添加not null约束 alter table 表 alter column 字段名 int not null 例:把cid不能输入空值 alter table Testcity alter column cid int not null D、设置主键 alter table 表 add constraint 主键名 primary key(字段名) 例:把cid设为主键 alter table Testcity add constraint PK_cid primary key(cid) E、更改字段名

SQLServer2005查看所有存储过程

如果你想更好的了解SQL Server 2005列出所有存储过程的实际操作的相关内容的话,如果你想更好的了解SQL Server 2005列出所有存储过程的实际操作的相关内容的话,下面的文章你不妨浏览,望你能会获得自己想要的东西。 对于数据库管理员来说,可以经常想了解一些之前未听说过的存储过程,特别是无文档类型的存储过程。或许是用这些存储过程,能够简化日常的数据管理。 对于数据库管理员来说,可以经常想了解一些之前未听说过的存储过程,特别是无文档类型的存储过程。或许是用这些存储过程,能够简化日常的数据管理。 为了查找这些存储过程,你可以花时间在互联网搜索,查看一些你还未知道的存储过程,也许在一两个小时您可能会发现你想要...也许你很幸运的找到,其他人在他们的文章中列出所有的存储过程,函数和视图,并介绍了如何使用这些存储过程。 但其实,您可以在一分钟之内就可以自己列出这些存储过程、函数和视图的清单!这份名单甚至包括SQL Server中所有无文档的存储过程。通过这个清单,你就可以确定你所想要找的存储过程。 SQL Server 2005实际上保存了所有存储过程的列表,包括有文档的、无文档的,甚至是用户自定义的!所有这些信息,都包含在系统表中。最简单的方法是使用一个系统视图,特别是sys.all_objects这个视图来查阅。 您也可以使用sys.procedures目录视图,但我的测试结果,发现这个视图会过滤掉一些储存过程。 您也可以使用系统储存过程sp_stored_procedures返回当前环境中的存储过程列表,但这个存储过程同样也限制了存储过程返回值。 通过对比,我觉得:如果想获得SQL Server 2005中所有的储存程序,建议使用sys.all_objects 这个系统视图,sys.Procedures或sp_Stored_Procedures这两个视图会因为某些未知原因,过滤掉一些内容,造成信息不全。 存储过程信息是存储在各自用户数据库中的系统表中的。SQL Server 2005保存了存储过程的唯一标识信息,如存储过程的名称、创建时间、修改时间、是否来自微软等等。 如何确保所有的用户数据库都能够自动创建这些存储过程呢? 当SQL Server部署完成后,微软提供的存储过程,是保存在master数据库中的。当您新建一个数据库时,master数据库将作为模板数据库,因此,master数据库中的所有存储过程将自动创建到你所新建的数据库中。 如果你想创建一个存储过程,并希望能够自动分发到所有的数据库中,你可以在master数据库中建立该存储过程,这样之后新创建的数据库中,将自动包含你新建的这个存储过程;但对于之前已经存在的数据库,你仍需要到每个数据库中手动创建这个存储过程。

相关文档
最新文档