-
实例理解SQL中truncate和delete的区别
本文以一个简单实例为大家介绍了SQL中truncate和delete的区别,帮助大家理解,具体内容如下---创建表Table1IFOBJECT_ID('Table1','U')ISNOTNULLDROPTABLETable1GOCREATETABLETable1(IDINTNOTNULL,FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable1VALUES(1,101),(2,102),(3,103),(4,104)GO---创建表Table2IFOBJECT_ID('Table2','U')ISNOTNULLDROPTABLETable2GOCREATETABLETable2(FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable2VALUES(101),(102),(103),(104)GOSELECT*FROMTable1GOSELECT*FROMTable2GO在Table1表中创建触发器,当表中的数据被删除时同时删除Table2表中对应的FOIDCREATETRIGGERTG_Table1ONTable1AFTERDELET...
数据库操作教程 2022-09-23 17:42:41 -
sqlserver建库、建表、建约束技巧
下面给大家分享下sqlserver建库、建表、建约束技巧,下文介绍有文字有代码。--创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在则创建----exists关键字:括号里边能查询到数据则返回‘true'否则返回‘false'ifexists(select*fromsysdatabaseswherename='School')--exists返回‘true'则执行删除数据库操作--dropdatabaseSchool--exists返回‘false'则表明数据库不存在,直接创建createdatabaseSchoolonprimary(--主数据库文件--name='School',--主数据文件逻辑名fileName='D:projectSchool.mdf',--主数据文件物理逻辑名size=5MB,--初始值大小maxsize=100MB,--最大大小filegrowth=15%--数据文件增长量)logon(--日志文件--name='School_log',filename='D:projectSchool_log.ldf',size=2MB...
数据库操作教程 2022-09-23 17:42:36 -
实例讲解sqlserver排名函数DENSE_RANK的用法
一、需求 之前sqlserver的排名函数用得最多的应该是RoW_NUMBER()了,我通常用ROW_NUMBER()+CTE来实现分页;今天逛园,看到另一个内置排名函数还不错,自己顺便想了一个需求,大家可以花1分钟先想想要怎么实现。 需求很简单:求成绩排名前五的学生信息...
数据库操作教程 2022-09-23 17:42:16 -
SQLServer2014哈希索引原理详解
当一个key-value键值对传递给一个哈希函数的时候,经过哈希函数的计算之后,根据结果会把key-value键值对放在合适的hashbuckets(哈希存储桶)里举个栗子我们假设对10取模(%10)就是哈希函数。如果key-value键值对的key是1525,传递到哈希函数,那么1525会存放在第五个bucket里因为5as1525%10=5...
数据库操作教程 2022-09-23 17:42:13 -
SQLLOADER错误小结
在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是工作中累积、整理记录的遇到的一些形形色色错误。希望能对大家有些用处...
数据库操作教程 2022-09-23 17:42:05 -
浅析SQLServer中的执行计划缓存(下)
在上篇文章给大家介绍了SQLServer中的执行计划缓存(上),本文继续给大家介绍sqlserver执行计划缓存相关知识,小伙伴们一起学习吧。简介在上篇文章中我们谈到了查询优化器和执行计划缓存的关系,以及其二者之间的冲突...
数据库操作教程 2022-09-23 17:41:58 -
SQLServer无法收缩日志文件的原因分析及解决办法
最近服务器执行收缩日志文件大小的job老是报错我所用的一个批量收缩日志脚本USE[master]GO/******Object:StoredProcedure[dbo].[ShrinkUser_DATABASESLogFile]ScriptDate:01/05/201609:52:39******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROC[dbo].[ShrinkUser_DATABASESLogFile]ASBEGINDECLARE@DBNAMENVARCHAR(MAX)DECLARE@SQLNVARCHAR(MAX)--临时表保存数据CREATETABLE#DataBaseServerData(IDINTIDENTITY(1,1),DBNAMENVARCHAR(MAX),Log_Total_MBDECIMAL(18,1)NOTNULL,Log_FREE_SPACE_MBDECIMAL(18,1)NOTNULL)--游标DECLARE@itemCurCURSORSET@itemCur=CURSORFORSELECTnamef...
数据库操作教程 2022-09-23 17:41:41 -
sqlserver创建临时表的两种写法和删除临时表
--创建、删除临时表--第一种方式createtable#tmp(namevarchar(255),idint)--第二种方式selectcount(id)asstoryNum,sum(convert(numeric(10,2),casewhenisnumeric(code)=1thencodeelse0end))ascodeNum,sum((casewhenisnumeric(realcode)=1thenconvert(numeric(10,2),realcode)else0.0end))asrealcodeNum,tdtname,cycle,jiracomponent,jirastatename,qualityvalue,storycodelltinto#tmpfromIKNOW_STORY_U2000V1R7C00groupbytdtname,cycle,jiracomponent,jirastatename,qualityvalue,storycodellt--查询临时表select*from#tmp--删除临时表ifobject_id('tempdb..#tmp')isno...
数据库操作教程 2022-09-23 17:41:35 -
安装完成后如何找回SQLServer实例安装时的序列号
当需要再次安装SQLServer时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQLServer后,序列号(ProductKey)被保存在注册表里;MSDN订阅下载的安装包是内置序列号的,则没有这个困扰。一.序列号保存在哪通过无文档记载的扩展存储过程xp_regread读取注册表:--ForSQLServer2008,2008R2usemasterGOexecxp_regread'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftMicrosoftSQLServer100ToolsSetup','ProductCode'execxp_regread'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftMicrosoftSQLServer100ToolsSetup','DigitalProductID'GO--ForSQLServer2012usemasterGOexecxp_regread'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftMicrosoftSQLServer110To...
数据库操作教程 2022-09-23 17:41:30 -
实例讲解SQLServer加密功能
SQLServer中加密是层级的,每一个上层为下提供保护。如图:实例:/**SMK(ServiceMasterKey)在SQLServer安装时生成,由WindowsDPAPI(DataProtectionAPI)提供保护**//**创建数据库级别DMK(DatabaseMasterKey),受SMK保护**/createmasterkeyencryptionbypassword=N'Passw0rd'go/**数据库内的加密对象受DMK保护支持的对称加密算法:DES|TRIPLE_DES|TRIPLE_DES_3KEY|RC2|RC4|RC4_128|DESX|AES_128|AES_192|AES_256非对称加密算法:RSA_512|RSA_1024|RSA_2048注意避免使用RC,DESX类算法,2014之后会删除此功能**/--1.创建非对称密钥.createasymmetrickeyasyc_key_encwithalgorithm=RSA_1024encryptionbypassword=N'Pass@word'go--2.创建对称密钥.createsymmetrick...
数据库操作教程 2022-09-23 17:41:25 -
关于SQL的几道小题详解(sql进阶)
当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样的惯性思维其实早在我们度高中的时候就被领教了,所谓“万变不离其宗”吧。以下各题来自日常所见,或QQ群,或面试题,或博客园...
数据库操作教程 2022-09-23 17:41:18 -
SQLServer数据库bcp导出备份文件应用示例
/***授权*/EXECsp_configure'showadvancedoptions',1;goreconfigure;goexecsp_configure'xp_cmdshell',1;goreconfigure;go/**导入指定表的文本文件*/EXECmaster..xp_cmdshell'bcpdbname..tablenameind:DT.txt-c-Sservername-Usa-Ppassword'execmaster..xp_cmdshell'bcp"select*fromdbname..tablename"queryout"D:20140528.xls"-c-Sservername-Uuser-Ppassword'xp_cmdshell参数说明下面是我自己写的一个存储过程,可以直接拿去使用第一步,先要授权。上面有授权的SQL代码ifexists(select*fromsysobjectswheretype='p'andname='sp_export_posm_data')begindropproceduresp_export_posm_data;end;gocre...
数据库操作教程 2022-09-23 17:41:18