
数据库基础知识
文章平均质量分 80
打豆豆的隔壁小王
JAVA man
展开
-
判断SQLsever数据库表是否存在
方法一: if object_id('tableName') is not null drop table tableName若为临时表,则指定临时数据库tempdb前缀if object_id('tempdb..#DataIn') is not null drop table #DataIn方法二:if exists (select * from sysobj原创 2013-02-18 15:58:54 · 814 阅读 · 0 评论 -
SQL Server 2005使用作业设置定时任务
公司有一个老项目由于直接把终端拍摄的图片以二进制的形式保存到数据库中,数据库比较大所以需要经常删除这些冗余数据,手动删除费时费力,组长让我把这些操作变成自动的,每天执行一次,只保留最近两个月的图片数据。查阅了相关的资料,找到了解决方案,在此做一个记录,以便有同样需求的人和自己查阅。 现在我们通过一个非常简单的示例:有一张员工表,我们定时往里面添加一条数据。通过示例来了解如何使用Sql Ser转载 2012-11-25 16:15:54 · 727 阅读 · 0 评论 -
SQL 2005 的存储过程和触发器调试大法
在SQL2000中,我们想要调试存储过程非常简单,只需要在对象浏览器中找到存储过程,然后点击鼠标右键选择“执行(调试)”就可以弹出一个工具栏出来,进行调试。然而到了SQL2005中同样的操作却变成了生成一段SQL语法,没有调试功能,如果使用了Express版本会更加郁闷,连“执行”菜单都没有,如图所示:Express版本中,菜单中根本没有“执行”功能。那么调试功能到什么地方去了呢?转载 2012-09-23 23:15:57 · 5372 阅读 · 0 评论 -
SQL 行列转换--经典案例
http://blog.youkuaiyun.com/teerhu/article/details/7834035 http://www.cnblogs.com/luluping/archive/2012/08/08/2627548.html--1、行互列--> --> (Roy)生成測試數據 if not object_id('Class') is null drop table Cla转载 2012-10-11 11:32:51 · 551 阅读 · 0 评论 -
触发器
触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行完成后﹐与该触发器相关的这两个表也被删除转载 2012-09-21 13:57:37 · 620 阅读 · 0 评论 -
SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数: 1.row_number 2.rank 3.dense_rank 4.ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示: 图1 其中field1字段的类型是int,fie转载 2012-10-09 13:32:48 · 662 阅读 · 0 评论 -
什么是聚集索引
一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的原创 2012-09-26 16:42:29 · 1100 阅读 · 0 评论 -
什么是非聚簇索引
1 建立索引 建立索引的目的是加快对表中记录的查找或排序。付出的代价:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。 索引分为聚簇索引和非聚簇索引两种 2 非聚簇索引 非聚簇索引,叶级页指向表中的记录,记录的物理顺序与逻辑顺序没有必然的联系。非聚簇索引则更象书的标准索引表,索引表中的顺序通常与实际的页码顺序是不一致的。 非聚簇索转载 2012-09-26 16:37:55 · 757 阅读 · 0 评论 -
聚簇索引与非聚簇索引的区别以及SQL Server查询优化技术
在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚簇索引。不过这个定义太抽象了。在SQL Server中,索引是通过二叉树的数据结构来描述的,我们可以这么理解聚簇索引:索引的叶节点就是数据节点。而非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。如下图转载 2012-09-26 16:34:32 · 580 阅读 · 0 评论 -
SQLSERVER 之整体介绍
也许你不需要了解SQLServer的内部机制,你照样能完成CRUD,而且可能完成的还不错,也许你不需要研究SQLServer的架构设计,你照样可以根据自己参与的项目经验设计出自己需要的架构,也许你会说不断的需求变化已经把自己的精力耗尽,也许你会说针对项目目前的情况不需要对SQLServer有较深的了解,也许你还会说我喜欢研究某某公司某产品,也许你还会觉得SQLServer太过庞大无从下手……但转载 2012-11-27 18:11:32 · 1112 阅读 · 0 评论 -
看懂SqlServer查询计划
阅读目录开始Sql Server 查找记录的方法Sql Server Join 方式更具体执行过程索引统计信息:查询计划的选择依据优化视图查询推荐阅读-MSDN文章对于SqlServer的优化来说,可能优化查询是很常见的事情。关于数据库的优化,本身也是一个涉及面比较的广的话题,本文只谈优化查询时如何看懂SqlServer查询计划。由于我对SqlServer的认识有限,如有错误,转载 2013-02-18 21:22:34 · 715 阅读 · 0 评论 -
SQLServer 系统表详述
sysaltfiles 主数据库 在特殊情况下,包含与数据库中的文件相对应的行。该表存储在master 数据库中。syscharsets 主数据库 每个字符集在表中各占一行,表中还包含定义供Microsoft? SQL Server?使用的排序次序。排序次序中的一个在 sysconfigures中标记为转载 2013-02-01 14:37:39 · 783 阅读 · 0 评论 -
char、varchar、text和nchar、nvarchar、ntext的区别
很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥一把人民币就从他手里溜走了,其实我想不管是做人也好,做开发也好,细节的把握直接决定很多东西。当然还有一部分人是根本就没弄清楚他们的区别,也就随便选一个。在这里我想对他们做个简单的分析,当然如果有转载 2012-12-19 10:24:18 · 536 阅读 · 0 评论 -
存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包转载 2012-12-07 05:35:02 · 550 阅读 · 0 评论 -
Oracle 完全卸载
1.停止所有与ORACLE相关的服务。2. 使用OUI(Oracle Universal Installer)卸载Oracle软件。 “开始”->“程序”->“Oracle-OraDb110g_home1|Oracle installation product|Universal installer.3.删除注册表内容。 运行regedit命令,删除下面内容:HKEY_LO转载 2012-11-21 15:44:15 · 552 阅读 · 0 评论 -
sqlserver2005使用convert转换日期[资料]
server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换语句及查询结果:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(1转载 2012-11-16 14:48:04 · 740 阅读 · 0 评论 -
Oracle创建表空间、创建用户以及授权、查看权限
创建临时表空间 创建临时表空间CREATE TEMPORARY TABLESPACE test_temp TEMPFILE ' C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EX转载 2012-11-30 10:21:18 · 524 阅读 · 0 评论 -
SQLServer中的uniqueidentifier类型
uniqueidentifier全局唯一标识符 (GUID)。注释uniqueidentifier 数据类型的列或局部变量可用两种方法初始化为一个值: 使用 NEWID 函数。将字符串常量转换为如下形式(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字)。例如,6F9619原创 2012-09-26 15:57:00 · 2175 阅读 · 0 评论 -
数据库游标
<br />1.为何使用游标: <br /> 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。 <br />2. 如何使用游标: <br /> 一般地,使用游标都遵循下列的常规步骤: <br /> (1) 声明游标。把游标与T-SQL语句的结果集联系原创 2011-03-25 13:55:00 · 1061 阅读 · 0 评论 -
Union 和 Union All 《转》
<br />UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。<br /><br />区别:UNION限制两个SQL语句所产生的栏位必需是同种资料类型。<br />而且:其只是将两个结果集联结起来一起显示,并不是联结两个表。。。。<br /><br />UNION (类似 SELECT DISTINCT)会去除两个结果集中重复的记录并重新计算排序。<br />UNION ALL 将结果集全部展示。<b原创 2010-09-29 17:29:00 · 562 阅读 · 0 评论 -
sql中inner join=join ;left outter join=left join;right outter join=right join(转)
数据库常见的join方式有三种:inner join, left outter join, right outter join(还有一种full join,因不常用,本文不讨论)。这三种连接方式都是将两个以上的表通过on条件语句,拼成一个大表。以下是它们的共同点: <br /><br />1. 关于左右表的概念。左表指的是在SQL语句中排在left join左边的表,右表指的是排在left join右边的表。 <br />2. 在拼成的大表中,左表排在左边,右表排在右边。 <br />3. on条件语句最好原创 2010-09-19 16:17:00 · 581 阅读 · 0 评论 -
SQL2005连接远程数据库
<br />在配置工具中的服务和远程连接的外围应用配置器 ---》远程连接--》本地连接和远程连接--》同时使用TCP/IP和named pipes。确定,重新启动sql服务。然后用 SQL Server Management Studio,服务器类型选择数据库引擎服务器名称输入你要连接的数据库实例名或IP地址,选择sqlserver身份验证,输入用户名、密码,就可以连接了原创 2010-09-14 10:14:00 · 619 阅读 · 0 评论 -
数据源 DSN(网上收集整理)
<br />DSN英文:date source name,数据源名称。<br />是你自己在odbc里设置的,用于连接数据库,可分为以前三种: <br />用户DSN:并且只能被当前用户访问,数据源对计算机来说是本地的。 <br />系统DSN:存放在odbc储存区里,数据源对于计算机来说也是本地的。<br />文件DSN:存放在一个文本文件中,数据源对于计算机来说也是本地的,可以通过网络上来访问。<br /> <br />ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口原创 2010-06-06 16:38:00 · 2264 阅读 · 0 评论 -
SQL操作,连接查询_左连接/右连接/全连接的区别 http://www.sqlzoo.cn/
介绍表连接,更确切的说是inner joins內连接.內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。为更好的理解这个概念,我们介绍两个表作演示。苏格兰议会中的政党表(party)和议员表(msp)。party(Code,Name,Leader)Code: 政党代码Name: 政党名称Leader: 政党领袖msp(Name,Party,Constituency)原创 2010-04-19 17:08:00 · 1561 阅读 · 2 评论 -
基于Mysql的通用分页存储过程
CREATE PROCEDURE `P_viewPage`( $TableName VARCHAR(200), --表名称 $FieldList VARCHAR(2000), --显示列名 $PrimaryKey VARCHAR(100), --主键 $Where VARCHAR(1000), --查询条件 不含whe原创 2009-11-30 22:22:00 · 666 阅读 · 0 评论 -
MySQL 存储过程
CREATE PROCEDURE `P_viewPage`( $TableName VARCHAR(200), --表名称 $FieldList VARCHAR(2000), --显示列名 $PrimaryKey VARCHAR(100), --主键 $Where VARCHAR(1000), --查询条件 不含whe原创 2009-11-29 23:29:00 · 527 阅读 · 0 评论 -
存储过程分页
use TestDBif exists(select * from sysobjects where name = proc_getinfo)drop procedure proc_getinfogo--创建存储过程create procedure proc_getinfo@tablename varchar(25), --所要查询的表名@num varchar(30), --按列进转载 2009-11-29 14:50:00 · 639 阅读 · 0 评论 -
sql中exists,not exists的用法解析
exists : 强调的是是否返回结果集,不要求知道返回什么, 比如: select name from student where sex = 'm' and mark exists(select 1 from grade where ...) ,只要exists引导的子句有结果集返回,那么exists这个条件就算成立了,大家注意返回的字段始终为1,如果改成“select 2 from转载 2012-04-24 17:07:42 · 3695 阅读 · 0 评论 -
What is meant by LDF and MDF
Q: What is mean by LDF and MDF?Bryan Oliver says: From Microsoft themselves:Physical Database Files and FilegroupsMicrosoft® SQL Server maps a database over a set of operating-system files转载 2012-02-26 07:46:18 · 696 阅读 · 0 评论 -
在一台服务器上安装oracle服务端和客户端,不能访问的解决办法
由于客户端是在服务端之后安装的,所以在环境变量中path变量,客户端的配置在服务端的前面。只需要将客户端的配置放在服务端之后即可。 http://blog.youkuaiyun.com/liuyanhui414/article/details/6995175转载 2012-02-23 13:52:41 · 3883 阅读 · 1 评论 -
Uninstall Oracle Client 卸载
Plz follow progress belowed step by step, you will uninstall oracle sucessfully: 1、程序(All Programs) -- Oracle-OraClient10g_home1/2 -- Oracle Installation Products -- Uninversal install -- Deinstal转载 2012-02-23 13:48:59 · 7981 阅读 · 1 评论 -
触发器入门 《转》http://www.cnblogs.com/ivy/archive/2008/06/11/1217613.html
创建一个简单的触发器------------触发器是一种特殊的存储过程,类似于事件函数,SQL Server™ 允许为 INSERT、UPDATE、DELETE 创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列 T-SQL语句。触发器可以在查询分析器里创建,也可以在表名上点右键->“所有任务”->“管理触发器”来创建,不过都是要写 T-SQL 语句的,只是在查询分析器里原创 2009-11-14 11:05:00 · 540 阅读 · 0 评论