随笔分类 -  Ms SQL Server

SQL Server 数据库安全
摘要:--创建登陆用户 --create login login_name from windows with default_database = database | default_language = language; create login [localhost\hoojo-pc] from windows with default_database = testHome; --创建登陆用户 --create login login_name with password = 'pwd' [hashed] [must_change] [check_expiration] 阅读全文

posted @ 2011-07-20 18:31 java课程设计 阅读(296) 评论(0) 推荐(0)

SQL Server 触发器
摘要:触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有cr 阅读全文

posted @ 2011-07-20 10:50 java课程设计 阅读(456) 评论(0) 推荐(0)

SQL Server 存储过程
摘要:Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。 Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。 由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需 阅读全文

posted @ 2011-07-19 17:38 java课程设计 阅读(281) 评论(0) 推荐(0)

SQL Server 事务、异常和游标
摘要:Ø 事务在数据库中有时候需要把多个步骤的指令当作一个整体来运行,这个整体要么全部成功,要么全部失败,这就需要用到事务。 1、 事务的特点 事务有若干条T-SQL指令组成,并且所有的指令昨晚一个整体提交给数据库系统,执行时,这组指令要么全部执行完成,要么全部取消。因此,事务是一个不可分割的逻辑单元。 事务有4个属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability),也称作事务的ACID属性。 原子性:事务内的所有工作要么全部完成,要么全部不完成,不存在只有一部分完成的情况。 一致性:事务内的然后操作都不能违反 阅读全文

posted @ 2011-07-19 11:20 java课程设计 阅读(249) 评论(0) 推荐(0)

SQL Server 索引和视图
摘要:Ø 索引 1、 什么是索引 索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。 2、 索引分类 数据库中索引主要分为两类:聚集索引和非聚集索引。SQL Server 2005还提供了唯一索引、索引视图、全文索引、xml索引等等。聚集索引和非聚集索引是数据库引擎中索引的基本类型,是理解其他类型索引的基础。 # 聚集索引 聚集索引是值表中数据行的物理存储顺序和索引的存储顺序完全相同。聚集索引根据索引顺序物理地重新排列了用户插入到表中的数据,因此,每个表只能创建一个聚集索引。聚集索引经常创建在表中经常被搜索到的列或按顺序访问的列上。在默认情况下,主键 阅读全文

posted @ 2011-07-15 15:51 java课程设计 阅读(286) 评论(0) 推荐(0)

SQL Server Transact-SQL 编程
摘要:T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。Ø 变量 1、 局部变量(Local Variable) 局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后才能使用。 基本语法:声明变量 declare @变量名 变量类型 [@变量名 变量类型] 为变量赋值 set @变量名 = 变量值; select @变量名 = 变量值; 示例:--局部变量 declare @id char(10) 阅读全文

posted @ 2011-07-15 15:14 java课程设计 阅读(316) 评论(0) 推荐(0)

SQL Server 数据库基础编程
摘要:Ø Go批处理语句 用于同时执行多个语句Ø 使用、切换数据库use master goØ 创建、删除数据库方法1、--判断是否存在该数据库,存在就删除 if (exists (select * from sys.databases where name = 'testHome')) drop database testHome go --创建数据库,设置数据库文件、日志文件保存目录 create database testHome on( name = 'testHome', filename = 'c:\data\stud 阅读全文

posted @ 2011-07-15 11:33 java课程设计 阅读(264) 评论(0) 推荐(0)

SQL Server 2005 自定义split 函数
摘要:自定义split函数,根据你传入的字符串和分割字符串标示。返回截取后的字符串table;create function fun_split ( @str varchar(8000) --要分拆的字符串 ,@split varchar(10) --字符串分隔符 ) returns @returnTable table(string varchar(8000)) as begin declare @i int declare @len int select @len = len(@split), @i= charindex(@split, @str) while @i > 0 begin . 阅读全文

posted @ 2010-11-01 11:03 java课程设计 阅读(172) 评论(0) 推荐(0)

SQL Server distinct top count 查询
摘要:今天做一个多表查询、分组、统计的功能,分组没有问题。不过出现重复的数据,然后用distinct解决重复数据。但是又要分页,当然是top了。不过存储过程也可以搞定分页的,这里用top分页。但是用了top、distinct就出现错误了。以前用过top、distinct,记得top、distinct是可以同时使用的。最后查了下,终于搞定了。呵呵~~~~用sysobjects表做示例,简单的演示下:1、去掉重复的数据,统计count数量select count(distinct(xtype)) from sysobjects2、查询前100条,并且去掉重复数据select distinct top 1 阅读全文

posted @ 2010-09-30 14:43 java课程设计 阅读(901) 评论(0) 推荐(0)

Ms SQL中 普通行列转换
摘要:*标题:普通行列转换(version 2.0)时间:2008-03-09地点:广东深圳说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ----李四 74 84 94张三 74 83 93-------------------*/create tabl 阅读全文

posted @ 2010-06-05 17:32 java课程设计 阅读(213) 评论(0) 推荐(0)

关于聚集索引选择
摘要:根据一段时间的网站日志生成访问记录表tblWebVisitLog,需记录以下信息:访问时间: VisitTime访问者IP: IP访问的URL: URL同一时刻可能有多条访问记录,即VisitTime不是唯一的。数据量:3000万条记录左右常见查询情况:1. 在一个时间范围内,按时序列出指定IP访问的URL,即根据VisitTime和IP查找。2. 在一个时间范围内,统计各个时段(每天/每小时)的访问量/IP数,即根据VisitTime聚集统计。3. 在一个时间范围内,统计各个或指定URL的访问量/IP数,即根据VisitTime和URL聚集统计。--用维度表存储URL,以压缩空间CREATE 阅读全文

posted @ 2010-06-04 09:27 java课程设计 阅读(247) 评论(0) 推荐(0)

DataBase中 建立索引原则
摘要:---使用索引优化数据库查询效率1.不宜创建索引的情形(1)经常插入,修改和删除的表(2)数据量比较小的表,因为查询优化器在搜索索引时所花费的时间可能会大于遍历全表的数据所需要的时间2.适合创建索引的情形(1)为where子句中出现的列创建索引(2)创建组合索引(3)为group by 子句中出现的列创建索引3.聚集索引的设计原则(1)该列的数值是唯一的或者很少有重复的记录(2)经常使用between ...and..按顺序查询的列(3)定义identity的唯一列.(4)经常用于对数据进行排序的列.---无法使用索引的select语句1.对索引列使用了函数,如:select * from t 阅读全文

posted @ 2010-06-04 09:22 java课程设计 阅读(200) 评论(0) 推荐(0)

SQL Server 2005 常见查询
摘要:1. 生成若干行记录有用指数:★★★★★常见的问题类型:根据起止日期生成若干个日期、生成一天中的各个时间段《SQL Server 2005技术内幕:T-SQL查询》作者建议在数据库中创建一个数据表:--自然数表1-1MCREATE TABLE Nums(n int NOT NULL PRIMARY KEY CLUSTERED)--书上介绍了很多种填充方法,以下是最高效的一种,需要SS2005的ROW_NUMBER()函数。WITH B1 AS(SELECT n=1 UNION ALL SELECT n=1), --2B2 AS(SELECT n=1 FROM B1 a CROSS JOIN B 阅读全文

posted @ 2010-06-04 09:08 java课程设计 阅读(472) 评论(0) 推荐(0)

导航