-
drop,truncate与delete的区别
注意:这里说的delete是指不带where子句的delete语句相同点truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:1.truncate和delete只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作不触发trigger.3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动显然drop语句将表所占用的空间全部释放truncate语句缺省情况下将空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始).4.速度,一般来说:dr...
数据库操作教程 2022-09-23 16:54:06 -
SQLSERVER中datetime和smalldatetime类型分析说明
datetime和smalldatetime代表日期和一天内的时间的日期和时间数据类型。MicrosoftSQLServer用两个4字节的整数内部存储datetime数据类型的值...
数据库操作教程 2022-09-23 16:53:58 -
Cont()与Where().Count()有时性能差别如此之大!
想起我之前在此列表中加入了一个字段,用于方便提示管理员公司的产品列表是否有修改之类的状态字段,于是可以断定是加了此字段的原因。首先,先看看我之前是如何写这个提示状态字段的,实体中加入ContentStatus,然后直接在Linq语句中Select实体对象中加入ContentStatus=Product_Maintain.Count(C=>C.CompanyID==company.ID&&C.IsDeleted==0&&(C.AuditStatus==0||C.AuditStatus==4))>0?"产品有更新":""...
数据库操作教程 2022-09-23 16:52:48 -
mssqlinsertinto和insertintoselect性能比较
使用insertintotable(field,...)values(value,...),insertintotable(field,...)values(value,...)...的情况 使用insertintotable(field,...)select(value,...)unionallselect(value,...)unionallselect(value,...)...的情况我一次插入的数据是:1190条。用insertinto所用的时间在510毫秒上下徘徊,而用insertintoselect所用的时间在16毫秒上下徘徊...
数据库操作教程 2022-09-23 16:52:19 -
sqlldr装载数据实现代码
这里用excel数据做个最简单的测试。1)把excel数据存为t.txt文件,注意文件后缀名为.txt1jhchen11/07/200520:04:002005-11-720:042jhchen11/07/200520:04:002005-11-720:043jhchen11/07/200520:04:002005-11-720:042)SQL>createtablet_load( idnumber,namevarchar2(10),dat1date,dat2date,dat3date);Tablecreated.3)控制文件t.ctl如下loaddatainfile't.txt'badfile't.bad'appendintotablet_loadfieldsterminatedbyX'09' trailingnullcols(id,name,dat1date"mm/dd/yyyyhh24:mi:ss",dat2date"yyyy-mm-ddhh24:mi:ss")其中,X'09'是制表符,TAB键,trailingnullcols表示如表的字段没有对应的值时允许为...
数据库操作教程 2022-09-23 16:50:31 -
sum(casewhenthen)(判断男女生的个数)
判断类似一个班级的男生和女生的人数,用sum(cesewhenthen)复制代码代码如下:selectcount(er.execute_result),sum(caseer...
数据库操作教程 2022-09-23 16:46:40 -
insertintoselect和selectinto的使用和区别介绍
insertinto...select...:可将表1中的全部数据或者部分数据复制到表2中。eg:复制代码代码如下:insertintot2(id,name,pwd)selectid,name,pwdfromt1注:t2必须存在...
数据库操作教程 2022-09-23 16:46:36 -
Selectcount(*)、Count(1)和Count(列)的区别及执行方式
在SQLServer中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的...
数据库操作教程 2022-09-23 16:45:13 -
SQLServer2012身份验证(Authentication)
在保密你的服务器和数据,防备当前复杂的攻击,SQLServer有你需要的一切。但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念...
数据库操作教程 2022-09-23 16:44:30 -
hive中将string数据转为bigint的操作
使用CAST函数将STRING转为BIGINT:SELECTCAST('00321'ASBIGINT)FROMtable;AsaBIGINTitwillshowonthescreenandindelimitedtextfilesas321.参考:Hive-Convertingastringtobigint补充知识:hive中bigint和varchar字段做关联,关联数据错误的解决方法把bigint和varchar都隐式转换成String类型的就可以关联出正确的结果了cast(t1.PARTY_NUMasstring)=cast(t12.customerIdasstring)以上这篇hive中将string数据转为bigint的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。...
数据库操作教程 2022-09-23 16:42:01 -
SQLServerEVENTDATA()函数来获取DDL触发器信息
复制代码代码如下:--CreatealogtableCREATETABLETriggerLog(LogInfoxml)--CreateadummytabletodeletelateronCREATETABLETableToDelete(IdintPRIMARYKEY)--新建一个新表,作为删除实验表INSERTINTOTableToDeleteVALUES(1)GO--创建一个DropTable的DDLCREATETRIGGERStopTableDropONDATABASEAFTERDROP_TABLEASDECLARE@EventDataASxmlSET@EventData=EVENTDATA()--必须要在rollback之前截获DDL信息ROLLBACKPRINT'DROPTABLEattemptindatabase'+DB_NAME()+'.'INSERTINTOTriggerLogVALUES(@EventData)执行如下删除操作:DROPTABLETableToDelete会触发上面的DDL,从而回滚操作。执行下面的Sql:SELECT*FROMTriggerLog查看刚...
数据库操作教程 2022-09-23 16:41:39 -
vivoXFold+官宣:9月26日19:00发布见证强者的进化
此前vivo已发布了首款折叠屏旗舰vivoXFold。与vivoX系列旗舰手机一样,vivoXFold也有升级款机型...
手机互联 2022-09-21 12:31:59