SQL server 编程
文章平均质量分 62
xiaowenguili
这个作者很懒,什么都没留下…
展开
-
SQL Server学习记录之函数
函数分为标量值函数和表值函数,他们以返回值进行分类,返回一个基本类型值的为标量值函数;返回多个表记录的函数为表值函数。 注意1、在函数里面不能使用update,delete,into语句来操作数据库,这是函数和存储过程的区别之一,如下是错误的;原创 2015-09-15 16:45:50 · 416 阅读 · 0 评论 -
SQL Server关于星期的处理(日期处理)
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON go --创建定时赛自动开启作业 create procedure ContestTask as begin set nocount on declare @_weekday int --星期几 declare @_currentdate datetime--当前时间 declare @_currentYMD原创 2016-03-28 20:54:52 · 761 阅读 · 0 评论 -
生成六位不相同的密码
SELECT RIGHT(100000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 6) 随机数: RAND 返回从 0 到 1 之间的随机 float 值。 语法: RAND ( [ seed ] ) seed 提供种子值的整数表达式(tinyint、smallint 或 int)。如果未指定 seed,则 Microsoft SQL Ser原创 2016-05-17 17:09:24 · 1248 阅读 · 0 评论 -
sql索引
索引的概念索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法。索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录可以快速找到你想要的信息,而不需要读完全书。在数据库中,数据库程序使用索引可以重啊到表中的数据,而不必扫描整个表。书中的目录是一个字词以及各字词所在的页码列表,数据库中的索引是表中的值以及各值存储位置的列表原创 2016-07-13 10:24:42 · 1159 阅读 · 0 评论 -
sql约束
关键字:constraint 约束是保证数据正确的最后一道防线。 增加约束:add 删除约束:drop 更新约束:先drop后add 种类:(非空也算约束一种) 1)主键(PK) primary key :该属性能唯一标识一条记录 2)外键(FK) foreign key:外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持 数据的一致性。 比如A表中的一个字段UserID原创 2016-07-12 15:32:22 · 641 阅读 · 0 评论 -
T-SQL优化
1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置原创 2016-07-13 18:59:46 · 717 阅读 · 0 评论 -
表变量和临时表
定义一个sql server表变量的方法和定义一个用户自定义表的方法是一样的;然而,定义了一个表变量之后,你就不能再改变该表的定义了。而且你必须在定义这个表变量的时候给出它所有属性的定义。 定义表变量:DECLARE @T_ChartsIdeaItem1 Table(XData char(20) null,YData char(20) null)给表变量赋值一条记录INSERT INTO @T_C原创 2016-04-14 18:09:13 · 462 阅读 · 0 评论 -
子查询
现在所在公司使用的是SQL SERVER数据库,所以想精通SQL查询和SQL优化 本文转载自这里写链接内容概述:独立子查询 相关子查询 关键词解释:外部查询:查询结果集返回给调用者内部查询:查询结果集返回给外部查询。独立子查询:独立子查询独立于其外部查询的子查询,可以单独运行子查询。在逻辑上,独立子查询在执行外部查询之前先执行一次,接着外部查询再使用子查询的结果继续进行查询。相关子查询:引用了原创 2016-07-16 15:54:37 · 1947 阅读 · 0 评论 -
清除SQL Server日志
1.截断事务日志 Backup Log 数据库名 with no_log 2.清空日志 dump transaction 数据库名 with no_log 3.收缩数据库文件 DBCC SHRINKFILE (2) 收缩指定数据文件,2是文件号,可以通过这个语句查询到: use test select * from sysfiles go --test为数据库 Backup Log原创 2016-11-30 15:33:15 · 542 阅读 · 0 评论 -
SQL SERVER字符串的截取
功能:批量更新用户的金币 最优解决方法:把用户ID组成字符串通过参数传给存储过程,在存储过程里面把用户ID一个一个截取出来。DECLARE @param VARCHAR(100) SET @param='15001,1002,100563,100465' DECLARE @iUser INT SET @iUser=0 DECLARE @UserCount INT SET @UserCount=4原创 2017-02-28 17:29:20 · 1319 阅读 · 0 评论 -
创建自动备份数据库
在作业里面执行脚本DECLARE @strPath NVARCHAR(200) SET @strPath=CONVERT(NVARCHAR(19),GETDATE(),120) SET @strPath=REPLACE(@strPath,':','.') SET @strPath='D:\backup\' + 'GLtemp'+@strPath + '.bak' BACKUP DATAB原创 2017-03-07 20:27:47 · 265 阅读 · 0 评论 -
查找用到某个字段的所有存储过程
USE nf GO SELECT obj.Name, sc.TEXT FROM syscomments sc INNER JOIN sysobjects obj ON sc.Id = obj.ID WHERE sc.TEXT LIKE '%' + 'ContestCount' + '%' -- ContestCount为所要查询的字段 AND TYPE = 'P'原创 2016-03-28 20:50:38 · 1599 阅读 · 0 评论 -
SQL Server超连接查询
超连接查询也是连接查询,所以必须有两张或两张以上的表,超连接查询共包括四种,分别是内连接查询、左连接查询、右连接查询、全连接查询。 1、内连接查询 内连接查询也可以在on后面带有条件,如:select 姓名,城市 from 仓库 inner join 职工 on 职工.仓库号=仓库.仓库号 and 城市 is not null and 姓名 like '%王%' 2、左连接查询 左连接查询除满原创 2016-04-26 16:57:11 · 637 阅读 · 0 评论 -
SQL游标的使用
游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向转载 2016-04-13 10:59:34 · 273 阅读 · 0 评论 -
SQL Server学习记录之递增生成注册ID号
在数据库中,常用的一个流水编号通常会使用identity自动标识字段来进行设置,这种编号的好处是一定不会重复,而且一定是唯一的,这对table中的唯一值特性很重要,通常用来做客户编号,订单编号等功能,以下介绍关于此种字段常用方式及相关技术. 1、创建两张表UserInfo和CreateID,UserInfo存储成功注册的用户信息;CreateID表存储生成的用户ID use test go c原创 2015-09-28 17:16:02 · 1187 阅读 · 0 评论 -
SQL Server学习记录之数学函数
数学函数如下; 1、随机生成0-99的整数 use hy go declare @res int set @res=cast(rand()*10000 as int)--rand()函数生成0-1之间的小数,但不包括1,在这里扩大10000倍方便转换成整数 set @res=@res%100--对100取余产生0-99的整数 end --也可以作如下修改 use hy go decla原创 2015-09-29 16:19:04 · 361 阅读 · 0 评论 -
SQL Server学习记录之日期操作
1、ISNULL ( check_expression , replacement_value ) check_expression 将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。 replacement_value 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 注释 如果原创 2015-09-14 18:33:06 · 448 阅读 · 0 评论 -
SQL Server学习记录之事务处理
ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability).这是可靠数据库所应具备的几个特性.下面针对这几个特性进行逐个讲解. 原子性意味着数据库中的事务执行是作为原子。即不可再分,整个语句要么执行,要么不执行。 在SQL原创 2015-09-15 18:37:40 · 411 阅读 · 0 评论 -
SQL Server学习记录之set nocount on
网上的介绍:每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信息,提醒我们当前有多少个行受到了影响,这是些什么信息?在我们调用的时候这些信息有用吗?是否可以关闭呢? 答案是这些信息在我们的客户端的应用程序中是没有用的,这些信息是存储过程中的每个语句的DONE_IN_PROC 信息。 我们可以利用SET NOCOUNT 来控制这些信息,以达到提高程序性能的目的。 MSDN原创 2015-09-17 18:40:59 · 448 阅读 · 0 评论 -
SQL Server学习记录之语句优化
1、我之前写的没有优化的SQL语句:declare @getmoney int set @getmoney=0 select @getmoney=addscore from SignInRule where QMinDay=@countday //添加签到日志 set xact_abort on begin tran //修改个人金币 declare @tempmoney bigint s原创 2015-12-15 19:43:49 · 376 阅读 · 0 评论 -
SQL Server学习记录之字符串函数
1、字符串函数原创 2015-10-22 16:13:53 · 417 阅读 · 0 评论 -
SQL Server学习记录之作业
sqlSQL2008如何创建定时作业 SQL2008如何创建定时作业?此方法也适应于Sql Server2005数据库,有兴趣的可以来看下! 1.打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】; --2.首先在sql server配置管理器中启动【SQL Server 代理】 --3.展开【SQ原创 2016-01-09 15:26:04 · 365 阅读 · 0 评论 -
SQL Server学习记录之convert和cast的用法
convert是日期格式化函数 cast是将目的数据类型转化为基本数据类型 在工作中有这么个需求,星期一到星期五开三个房间,星期六到星期日再增加两个房间,月末再增加一个房间 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON go --创建定时赛自动开启作业 create procedure ContestTask as begin set n原创 2016-01-13 15:12:40 · 555 阅读 · 0 评论 -
SQL Server学习记录之获取每月每季度每年第一天和最后一天
DECLARE@dtdatetime SET@dt=GETDATE() DECLARE@numberint SET@number=3 --1.指定日期该年的第一天或最后一天 --A. 年的第一天 SELECTCONVERT(char(5),@dt,120)+'1-1' --B. 年的最后一天 SELECTCONVERT(char(5),@dt,120)+'12-31原创 2016-01-13 15:25:03 · 4870 阅读 · 0 评论 -
SQL Server学习记录之存储过程
1、下面是创建存储过程SP_TFishSuperControl的脚本 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON use NewHn2015 go if exists(select * from dbo.sysobjects where id=object_id('dbo.SP_TFishSuperControl'))--鍒ゆ柇瀛樺偍杩囩▼鏄惁瀛樺湪 b原创 2015-09-08 17:09:29 · 615 阅读 · 0 评论