-
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
/*--1UNION运算符是将两个或更多查询的结果组合为单个结果集使用UNION组合查询的结果集有两个最基本的规则:1。所有查询中的列数和列的顺序必须相同...
数据库操作教程 2022-09-23 16:56:38 -
union组合结果集时的order问题
近日,在一个项目中用到union组合两个select结果,调试sql时总是报错,所报错误也只是说在union附近有问题,因为sql中用到了group,我想也许是union不支持吧,由于时间紧,就先在程序中做了合并处理。但程序员对于代码的完美性要求总是不能放弃的,所以,常常会有如鲠在喉的感觉,不搞明白心里会不舒服...
数据库操作教程 2022-09-23 16:56:30 -
sql2005HashBytes加密函数
有关函数HashBytes请参考:http://msdn.microsoft.com/en-us/library/ms174415.aspx 在做项目的时候,在sql中使用了hashbytes函数,运用md5算法去加密一密码。代码如下 DECLARE@pswnvarchar(20) SET@psw='admin' SELECThashbytes('md5',@psw) 输出结果:0x19A2854144B63A8F7617A6F225019B12前面的0x是16进制的意思...
数据库操作教程 2022-09-23 16:55:22 -
selectinto和insertintoselect两种表复制语句
第一句:SELECT*INTO[ToTable]FROM[FromTable]第二句:INSERTINTO[ToTable]([fild_One],[fild_Two])SELECT[fild_One],8FROM[FromTable]以上两句都是将[FromTable]的数据插入到[ToTable],但两句又有区别的:第一句(SELECTINTOFROM)要求目标表[ToTable]不存在,因为在插入时会自动创建。第二句(INSERTINTOSELECTFROM)要求目标表[ToTable]存在,由于目标表已经存在,所以我们除了插入源表[FromTable]的字段外,还可以插入常量,如例中的:8...
数据库操作教程 2022-09-23 16:55:15 -
sqlserver日志恢复方法(搞定drop和truncate)
--1usemasterbackupdatabaselogTesttodisk='D:ProgramFilesMicrosoftSQLServerMSSQL10.MSSQLSERVERMSSQLBackuplogTest...
数据库操作教程 2022-09-23 16:55:03 -
sql查询结果合并unionall用法_数据库技巧
复制代码代码如下:--合并重复行select*fromAunionselect*fromB--不合并重复行select*fromAunionallselect*fromB按某个字段排序--合并重复行select*from(select*fromAunionselect*fromB)ASTorderby字段名--不合并重复行select*from(select*fromAunionallselect*fromB)ASTorderby字段名//sqlserver版Select*From(selecttop2id,adddate...
数据库操作教程 2022-09-23 16:54:35 -
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 -
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 -
学会sql数据库关系图(Petshop)
很久以前就知道微软的Petshop的很经典,昨天抽出时间去学习,一开始还真的不适应,什么成员资格,还真的看不太懂,运行petshop想从登陆学起,但是用户名和密码都不知道,后来发现有更注册的页面,自己注册了一个页面,才发现还得从数据库出发。花了这么多时间最终还是回到了数据库,但是数据库中一张一张的表格找不到脚本,也不是自己设计的数据库,完全没有一点头绪,后来突然想起来sql有个数据库关系图,可以很快的适合数据库程序员很快的掌握数据库表之间的关系...
数据库操作教程 2022-09-23 16:51:22 -
deletefrom表名与truncatetable表名区别
1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子2.truncate只能一次清空,不能按条件删除...
数据库操作教程 2022-09-23 16:49:22 -
用SQL脚本读取Excel中的sheet数量及名称的方法代码
复制代码代码如下:--Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet --设置变量 declare@linkedServerNamesysname='TempExcelSpreadsheet' declare@excelFileUrlnvarchar(1000)='D:text.xlsx' --/SET --删除链接服务(如果它已经存在) ifexists(selectnullfromsys...
数据库操作教程 2022-09-23 16:46:48