-
基于B-树和B+树的使用:数据搜索和数据库索引的详细介绍
B-树1.B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m阶的B-树,或者为空树,或为满足下列特性的m叉树:⑴树中每个结点至多有m棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2]棵子树;⑷所有的非终端结点中包含以下信息数据: (n,A0,K1,A1,K2,…,Kn,An)其中:Ki(i=1,2,…,n)为关键码,且Ki<Ki+1, Ai为指向子树根结点的指针(i=0,1,…,n),且指针Ai-1所指子树中所有结点的关键码均小于Ki(i=1,2,…,n),An所指子树中所有结点的关键码均大于Kn. n 为关键码的个数...
数据库操作教程 2022-09-23 17:21:46 -
深入SQLCursor基本用法的详细介绍
由于这个游标执行一下就相当于SELECT一下其效率不敢恭维也没做深入研究。复制代码代码如下: table1结构如下 id int name varchar(50) declare@idint declare@namevarchar(50) declarecursor1cursorfor --定义游标cursor1 select*fromtable1 --使用游标的对象(跟据需要填入select文) opencursor1 ...
数据库操作教程 2022-09-23 17:21:32 -
sql删除重复数据的详细方法
一.删除完全重复的记录完全重复的数据,通常是由于没有设置主键/唯一键约束导致的。测试数据:复制代码代码如下:ifOBJECT_ID('duplicate_all')isnotnulldroptableduplicate_allGOcreatetableduplicate_all(c1int,c2int,c3varchar(100))GOinsertintoduplicate_allselect1,100,'aaa'unionallselect1,100,'aaa'unionallselect1,100,'aaa'unionallselect1,100,'aaa'unionallselect1,100,'aaa'unionallselect2,200,'bbb'unionallselect3,300,'ccc'unionallselect4,400,'ddd'unionallselect5,500,'eee'GO(1)借助临时表利用DISTINCT得到单条记录,删除源数据,然后导回不重复记录...
数据库操作教程 2022-09-23 17:21:18 -
图解SSIS批量导入Excel文件的实现方法
将一个目录下(可以包括子目录)结构一样的excel文件批量导入sql2005,可以用ssis来定制任务.下面用大量图片完全说明整个过程.1、建立测试excel文件,假设有abcd四个字段,保存在f:/excel目录下 并复制很多个一样的文件2、打开MicrosoftVisualStudio2005或者随sql2005安装的SQLServerBusinessIntelligenceDevelopmentStudio,新建一个商业智能项目。3、工具箱拖一个Foreach循环容器4、编辑容器,设定遍历目录和其他参数5、新建一个映射变量,用来存储遍历当中的文件路径6、怎么存储不用你关心,你只要指定一个变量名就ok了7、确定后,容器生成完毕,接着拖一个数据流任务到容器中8、切换到数据流tab页,拖一个excel源9、编辑excel源,选择一个刚刚的任意excel10、选择一个sheet11、拖一个oledb目标到数据流中12、按住excel源的绿色箭头,拖动到oledb目标上13、编辑oledb目标,选择一个sqlserver数据表,这个表必须是已经存在的,这里我们建立一个ssiste...
数据库操作教程 2022-09-23 17:19:31 -
SQLServer中数据库文件的存放方式,文件和文件组
简介 在SQLSERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQLSERVER通过管理逻辑上的文件组的方式来管理文件.理解文件和文件组的概念对于更好的配置数据库来说是最基本的知识。理解文件和文件组 在SQLSERVER中,通过文件组这个逻辑对象对存放数据的文件进行管理. 先来看一张图: 我们看到的逻辑数据库由一个或者多个文件组构成 而文件组管理着磁盘上的文件.而文件中存放着SQLSERVER的实际数据.为什么通过文件组来管理文件 对于用户角度来说,需对创建的对象指定存储的文件组只有三种数据对象:表,索引和大对象(LOB) 使用文件组可以隔离用户和文件,使得用户针对文件组来建立表和索引,而不是实际磁盘中的文件...
数据库操作教程 2022-09-23 17:19:21 -
基于存储过程的详细介绍
存储过程简介--------------------------------------------------------------------------------什么是存储过程:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程的好处:1.由于数据库执行动作时,是先编译后执行的...
数据库操作教程 2022-09-23 17:18:43 -
SQLServer日期相关资料详细介绍
一、日期类型:对于SQLServer2008来说(因为2000甚至2005已经稍微有被淘汰的迹象,所以在此不作过多说明,加上自己工作使用的是2008R2。所以不保证08以前的能用),日期类型有:数据类型格式范围精确度存储大小(以字节为单位)用户定义的秒的小数精度时区偏移量time hh:mm:ss[.nnnnnnn]00:00:00.0000000到23:59:59.9999999100纳秒3到5是否date YYYY-MM-DD0001-01-01到9999-12-311天3无无smalldatetime YYYY-MM-DDhh:mm:ss1900-01-01到2079-06-061分钟4无无datetime YYYY-MM-DDhh:mm:ss[.nnn]1753-01-01到9999-12-310.00333秒8无否datetime2 YYYY-MM-DDhh:mm:ss[.nnnnnnn]0001-01-0100:00:00.0000000到9999-12-3123:59:59.9999999100纳秒6到8有无datetim...
数据库操作教程 2022-09-23 17:17:50 -
bak文件怎么打开2000w数据怎么打开?
首先这个bak文件是SQL数据库的备份文件,要使用SQL恢复然后就可以查询了找到需要的文件注意解压出来有7GB+1、下载SQLserver2012express(带管理器)2、安装上那个“全新安装”3、打开SQLservermanagementstudio4、右键点击红圈圈“数据库”-----“还原数据库”确定导入---等待完成然后就会出现这个数据库右键,点击显示前1000行,右侧就会出现如图可以看见使用这些代码就可以显示出1000行的信息那么我们就去掉那个top1000变成这样然后最关键的在最下面加入点击“执行”下面就会出现结果我用ssd来搜索,大概要10秒完成检索,所以各位自己掂量吧。...
数据库操作教程 2022-09-23 17:15:57 -
只有mdf文件的数据库附加失败的修复方法分享(置疑、只读)
只有mdf文件的数据库附加失败的修复附加时报如下错误:服务器:消息1813,级别16,状态2,行1未能打开新数据库'test'。CREATEDATABASE将终止...
数据库操作教程 2022-09-23 17:15:47 -
将mater库中的系统存储过程批量生成*.sql文件通用且非常实用
大家都知道系统存储过程是无法用工具导出的(大家可以试试>任务>生成SQL脚本)因为系统存储过程一般是不让开发人员修改的。需要知识:1、xp_cmdshell命令的使用2、sp_MS_marksystemobject标记系统存储过程的方法3、dos命令,如type,>>等4、bcp命令的使用复制代码代码如下:usemastergoifOBJECT_ID('pr_procToSql')isnotnulldropprocpr_procToSqlgocreateprocpr_procToSql(@服务器名varchar(100),@用户名varchar(100),@密码varchar(100),@pathvarchar(200),@databasevarchar(200),@sysprocint='0'--是否标记为系统函数1:是,0:否,@proc_namevarchar(100)=''--默认是所有,可以模糊搜索,@savetypevarchar(200)='.sql'--默认保存为sql脚本)as/*版本:v1作者:达摩日期:2012-04-13功能:1将mast...
数据库操作教程 2022-09-23 17:13:58 -
如何将sql执行的错误消息记录到本地文件中实现过程
其实大家都知道sql语句的错误信息都可以在sys.messages表里面找到如:如果在执行语句在try...catch中我们可以通过以下方法获取错误信息。sql语句如下:复制代码代码如下:BEGINTRYSELECT3/0ENDTRYBEGINCATCHDECLARE@errornumberINTDECLARE@errorseverityINTDECLARE@errorstateINTDECLARE@errormessageNVARCHAR(4000)SELECT@errornumber=ERROR_NUMBER(),@errorseverity=ERROR_SEVERITY(),@errorstate=ERROR_STATE(),@errormessage=ERROR_MESSAGE()SELECT@errornumber,@errorseverity,@errorstate,@errormessageRAISERROR(@errormessage,--Messagetext,@errorseverity,--Severity,@errorstate,--State,@errornu...
数据库操作教程 2022-09-23 17:13:40 -
将Reportingservices的RDL文件拷贝到另外一台机器时报Dataattherootlevelisinvalid的解决方法
如下图所示:单击EditCode打开Code信息如下:经查Dataattherootlevelisinvalid是XML文件的错误信息。从上图可以看出在</Report>的根元素结束符后又多了许多脚本...
数据库操作教程 2022-09-23 17:10:04