
SQL数据库
文章平均质量分 94
微雨燕双飞
学无止境
展开
-
SQL Server 批量插入数据的三种方法分析对比
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters)。运行下面的脚本,建立测试数据库和表值参数。[c-sharp] view plai原创 2014-05-12 15:09:18 · 2630 阅读 · 0 评论 -
SQL Server 开窗排名函数
内容摘要: Transact-SQL提供了4个排名函数: RANK(),DENSE_RANK(),ROW_NUMBER(),NTILE(),下文是对这4个函数进行的解释。下面是对这4个函数的解释: RANK() 返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。 如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名。 例如,如果两位销售员具有...原创 2014-06-25 11:32:09 · 1644 阅读 · 0 评论 -
web.config connectionStrings 数据库连接字符串的解释
先来看一下默认的连接SQL Server数据库配置 SqlConnectionStringBuilder实例化时需要使用connectionString。如:SqlConnectionStringBuild builder = new SqlConnectionStringBuild(connectionString);一、Data SourceSqlCon原创 2014-06-07 12:14:23 · 1392 阅读 · 0 评论 -
SQL Server Profiler工具
一、SQL Profiler工具简介SQL Profiler是一个图形界面和一组系统存储过程,其作用如下:图形化监视SQL Server查询;在后台收集查询信息;分析性能;诊断像死锁之类的问题;调试T-SQL语句;模拟重放SQL Server活动;也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动。这样的活动被称为Profiler跟踪。翻译 2014-11-11 11:07:33 · 1390 阅读 · 0 评论 -
Sql Server获得数据库表、列,判断是否存在对象
--1:获取当前数据库中的所有用户表select Name from sysobjects where xtype='u' and status>=0--2:获取某一个表的所有字段select name from syscolumns where id=object_id(N'表名')--3:查看与某一个表相关的视图、存储过程、函数select a.* fr原创 2014-06-07 17:01:26 · 1568 阅读 · 0 评论 -
查询和删除表中重复数据sql语句
1、查询表中重复数据。select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记原创 2012-02-01 13:58:11 · 653 阅读 · 0 评论 -
SQL 代码片段
1:重置表 --- 删除原表数据,并重置自增列 truncate table tablename --truncate方式也可以重置自增字段--重置表的自增字段,保留数据 DBCC CHECKIDENT (tablename,reseed,0) -- 设置允许显式插入自增列 SET IDENTITY原创 2013-06-24 21:31:52 · 1055 阅读 · 0 评论 -
开窗函数 OVER(PARTITION BY)函数介绍
开窗函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化。--排序,即便值一样,也不会出现重复排序,select ROW_NUMBER()over(order by name) as 排序,* from T2_TEMP--排序,值一样,就重复...原创 2019-01-11 15:12:42 · 34990 阅读 · 4 评论 -
SQL Server将一列的多行内容拼接成一行
比如表中有两列数据 :ep_classesep_nameAAA企业1AAA企业2AAA企业3BBB企业4BBB企业5我想把这个表变成如下格式:ep_classes ep_nameAAA企业1,企业2,企业3BBB...转载 2019-03-26 11:18:14 · 1633 阅读 · 0 评论 -
sql去重复操作详解SQL中distinct的用法
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。表A:表B:1.作用于单列select distinct name from A执行后结果如下:2.作用于多列示例2.1select distinct name, id from A执行后结果如下:...原创 2019-03-26 11:21:32 · 22658 阅读 · 0 评论 -
SqlServer PIVOT函数快速实现行转列,UNPIVOT实现列转行
我们在写Sql语句的时候没经常会遇到将查询结果行转列,列转行的需求,拼接sql字符串,然后使用sp_executesql执行sql字符串是比较常规的一种做法。但是这样做实现起来非常复杂,而在SqlServer2005中我们有了PIVOT/UNPIVOT函数可以快速实现行转列和列转行的操作。PIVOT函数,行转列PIVOT函数的格式如下PIVOT(<聚合函数>(...转载 2019-05-22 09:58:49 · 565 阅读 · 1 评论 -
SqlServer获取存储过程的返回值
1.OUPUT参数返回值CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @原创 2014-04-29 16:15:00 · 787 阅读 · 0 评论 -
sql server 修改表结构语法大全
1.增加字段 alter table docdsp add dspcode char(200)2.删除字段 alter table table_name drop column column_name3.修改字段类型 alter table table_name alter column column_name new_data_type原创 2012-12-14 16:32:07 · 2085 阅读 · 0 评论 -
SQL 语句技巧
1、应用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,CO转载 2011-11-22 19:47:16 · 568 阅读 · 0 评论 -
SQL SELECT的输出选项
SQL SELECT的输出选项1.将查询到的学生信息存放在数组tmp中并显示:SELECT * FROM student INTO ARRAY tmpDISPLAY MEMO LIKE tmp2. 将查询到的学生信息存放在临时文件tmp中并显示;SELECT * FROM student INTO CURSOR tmpLIST 3.将查询到的学生信息存放到表studen原创 2011-12-16 12:37:58 · 2294 阅读 · 1 评论 -
select SCOPE_IDENTITY()
select SCOPE_IDENTITY()返回上面操作的数据表最后row的IDENTITY 列的值;返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。SELECT @@IDENTITY返回上面操作最后一个数原创 2012-02-01 13:57:08 · 1087 阅读 · 0 评论 -
触发器
更新类型触发器: ALTER TRIGGER [dbo].[tag_T_Bus_OutBuys] ON [dbo].[T_Bus_OutBuys] AFTER UPDATE as begin Declare @PostId intselect @PostId=Post_Id from insertedupdate T_Bus_OutBuys set outtime=原创 2012-03-03 08:58:40 · 848 阅读 · 0 评论 -
推荐几款优秀的数据比较同步工具
最近一直在帮忙客户找程序方面的问题。当确定不是程序上的问题后,痛苦的过程就开始了:帮助客户修复计算错误的数据,也叫Data Fix。我们的ERP系统有1000多个表,有100个基础数据表,比如物料表,物料清单,工作单,销售单,采购单,这里包含表头(Header)和表明细(Detail),再加上100多个数据关联表,比如工作单与销售单的关联,工作单与物料进出,物料进出与仓库日记帐,仓库日记帐进而产生翻译 2012-04-25 00:10:44 · 1942 阅读 · 0 评论 -
数据库时间格式转换
数据库时间格式转换Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(va原创 2012-05-02 11:21:44 · 2474 阅读 · 0 评论 -
SQL数据库设计经验大全
一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走转载 2012-01-03 11:24:31 · 954 阅读 · 0 评论 -
数据库设计精良原则
1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,原创 2012-06-04 11:26:44 · 1175 阅读 · 2 评论 -
SQL语句:插入数据的同时,返回ID值 (自增)
SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话原创 2011-10-25 21:09:01 · 10473 阅读 · 0 评论 -
浅谈SQL SERVER中事务的ACID
浅谈SQL SERVER中事务的ACID简介ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability).这是可靠数据库所应具备的几个特性.下面针对这几个特性进行逐个讲解.理解原子性(Atomicity原创 2012-07-31 15:42:44 · 1826 阅读 · 0 评论 -
Group by与having理解
注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里。1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要)例如,有如下数据库表:A B 1 abc原创 2013-01-14 16:32:14 · 556 阅读 · 0 评论 -
sql server 分组统计数据
分组统计数据说明:group by是sql中对数据表中的数据进行分组的,在select列表中出现的字段必须全部出现在group by 字段中,出现在聚合函数中的字段在group by中可有可无,没有出现在select列表中的字段在group by中也可以使用。在group by中不可以使用列别名。语法:select column_name,aggregate_function(column原创 2013-07-09 18:02:05 · 2346 阅读 · 0 评论 -
Sql中 EXCEPT、INTERSECT、Union用法
EXCEPT 返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。INTERSECT 返回 两个结果集的交集(即两个查询都返回的所有非重复值)。UNION返回两个结果集的并集。语法:{ (<SQL-查询语句1>) }{ EXCEPT | INTERSECT }{ (<SQL-查询语句2> )}限制条件(1)所有查询中的列数和列...转载 2019-08-20 10:12:31 · 1373 阅读 · 0 评论