龙鱼家园,个性,交流,技术,专注于网站技术的研究 龙鱼家园 | 数据库

Sql Server 中 text或ntext 字段内容替换方法总结

update 表名 set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值') http://blog.chinaunix.net/u/484/showart_1071250.html

SQL Server压缩日志及数据库文件大小

请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库。 一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据。第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。 1、清空日志 DUMP  TRANSACTION  库名  WITH NO_LOG 2、截断事务日志 BACKUP LOG 数据库名 WITH NO_LOG ... [更多...]

Rate Function

在做分析报表,常常会做到比率计算,由于在MS SQLServer中,特别一点,就是得需要注意分母值问题,所以写了一个自定义函数,日后使用时,只需传入两个参数(分子,分母)即可。代码SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE FUNCTION [dbo].[udf_Rate] (         @Numerator DECIMAL(18,6),  ... [更多...]

判断字段是否已经存在表中

编写存储过程时,如果需要对表添加一个字段,或是修改表的字段时,首先判断字段是否已经存在表中,可以以下面语法进行判断: IF NOT EXISTS(SELECT name FROM syscolumns where id = OBJECT_ID('表名') AND syscolumns.name ='字段名')    PRINT '字段不存在。'ELSE &nb... [更多...]

存储过程处理前端选择多值集合

在存储过程中,有时需要处理前端传入的如数组集合,方法可以参考下面实例: 代码SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE [dbo].[usp_FqaVisual_GetWorkPlaceReport](        @WorkPlaceCollections NVARCHAR(50) --用户选择的场所集合,如:"2,5,6,7&quo... [更多...]

数据库清理日志sql server

日志的逻辑文件名是DBNAME_LOG,数据库DBNAME:   USE   DBNAME   BACKUP LOG DBNAME WITH NO_LOG       --截断事务日志   GOOPTION 1:DBCC SHRINKFILE(DBNAME_LOG,10)      --收缩事务日志   GO  OPTION 2... [更多...]

合并统计的问题

if object_id('[表1]') is not null drop table [表1] go create table [表1]([日期] varchar(4),[人员] int,[提交量] int) insert [表1] select '6-17',801,1 union all select '6-18',801,4 go if object_id('[表2]') is not null drop table [表2] go create table [表2]([日期] varchar(4),[人... [更多...]

【汇总】SQL CODE --- 经典·精彩

数据操作类 SQLHelper.cs http://www.cnblogs.com/zengxiangzhan/archive/2009/12/31/1636871.html 无限级分类 存储过程 http://www.cnblogs.com/zengxiangzhan/archive/2010/01/04/1639220.html 百万级分页存储 http://www.cnblogs.com/zengxiangzhan/archive/2009/09/12/1565313.html SQL经典短小代码收集 http://www.cnblogs.co... [更多...]

新增一列

如果是查询分析器中,要做到类似企业管理器的功能,就用:         --备份数据结构及数据     select   *   into   #tb   from   原表         --添加字段     alter   table   #tb   add   column   字段名   字段类型     &n... [更多...]

Microsoft SQL Server Database Publishing Wizard 使用

大家好,相信大家在发布 Asp.net 的时候都会与 Microsoft SQL 数据库打交 道吧!可是怎么才能把我们的数据库部署到远程的虚拟机上呢?今天我给大家介 绍个好方法,那就是用“Microsoft SQL Server Database Publishing Wizard”,下载 地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=zh-cn 这个版本是 1.1,可以嵌入到 ... [更多...]

存储优化 - 删除重复记录只保留单条

由于前端提交处理做的不到位或者数据库设计的不够合理,库中通常会存在一些冗余数据,比如重复记录就是一种,那这样的记录如何删除呢? 我们先看一下相关数据结构的知识。 在学习线性表的时候,曾有这样一个例题。 已知一个存储整数的顺序表La,试构造顺序表Lb,要求顺序表Lb中只包含顺序表La中所有值不相同的数据元素。 算法思路: 先把顺序表La的第一个元素付给顺序表Lb,然后从顺序表La的第2个元素起,每一个元素与顺序表Lb中的每一个元素进行比较,如果不相同,则把该元素附加到顺序表Lb的末尾。 Code highlighting produ... [更多...]

SQLserver字符串分割函数

一、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。 CREATE function Get_StrArrayLength (   @str varchar(1024),  --要分割的字符串   @split varchar(10)  --分隔符号 ) returns int as begin   declare @location int   declare @start int   declare @length i... [更多...]

两种表复制语句区别

Sql代码 select * into target_table from source_table;   insert into target_table(column1,column2) select column1,5 from source_table;  select * into target_table from source_table; insert into target_table(column1,column2) select column1,5 from source_table; 以上两句都是将源表... [更多...]

select into from和insert into select from两种表复制语句区别

Sql代码 select * into target_table from source_table;   insert into target_table(column1,column2) select column1,5 from source_table;  select * into target_table from source_table; insert into target_table(column1,column2) select column1,5 from source_table; 以上两句都是将源表s... [更多...]

利用游标循环进行更新插入的SQL事务语句

--开始事务 BEGIN TRAN --不显示计数信息 SET NOCOUNT ON DECLARE @UserID varchar(512) DECLARE @a int set @a=10000 --声明游标 DECLARE CRMPSContact_cursor CURSOR FOR SELECT [UserID] FROM [gmcc].[dbo].[cvv_Users] --打开游标 OPEN CRMPSContact_cursor --取第一行的值给变量 FETCH NEXT FROM CRMPSContac... [更多...]

使用游标 ----循环把SQL语句中的每条记录插入到另一个表中

declare cur cursor read_only for select PName from Point  declare @name varchar(40) open cur fetch next from cur into @name while (@@fetch_status =0) begin print @name fetch next from&n... [更多...]

2009年数据库技术领域回顾

作者: Fenng | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://www.dbanotes.net/database/database_event_2009.html 简要回顾一下 2009 年数据库技术领域。过去的一年,差不多也可以说是过度的一年,数据库技术以及数据存储产品等都都或多或少发生一些方向上的转变。 Oracle 收购 Sun,MySQL 前途未卜 Oracle 收购 Sun 可谓一波三折。在获得美国司法部门的批准后,欧盟委员会又开始调查,Oracle 随后抛出一个"十条保证",眼看着... [更多...]

Sql中的getDate()函数

Sql Server 中一个非常强大的日期格式化函数 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): ... [更多...]

SqlServer的更新锁(UPDLOCK)

UPDLOCK.UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。当我们用UPDLOCK来读取记录时可以对取到的记录加上更新锁,从而加上锁的记录在其它的线程中是不能更改的只能等本线程的事务结束后才能更改,我如下示例:BEGIN TRANSACTION --开始一个事务SELECT Qty FROM myTable WITH (UPDLOCK) WHERE Id in (1,2,3) 我做了一个测试: 在一个查询里写 begin tran select * from address WITH (UPDLOCK... [更多...]

用命令行启动停止暂停SQL SERVER

启动:net start mssqlserver 暂停:net pause mssqlserver 重新启动暂停的SQL SERVER:net continue mssqlserver 停止:net stop mssqlserver

取当前的日期,结果显示为:2009年12月09日

select cast(year(getdate()) as char(4))+'年'+cast(month(getdate()) as char(2))+'月'+cast(day(getdate()) as char(2))+'日'

常用的网站数据库优化方法

在日常工作中,时不时会遇到一个已在线的产品的数据库出现性能问题,如访问速度太慢甚至是无法打开的问题,通过相关工具查看数据往往会见到锁太多,服务器的 cup , 内存占用过大的情况,这时候就需要做些优化工作了。以下是我所总结的几种方法,还有什么好的办法,希望得到大家的指教。     1. 静态化。 对于过于访问频繁的页面我们可以考虑使用静态化,静态化包括整个页面静态化和数据静态化。整个页面静态化这个好理解;数据静态化就是将与 数据库返回的数据形成文件然后保存到 XML 之类的文件中,每次访问读的是 XML 文件数据,静态数据生成时机 一般采用的是 访问... [更多...]

SQL开发实用经典例句

SQLServer 中的回车符与换行符 制表符:CHAR(9)  换行符:CHAR(10)  回车符:CHAR(13) 1、将 varchar 值作为条件,查询Where Id in 列表的值 declare @a varchar ( 100 ) set @a = ' 56,58 '   -- 正确的: select * from tb where charindex ( ' , ' + ltrim (id) + ' , ' , ' , ' + @a +... [更多...]

SQL Server 自增字段重置

SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种: --- 删除原表数据,并重置自增列 truncate table tablename  --truncate方式也可以重置自增字段 --重置表的自增字段,保留数据 DBCC CHECKIDENT (tablename,reseed,0) -- 设置允许显式插入自增列 SET IDENTITY_INSERT tablename  ON -- 当然插入完毕记得要设置不允许显式插入自增列 SET IDENTITY_... [更多...]

SQL日期格式化

0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)       1   101   美国   mm/dd/yyyy       2   10... [更多...]

海量数据库查询

个人觉得写的不错,但忘了是从哪里摘来的了。在以下的文章中,我将以“办公自动化”系统为例,探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名   [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键   [title] [varc... [更多...]

细说数据库范式

理论性的东西,往往容易把人人都看得懂的东西写成连鬼都看不懂,近似于主任医生开的药方。从前学范式的时候,把书中得概念翻来覆去看,看得痛心疾首深恶痛绝,再加上老师深切误导,最后一塌糊涂。借助网络资源,自己写了一篇,自己是看懂了,希望对大家也有所帮助,有错误帮忙指正。   数据库范式(Normal forms):是用于规范关系型数据库设计,以减少谬误发生的一种准则。   1NF(first normal form): Table faithfully represents a relation and ha... [更多...]

4种关于SQ查询信息L分页的代码!

过程一: select top N条记录 * from 文章表 where id not in(select top M条记录 id from 文章表 order by id desc ) order by id desc 过程二: select top N条记录 * from 文章表 wher... [更多...]

MSSQL计算两个日期相差的工作天数

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_WorkDay]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_WorkDay] GO --计算两个日期相差的工作天数 CREATE FUNCTION f_WorkDay( @dt_begin datetime,  --计算的开始日期 @dt_end  datetime ... [更多...]

重启IIS和SqlServer的命令行

在WEB开发中经常需要重启IIS,每次打开IIS来操作很麻烦,所以我干脆就在桌面新增了一个CMD文件,内容如下:(SQL Server占的内存不少) net stop iisadmin /y net start w3svc net stop mssqlserver net start mssqlserver 每次需要重启IIS和SQL Server就直接双击CMD文件就可以,是不是很方便?

数据库性能调整策略

1、SQL语句的编码检验常用的策略(1)尽可能地减少多表查询或建立物化视图;(2)以不相关子查询替代相关子查询;(3)只检索需要的列;(4)用带IN的条件子句等价替换OR子句;(5)经常提交COMMIT,以尽早释放锁;2、表设计评价在设计阶段,关系模式的设计应当符合3NF或BCNF,目的是为了减少数据冗余和消除操作异常。在数据库运行过程中,需要根据实际情况对表进行调整,调整的原则是:(1)如果频繁地访问涉及的是对两个相关的表进行连接操作,则考虑将其合并;(2)如果频繁地访问只是在表中的某一部分字段上进行,则考虑分解表,将该部分单独作为一个表;(3)对于很少更新的表引入物化视图。3、索引改进索引... [更多...]

把SQL 2005的备份文件导入到SQL 2000

电脑上安装了sql server 2005,现在想换回SQL2000来,把数据库文件备份后,在SQL 2000中导入备份文件时提示“已备份数据库的磁盘上结构版本为611. 服务器支持版本539, 无法还原或升级此数据库,RESTORE DATABASE 操作异常终止。” 在网上找了很多方法,都是要安装SQL server 2005 导入备份文件,再通过脚本导出数据到SQL 2000, 但是有一个最大的问题就是,安装SQL server 2005 花的时间太长了,我上次安装的时候,足足花了几个小时才安装好。这下舒服了,刚刚才把SQL 2005删除了,现在又得重新... [更多...]

SQL注入案例曝光,请大家提高警惕

近日公司网站发现有无聊人进行SQL注入攻击,在这里曝曝光,在鄙视那些无聊之人无聊之举的同时,望大家提高安全意识。日志记录内容是这样的Url:/(x(1)a(eq2io1uyygekaaaanwqxmge4ywytzwy5yi00ytbjlwjlmdatotllmtlmodaym2m5lcndikok9dche5rd2s_rxyhp43i1))/production/prodetail.aspx。SQL注入攻击:e7fa47d3-5822-486f-a148-a77b8fd3802f;dEcLaRe @s vArChAr(8000) sEt @s=0x4465636c61726520405420... [更多...]

SQL Server 2005 的版本和组件

可以在生产环境中使用所有版本的 SQL Server 2005,但 SQL Server 2005 Developer Edition 和 SQL Server 2005 Evaluation Edition 除外。以下段落介绍 SQL Server 2005 的多个版本。SQL Server 2005 Enterprise Edition(32 位和 64 位) Enterprise Edition 达到了支持超大型企业进行联机事务处理 (OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。Enterprise Edition 的全面商业智能和分析能力及其高可用性功能(如故障转... [更多...]

SQL server 2005转换为SQL server 2000的方法

SQL server 2005转换为SQL server 2000的方法(以BlogEngine为例)直接restore或附加应该是不行的, 用脚本+导数据肯定没有问题。 SQL server 2005转换为SQL server 2000的步骤 1. 生成for 2000版本的数据库脚本SQL Server 2005 的manager studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 -- 右键要转到2000的库 -- 任务 -- 生成脚本 -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到20... [更多...]

SQL Server2000 重温笔记

一、页面(Page)和盘区(Extent):Sql Server2000中所有的信息都存储在页面上,除了事务日志(事务日志是由一系列记录组成的)页面是数据库中使用的最小数据单元,每个页面存储8K的信息。Sql Server2000中有以下几种类型的页面: 数据页面:用于存储数据库数据,但不包括text,ntext,image类型的数据 索引页面:用于存储索引数据 文本/图像页面:用于存储text,ntext,image类型的数据 全局分配页面:用于存储盘区分配的信息 页面剩余空间页面:用于存储页面剩余空间的信息 索引分配页面:用于存储页面被表或索引使用的盘区的信息。盘区是由8个连续页面组成的数... [更多...]

SQL操作全集

下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql ser... [更多...]

SQL Server 高级查询 – 学习笔记

本文是《SQL Server 2005 高级程序设计》, Professional SQL Server 2005 Programming – 第六章:高级查询的学习笔记。主要包含如下内容:1. 嵌套的子查询;2. 相关子查询;3. 派生表;4. EXISTS 运算符的使用; 大部分的子查询(当然不是全部)也能够用联接(Join)来实现,关于联接和子查询的性能比较,需要具体分析。本文所有的范例SQL 脚本使用AdventureWorks 数据库。 1. 构建嵌套的子查询嵌套的子查询(nested subquery) - 要么返回一个用于外部查询的值,要么返回一个... [更多...]

使用开源操作系统及数据库系统的可行性分析

说明:鉴于目前情况,我认为在公司的开发和集成项目中有必要使用或部分使用开源平台,而不需要固定地使用D版Windows+SQLServer,因此花了一天时间写了这份可行性分析,请大家帮忙看看有什么错误或补充的,是否有必要提交给上层。说句过河拆桥的话:痛恨D版,希望国家加大打击力度。 关于在项目中使用开源OS/DB系统的可行性分析名词注释:OS:操作系统(Operating System),目前主流的商业操作系统有Windows系列和Unix系列,Windows系统的客户端版和服务器版价格相差较大,比如客户端Windows Xp只需几百到上千元,但Windows&nb... [更多...]

如何查看sql server 数据库连接数

连到master这个数据库 写如下语句 select * from sysprocesses where dbid in (select dbid from sysdatabases where name='CoachMag') 将所有连接CoachMag这个数据库的连接记录都求出来。 sysprocesses这个表记录所有连接到SQL SERVER数据库的连接。 如果是查看某用户的连接则用,如查看sa的连接数:sp_who 'sa'

龙鱼家园专题

  • Asp.net技术推荐书
  • Search

    友情链接

  • 代码发芽网
  • 清清月儿
  • 资质通鉴
  • MSPROJECT开源技术
  • 技能云
  • 二频
  • dotnetblogengine
  • 苹果树下
  • 译言
  • 联系我:
    leonardleonard@126.com

    © Copyright 2010