11 2011 档案
摘要:上周一直在看CTE因为里面都是一个表,或者说看的基本上都是可以拿来直接用SQL自己可以描述的,但是看到的代码的程序自己还是没有看太懂,只是能猜,有不确定性。今天上午闲来测试了一下下:use TESTDBgo/*----------------------------------Server: Sql Server 2008Create date: 2011/11/29Author: CCDescrioption: CTE测试----------------------------------*/create table test_cte( aa int, bb int,...
阅读全文
摘要:索引 可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。 在数据库关系图中,可以为选定的表创建、编辑或删除索引/键属性页中的每个索引类型。当保存附加在此索引上的表或包含此表的数据库关系图时,索引同时被保存。有关详细信息,请...
阅读全文
摘要:参考自:http://msdn.microsoft.com/zh-cn/library/ms190798(v=SQL.100).aspx主题说明query() 方法(xml 数据类型)说明如何使用 query() 方法查询 XML 实例。value() 方法(xml 数据类型)说明如何使用 value() 方法从 XML 实例中检索 SQL 类型的值。exist() 方法(xml 数据类型)说明如何使用 exist() 方法确定查询是否返回非空结果。modify() 方法(xml 数据类型)说明如何使用 modify() 方法指定 XML Data Modification Language
阅读全文
摘要:SQL SERVER2005开始增加了一个CTE,即公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。在 SQL Server 2005 中,当某个查询引用递归 CTE 时,它即被称为“递归查询”。递归查询通常用于返回分层数据,例如:显示某个组织图中的雇员或物料清单方案(其中父级产品有一个或多个组件,而那些组件可能还有子组件,或者是其他父级产品的组件)中的数据。递归 CTE 可以极大地简化在 SELECT、INSERT、UPDATE、DELETE 或 CREATE
阅读全文
摘要:数据仓库是面向分析的,数据库是面向事务处理. 数据仓库的数据是基本不变得,而数据库的数据是由日常的业务产生的,常更新 数据仓库的数据一般有数据库的数据经过一定的规则转换得到得 数据仓库主要用来分析数据,一般是tb级的的数据,比如决策支持系统,数据挖掘等.--------------------------关于数据仓库------------------------------------一.概念 1.数据仓库:是指面向主题的,一致的,不同时间的,稳定的数据集合,用于支持经营管理中的决策支持过程。从广义上讲数据仓库是指存储大量历史数据的数据库。每一个记录代表特殊时间点上的一个数据。 它...
阅读全文
摘要:很纠结于数据库,实例的关系,开始问了一个人,但是在建数据库的地方不是很明白,然后第二天又去问了同事,并且让他:简单的说正常应该是一个服务器对应一个实例,然后一个实例也可以对应多个数据库。然后相对的,其实数数据库对表之后而言也可以叫做实例。
阅读全文
摘要:USE mydbGO--1. 新建测试用户--1.1 添加登录用户和密码EXEC sp_addlogin N'tony','123'--1.2 使其成为当前数据库的合法用户EXEC sp_grantdbaccess N'tony'--2.设置操作授权--2.1 授予对自己数据库的所有权限EXEC sp_addrolemember N'db_owner', N'tony'--2.2 以下是设置具体操作权限--授予tony对所有用户表的操作权限GRANT SELECT,INSERT,UPDATE,DELETE TO t
阅读全文
摘要:唯一索引 唯一索引不允许两行具有相同的索引值。 如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。主键索引 主键索引是唯一索引的特殊类型。 数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。 在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。它们的一些比较: (1)对
阅读全文
摘要:记得工作的时候自己笔记过一个count(*),count(列名) 的区别不过当时不知道怎么想的,也只是知道count(*)会默认的对第一列进行计数,而后面的则是对指定的字段进行计数。于昨晚看到《SQL完全学习手册》中的汇总部分,突然发现自己当时写的居然是我自己不知道的。下面为今天的测试:select * from m;goselect COUNT(*)as a ,COUNT(matid) as b ,COUNT(lid) as c from m;go--结果如下:matid qty lid mname----------- ----------- -...
阅读全文
摘要:--逻辑查询处理的步骤序号(8) SELECT (9) DISTINCT (11) <TOP_SPECIFICATION> <SELECT_LIST>(1) FROM <LEFT_TABLE>(3) <JOIN_TYPE> JOIN<RIGHT_TABLE>(2) ON <JOIN_CONDITION>(4) WHERE <WHERE_CONDITION>(5) GROUP BY <GROUP_BY_LIST>(6) WITH {CUBE | ROLLUP}(7) HAVING <HAVING
阅读全文
摘要:1、应用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROMT1;在可能的情况下尽量限制尽量结果集行数如:SELECT TOP 300COL1,COL2,COL3 FROM T1,因为某些情况下用户是不需要那么多的数据的。不要在应用中使用数据库游标,游标是非常有
阅读全文
摘要:--备份数据库BACKUP DATABASE test to disk = 'D:\test.bak' --完整备份go--数据库还原--1、附加数据库create database hotelbook_Dataon primary(filename='D:\shujuku\hotelbook_Data.mdf')for attach--2、还原用BACKUP备份的数据库RESTORE DATABASE TESTDBFROM DISK = 'D:\test.bak'WITH MOVE 'TEST' TO 'D:\SQL\t
阅读全文
摘要:/*=======================================Description: 用SQL实现笛卡尔积Author: CCdate: 2011.11.03=======================================*/USE TestGOSELECT * FROM l; --如下图lSELECT * FROM m; --如下图m--交叉连接实现,lmSELECT * FROM l CROSS JOIN m;l表lid name----------- --------------------101 北京102 太原101 N...
阅读全文
摘要:left join 是left outer join的简写,left join默认是outer属性的。Inner JoinInner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。这个和用select查询多表是一样的效果,所以很少用到;outer join则会返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行。它还返回任何在第二个输入中没有匹配行的第一个输入中的行。关键就是后面那句,返回的多一些。所以通常意义上的left join就是left outer join
阅读全文
摘要:--先删除主键(PK_TABLENAME要替换成主键名) alter table tablename drop CONSTRAINT PK_TABLENAME go --再增加主键(PK_TABLENAME要替换成主键名) alter table tablename add CONSTRAINT PK_TABLENAME PRIMARY KEY (键名,键名) go--修改表名exec sp_rename 'oldname','newname';go--重新命名列名EXEC sp_rename 'table1.oldname','newn
阅读全文
摘要:SQL语句可分为多种类别,如下所述。●DQL(数据查询语言),用来从数据库中获取数据和对数据进行排序。●DML(数据库操纵语言),用来插入、删除和修改数据库中的数据。●DDL(数据定义语言),包括定义数据库、基本表、视图和索引。●DCL(数据控制语言),用来管理对数据库和数据库对象的权限。●CCL(通用命令语言),用来在数据库中进行高效率的搜索。它可以用来生成联机库等需要在很短的时间内筛选大量记录的应用。DQL:Data Query Language SELECT 数据查询语言select具体用法 SELECT select_list [ INTO new_table ] FROM...
阅读全文
摘要:update 表名 SET 更新字段 FROM 更新表名(多个)WHERE 更新条件作用:如果想要用一个表的字段也更新另一张表时,可以用。例子:表Llid lname101 北京102 太原101 NULL102 NULL表M:matid lty lid 10011 1 101 20012 1 102 10011 1 102 10011 1 102现在来为M表增加一列ALTER TABLE M ADD MNAME VARCHAR(20)现在M表的结构为:matid lty lid mname10011 1 101 NULL20012 1 102 NULL10011 1 10...
阅读全文
摘要:--显示数据库所有的用户表USE Testselect * from sysobjects where type= 'U 'GO参数:列名数据类型说明namesysname对象名idint对象标识号xtypechar(2)对象类型。可以是以下对象类型之一:AF = 聚合函数 (CLR)C = CHECK 约束D = 默认值或 DEFAULT 约束F = FOREIGN KEY 约束L = 日志FN = 标量函数FS = 程序集 (CLR) 标量函数FT = 程序集 (CLR) 表值函数IF = 内联表函数IT = 内部表P = 存储过程PC = 程序集 (CLR) 存储过程..
阅读全文

浙公网安备 33010602011771号