摘要:使用过SQL Server的人大多都知道,SQL Server服务器默认监听的端口号是1433,但是我今天遇到的问题是我的机器上有三个数据库实例,这样使用TCP/IP远程连接时就产生了问题。如何在Microsoft SQL Server Management Studio里加入端口号连接呢?如果你熟悉SQL Server连接字符串的写法,估计你肯定知道答案啦,呵呵,但是我不知道啦,所以记录一下过程。 我从ConnectionStrings.com网站上找到了答案,下面是带有端口号的连接字符串截图: 由此可见,加端口号使用的是逗号(,)而不是冒号(:)。看一下连接截图吧, 192.168....
阅读全文
随笔分类 - sqlserver
摘要:问题如下图所示:现在a表中的column1与b表中的column2是关连的,而现在想做的就是给b表column3赋值。以上第一个是查询的a表,第二个查询的b表。而我现在想要的结果如下图:哈哈……b表column3列的值之前是空值,现在我用a表column2值已经把它更新过来了。像这样类似的SQL代码网上多的是,我给大家看一下网上的其它的SQL代码。1、UPDATE T1 SET T1.NAME=T2.NAME FROM T2 WHERE T1.ID=T2.ID2、创建触发器吧Create trigger name_up forupdate asupdate t1 a set a.name=b.
阅读全文
摘要:sql查询中group by 和 having等结合使用,可实现Excel中的分类汇总!
阅读全文
摘要:基于合理的数据库设计,经过深思熟虑后为表建立索引,是获得高性能数据库系统的基础。而未经合理分析便添加索引,则会降低系统的总体性能。索引虽然说提高了数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题的一个比较好的方法,就是分析应用程序的业务处理、数据使用,为经常被用作查询条件、或者被要求排序的字段建立索引。基于优化器对SQL语句的优化处理,我们在创建索引时可以遵循下面的一般性原则:(1)为经常出现在关键字order by、group by、distinct后面的字段,建立索引。在这些字段上建立索引,可以
阅读全文
摘要:exists (sql 返回结果集为真) notexists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 2 A2 3 A3 表B ID AID NAME 1 1 B1 2 2 B2 3 2 B3 表A和表B是1对多的关系 A.ID => B.AID SELECT ID,NAME FROM A WHERE EXIST (SELECT*FROM B WHERE A.ID=B.AID) 执行结果为 1 A1 2 A2 原因可以按照如下分析 SELECT ID,NAME FROM A WHEREEXISTS (SELECT*FR...
阅读全文
摘要:什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。 同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。 • SQL Server中的数据也是按页( 4KB )存放 • 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据 。 • 索引页:数据库中存储索引的数据页;索
阅读全文
摘要:什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。• SQL Server中的数据也是按页( 4KB )存放• 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据 。• 索引页:数据库中存储索引的数据页;索引页类似于
阅读全文
摘要:SQLServer时间日期函数详解,SQLServer,时间日期,1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数。 select datediff(day,'2004-09-01','2004-09-18') --返回:17 select d
阅读全文
摘要:这两天工作中碰到统计信息的程序.按类别,年,月…来统计不同栏目的信息数量.总结下自己查阅的一些函数.计算时间的函数中有,年(yy),季(q),月(m),周(ww),时期(w),天(d),时(hh),分(n),秒(s)getdate():返回当前日期获取当前月份的天数:select datediff(d,getdate(),dateadd(m,1,getdate()))获取当前年,季,月,周,天,时,分,秒:select datepart(yy,getdate()) //年select datepart(q,getdate()) //季select datepart(m,getdate()) /
阅读全文
摘要:返回一个包含已知日期的指定时间部分的 Variant (Integer)。 语法 DatePart(interval, date[,firstdayofweek[, firstweekofyear]]) DatePart 函数语法中有下列命名参数: 部分 描述 interval 必要。字符串表达式,是要返回的时间间隔。 date 必要。要计算的 Variant (Date) 值。 Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。 firstweekofyear 可选。指定一年第一周的常数。如果未予指定,则以包含 1 月 1 日的...
阅读全文
摘要:一、SQl跨服务器查询的实现 SQl跨服务器查询的二种实现方法:?123456789select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=远程ip;User ).库名.dbo.表名 insert 本地库名..表名 select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=远程ip;User ).库名.dbo.表名或使用联结服务器:?123EXEC sp_addlinkedserver '别名','','
阅读全文
摘要:用openrowset连接远程SQL或插入数据--如果只是临时访问,可以直接用openrowset--查询示例select * from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--导入示例select * into 表 from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--创建链接服务器exec sp_addlinkedserv
阅读全文
摘要:sql中 with rollup 、with cube、grouping 统计函数用法 SQL codewith rollup 、with cube、groupingCUBE 和 ROLLUP 之间的区别在于:CUBE 生成的结果集显示了所选列中值的所有组合的聚合。ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。grouping:当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0。--例如DECLARE @T TABLE(名称 VARCHAR(1) , 出版商 VARCHAR(10), 价格
阅读全文
摘要:ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。下面是 CUBE 和 ROLLUP 之间的具体区别:CUBE 生成的结果集显示了所选列中值的所有组合的聚合。ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。ROLLUP 优点:(1)ROLLUP 返回单个结果集,而 COMPUTE BY 返回多个结果集,而多个结果集会增加应用程序代码的复杂性。(2)ROLLUP 可以在服务器游标中使用,而 COMPUTE BY 则不可以。(3)有时,查询优化器为 ROLLUP 生成的执行计划比为 COMPUTE BY 生成的更为高效。下面对比一下GROUP BY 、CUBE
阅读全文
摘要:CAST 和 CONVERT 将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。语法 使用 CAST:CAST ( expression AS data_type )使用 CONVERT:CONVERT (data_type[(length)], expression [, style])参数 expression是任何有效的 Microsoft® SQL Server™ 表达式。有关更多信息,请参见表达式。data_type目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用的数据
阅读全文
摘要:1. ISNULL使用指定的替换值替换 NULL。语法ISNULL ( check_expression , replacement_value ) 2. ROLLUP ( )生成简单的 GROUP BY 聚合行以及小计行或超聚合行,还生成一个总计行。返回的分组数等于 中的表达式数加一。例如,请考虑下面的语句。SELECT a, b, c, SUM ( )FROM TGROUP BY ROLLUP (a,b,c)会为 (a, b, c)、(a, b) 和 (a) 值的每个唯一组合生成一个带有小计的行。还将计算一个总计行。列是按照从右到左的顺序汇总的。列的顺序会影响 ROLLUP 的输出分组..
阅读全文
摘要:对,不一样。insert into a select * from b;--向存在表中插入数据,如果不存在表a报错。 select * into a from b;--创建新表的同时插入数据,如果表a存在,报错。1、a表已经建立,只是插入数据!2、a表压根就没有,这一句既建表又插入数据!——二者的区别就是:a表什么时候建!
阅读全文
摘要:--=============================--SQL基础--> 约束(CONSTRAINT)--=============================一、几类数据完整性 实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键 域完整性:表中字段值必须与字段数据类型、格式、有效范围相吻合 参照完整性:不能引用不存在的值 自定义完整性:根据特定业务领域定义的需求完整性 保证数据完整性的几种常用方法 约束(最常用) 过程 函数 触发器 实体完整性:primary key、unique、索引(index) 域完整性:check、foreign key
阅读全文
摘要:一个我写的实例:其中多表连接,一共连接了3个表。使用聚集函数SUM,用到了GROUP BYSELECT a.[UserID],b.[Name],sum (c.[Money]+c.[Bank])as TotalMoneyFROM Table1 a(nolock) LEFTJOIN Table2 b(nolock) on a.[UserID]= b.[UserID] LEFTJOIN Table3 c(nolock) ON b.[UserID]=c.[UserID] WHERE a.[UserID]= b.[UserID]and a.[UserID]= c.[UserID]and a.[Time]
阅读全文

浙公网安备 33010602011771号