-
秒懂drop、truncate和delete的区别
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATETABLE则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的...
数据库操作教程 2022-09-23 18:24:42 -
table行转列的sql详解
一、要求1创建数据表CREATETABLE[dbo].[StuScore]([stuid][int]NOTNULL,[subject][nvarchar](30)NULL,[score][decimal](5,1)NULL)2插入测试数据stuidsubjectscore3chinese76.03math73.04chinese82.05chinese66.05math93.06chinese67.07math83.08chinese77.08math84.03行转列后的结果stuidchinesemath376.073.0482.00.0566.093.0667.00.070.083.0877.084.0二、分析1行转列,一个重点就是怎么样知道有多少列,怎么样创建这些列?我们可以先把这个问题搁置,而假设这些列是已知的。例如示例数据中,可以先假设subject的数据[chinese,math]是已知的,这样问题就简化了许多2当已知了chinese,math后,我们至少要先得到转换后的tabel结构如下;selectstuid,0aschinese,0asmathfromdbo.StuS...
数据库操作教程 2022-09-23 18:24:10 -
SQL删除语句DROP、TRUNCATE、DELETE的区别
DROP:DROPTABLEtest;删除表test,并释放空间,将test删除的一干二净。TRUNCATE:TRUNCATEtest;删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在...
数据库操作教程 2022-09-23 18:24:10 -
SQLServerAlert发送告警邮件少了的原因
最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警“SQLServerSeverityEvent14” USE[msdb]GOIFNOTEXISTS(SELECT1FROMmsdb.dbo.syscategoriesWHERENAME='DBA_MONITORING'ANDcategory_class=2)BEGINEXECmsdb.dbo.sp_add_category@class=N'ALERT',@type=N'NONE',@name=N'DBA_MONITORING';ENDGOIFEXISTS(SELECTnameFROMmsdb.dbo.sysalertsWHEREname=N'SQLServerSeverityEvent14')EXECmsdb.dbo.sp_delete_alert@name=N'SQLServerSeverityEvent14'GOEXECmsdb.dbo.sp_add_alert@name=N'SQLServerSeverityEvent14',@mess...
数据库操作教程 2022-09-23 18:22:59 -
详解SQLEXISTS运算符
EXISTS运算符EXISTS运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回True,否则返回False。SQLEXISTS语法SELECTcolumn_name(s)FROMtable_nameWHEREEXISTS(SELECTcolumn_nameFROMtable_nameWHEREcondition);演示数据库在本教程中,我们将使用RUNOOB样本数据库...
数据库操作教程 2022-09-23 18:22:35 -
SQLServer使用触发器(trigger)发送电子邮件步骤详解
sql使用系统存储过程sp_send_dbmail发送电子邮件语法:sp_send_dbmail[[@profile_name=]'profile_name'][,[@recipients=]'recipients[;...n]'][,[@copy_recipients=]'copy_recipient[;...n]'][,[@blind_copy_recipients=]'blind_copy_recipient[;...n]'][,[@subject=]'subject'][,[@body=]'body'][,[@body_format=]'body_format'][,[@importance=]'importance'][,[@sensitivity=]'sensitivity'][,[@file_attachments=]'attachment[;...n]'][,[@query=]'query'][,[@execute_query_database=]'execute_query_database'][,[@attach_query_result_as_file=]atta...
数据库操作教程 2022-09-23 18:22:28 -
Oracle删除用户和表空间详细介绍
Oracle删除用户和表空间Oracle使用时间长了,新增了许多user和tablespace.需要清理一下对于单个user和tablespace来说,可以使用如下命令来完成。 步骤一: 删除userdropuser××cascade说明:删除了user,只是删除了该user下的schemaobjects,是不会删除相应的tablespace的...
数据库操作教程 2022-09-23 18:17:51 -
SQLiteDelete详解及实例代码
SQLiteDelete详解SQLite的DELETE查询用于删除表中已有的记录。可以使用带有WHERE子句的DELETE查询来删除选定行,否则所有的记录都会被删除...
数据库操作教程 2022-09-23 18:15:31 -
SqlServer2016新功能之Row-LevelSecurity(值得关注)
SqlServer2016有一个新功能叫Row-LevelSecurity,大概意思是行版本的安全策略(原来我是个英语渣_(:з」∠)_)直接上例子。这个功能相当通过对表添加一个函数作为过滤规则,使得拥有不同条件的用户(或者登录名)之类的,只能获取到符合条件的数据...
数据库操作教程 2022-09-23 18:09:32 -
sqlserver定时作业调用Kettlejob出错的快速解决方法
错误信息:Unabletolistjarfilesinpluginfolder'C:Windowssystem32configsystemprofile.kettleplugins'UnabletogetVFSFileobjectforfilename'C:Windowssystem32configsystemprofile.kettleplugins':CouldnotfindfilewithURI"C:Windowssystem32configsystemprofile.kettleplugins"becauseitisarelativepath,andnobaseURIwasprovided.UnabletogetVFSFileobjectforfilename'C:Windowssystem32configsystemprofile.kettleplugins':CouldnotfindfilewithURI"C:Windowssystem32configsystemprofile.kettleplugins"becauseitisarelativepath,andnobase...
数据库操作教程 2022-09-23 18:09:14 -
浅析SQLServer的分页方式ISNULL与COALESCE性能比较
前言上一节我们讲解了数据类型以及字符串中几个需要注意的地方,这节我们继续讲讲字符串行数同时也讲其他内容和穿插的内容,简短的内容,深入的讲解。(可参看文章《详解SQLServer中的数据类型》)分页方式在SQL2005或者SQL2008中我们是利用ROW_NUMBER开窗函数来进行分页的,关于开窗函数,我们在SQL进阶中会详细讲讲...
数据库操作教程 2022-09-23 18:08:42 -
SQLSERVER中SELECT和SET赋值相同点与不同点(推荐)
SELECT和SET在SQLSERVER中都可以用来对变量进行赋值,但其用法和效果在一些细节上有些不同。1.在对变量赋值方面,SET是ANSI标准的赋值方式,SELECT则不是...
数据库操作教程 2022-09-23 18:05:51