SQL代码
文章平均质量分 50
nuptsv_ice
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
查询sql数据库中表占用的空间大小
最近在给一家客户做系统维护时,需要查看数据库表的大小,相关的sql如下:1. exec sp_spaceused 表名 --(SQL统计数据,大量事务操作后可能不准)2. exec sp_spaceused 表名, true --(准确的表空间大小,但可能会花些统计时间)3. exec sp_spaceused -- (原创 2010-04-13 23:00:00 · 750 阅读 · 0 评论 -
清空数据库错误:因为该表正由 FOREIGN KEY 约束引用 解决办法
如下解决了五个问题 1. 清空数据 2. 有外键也可以, 因为是逆向删除, 从最后一张表删除. 且使用的是delete, 因为truncate不能对有外键的表 3. 种子问题, 如果表存在种子重设为0, 如不存在就不操作 4. 加了事务, 中间报错, 有后悔机会 5. 截断日志功能, 因为使用delete, 删除后日志文件会增大, 可以不使用[cpp]转载 2014-01-08 11:30:59 · 14584 阅读 · 1 评论 -
无法截断表 'item',因为该表正由 FOREIGN KEY 约束引用。
\\测试不成功--禁用外键约束exec sp_msforeachtable 'alter table ? nocheck constraint all'--清空数据truncate table 表名--启用外键约束exec sp_msforeachtable 'alter table ? check constraint all'转载 2014-01-08 14:20:15 · 10597 阅读 · 1 评论 -
Sql Server 跨服务器连接
用openrowset连接远程SQL或插入数据--如果只是临时访问,可以直接用openrowset--查询示例select * from openrowset('SQLOLEDB', 'sql服务器名'; '用户名'; '密码', 数据库名.dbo.表名)--导入示例select * into 表 from openrowset('SQLOLEDB' ,'sql服务器名';'用转载 2014-04-25 15:10:54 · 749 阅读 · 0 评论 -
SQL与Excel的数据互通导入导出
【SQL Server】SQL与Excel的数据互通导入导出|浏览:10979|更新:2012-07-09 10:05|标签: excel 1234567分步阅读之前的时间语法讲的太多,我想很多朋友会头大,接下来就说点轻松一些的,Excel作为一个灵活小巧的数转载 2014-05-30 09:13:51 · 1460 阅读 · 0 评论 -
SQL Group by date on datetime column
SELECT DATEADD(dd, DATEDIFF(dd, 0, postDate), 0)FROM tableWHERE (postDate >= @StartDate) AND (postDate GROUP BY DATEADD(dd, DATEDIFF(dd, 0, postDate), 0)ORDER BY DAT转载 2014-07-30 10:36:02 · 1148 阅读 · 0 评论 -
SqlServer表死锁的解决方法
前些天写一个存储过程,存储过程中使用了事务,后来我把一些代码注释掉来进行调试找错,突然发现一张表被锁住了,原来是创建事务的代码忘记注释掉。本文表锁住了的解决方法。 其实不光是上面描述的情况会锁住表,还有很多种场景会使表放生死锁,解锁其实很简单,下面用一个示例来讲解: 1 首先创建一个测试用的表:CREATE TABLE Test( TID INT IDENTITY(1,1))原创 2016-03-23 10:30:26 · 611 阅读 · 0 评论 -
SQL Server 中WITH (NOLOCK)浅析
概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他事务设置的排他锁不会阻碍当前事务读取锁定数据。允许脏读可能产生较多的并发操作,但其转载 2018-01-04 10:52:17 · 9720 阅读 · 1 评论 -
SQL 转义语法
JDBC 的 SQL 转义语法转义语法使能够让你通过使用标准的 JDBC 方法和属性,来灵活的使用数据库的某些特定功能,而该特定功能对你来说本来是不可用的。常用的 SQL 转义语法格式如下所示:{keyword 'parameters'}escape 关键字该关键字在 LIKE 子句中使用,来定义转义字符。当使用 SQL 通配符%,来匹配零个或多个字符时,该关键字就非常有用。转载 2018-01-04 11:06:54 · 5185 阅读 · 0 评论 -
查询数据库表记录数、表大小、索引大小等
CREATE TABLE #T(NAME VARCHAR(255), ROWS BIGINT, RESERVED VARCHAR(20), DATA VARCHAR(20), INDEX_SIZE VARCHAR(20), UNUSED VARCHAR(20))EXEC SP_MSFOREACHTABLE "INSERT INTO #T EXEC SP_SPACEUSED '?'"SELECT...原创 2018-09-17 17:42:10 · 727 阅读 · 0 评论 -
SQL :多条记录取最前面一条或根据条件任取N条
--按某一字段分组取最大(小)值所在行的数据/*数据如下:name val memoa 2 a2(a的第二个值)a 1 a1--a的第一个值a 3 a3:a的第三个值b 1 b1--b的第一个值b 3 b3:b的第三个值b 2 b2b2b2b2b 4 b4b4b 5 b5b5b5b5b5*/-...原创 2018-09-20 17:59:37 · 6969 阅读 · 0 评论 -
SQL 拼接多个字段的值&一个字段多条记录的拼接
例如:test表一、拼接多个字段的值select Convert(nvarchar(50),id)+'-'+name+'-'+sex as montage from test结果:二、一个字段多条记录的拼接select stuff((select '-'+name from test for xml path ('')),1,1,'') as montage结果:...转载 2019-06-05 10:00:53 · 31956 阅读 · 0 评论 -
SQL Server FOR XML PATH 和 STUFF函数的用法
FOR XML PATH ,其实它就是将查询结果集以XML形式展现,将多行的结果,展示在同一行。 下面我们来写一个例子: 假设我们有个工作流程表: CREATE TABLE [dbo].[Workflow_Action]( [WorkflowSchema] [nvarchar](128) NULL, [ActionSche...转载 2019-06-05 10:14:25 · 2714 阅读 · 0 评论 -
SQL Server xtype
sysobjects 表在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。列名 数据类型 描述name sysname 对象名。Id int 对象标识号。xtype char(2) 对象类型。可以是下列对象类型中的一种:C = CHECK 约束D = 默认值或 DEFAULT 约束F ...转载 2019-10-08 16:29:19 · 216 阅读 · 0 评论 -
sqlserver没有ldf附加数据库
只有一个mdf文件如Test.mdf,附加数据库1.在SQL Server中新建一个数据库名为Test(注,文件名为Test.mdf真正的的数据库不一定是这个名,先在SQL Server中导入过程中看看是不是这个名,一定要和真正的数据库名称一致)2.停止SQL Server,把Test.mdf替换掉3.重新启动SQL Server,如果你点一下Test数据库转载 2013-10-18 14:05:22 · 2732 阅读 · 0 评论 -
查询数据库中表的大小情况。
CREATE TABLE #T(NAME VARCHAR(255), ROWS BIGINT, RESERVED VARCHAR(20), DATA VARCHAR(20), INDEX_SIZE VARCHAR(20), UNUSED VARCHAR(20))EXEC SP_MSFOREACHTABLE "INSERT INTO #T EXEC SP_SPACEUSED '?'"SELE原创 2013-09-22 14:44:04 · 606 阅读 · 0 评论 -
清楚数据库日
数据库中的每个文件都可以通过删除未使用的页的方法来减小。尽管数据库引擎会有效地重新使用空间,但某个文件多次出现无需原来大小的情况后,收缩文件就变得很有必要了。数据和事务日志文件都可以减小(收缩)。可以成组或单独地手动收缩数据库文件,也可以设置数据库,使其按照指定的间隔自动收缩。 文件始终从末尾开始收缩。例如,如果有个 5 GB 的文件,并且在dbcc shrinkfile 语句中将 ta原创 2013-07-29 15:24:13 · 518 阅读 · 0 评论 -
重复记录
一)1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断原创 2010-05-05 09:52:00 · 858 阅读 · 0 评论 -
如何删除sql数据库的日志文件
use database DUMP TRANSACTION database WITH NO_LOG DBCC SHRINKDATABASE(database,10)--设日志为10M 其中database为你的库名 --压缩日志 1:截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG 2:清空日志 DUMP TRANSACTION 库名 WITH NO原创 2010-05-24 15:32:00 · 2158 阅读 · 0 评论 -
如何查看库日记
在SQL SERVER 7.0和2000中,可以用下面的命令查看:DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )参数:Dbid or dbname - 任一数据库的ID或名字type - 输出结果的类型:0 - 最少信息(operation, context, transaction id)1 - 更多信息(plus flags,原创 2010-05-24 15:39:00 · 488 阅读 · 0 评论 -
sql server 2005中的分区函数用法(partition by 字段)
<br />partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组 <br />create database StudentDB<br />go<br />use StudentDB<br />go<br />create table Student --学生成绩表<br />(<br /> id int, --主键<br原创 2010-07-19 15:13:00 · 543 阅读 · 0 评论 -
四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:1. row_number2. rank3. dense_rank4. ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示:图1其中field1字段的类型是int,field2字段的类型是varchar一、row_number row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个原创 2010-07-19 14:53:00 · 543 阅读 · 0 评论 -
不同服务器数据库之间的数据操作
首先执行exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB', '10.0.0.21 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, 'sa ', 'k1n5i9t5'然后实现SQL语句delete from lrinsert lrselect * from ITSV.gzgl.dbo.hz最后释放exec sp_dropserver 'ITSV ', 'droplogins ' -------------原创 2010-07-21 14:40:00 · 404 阅读 · 0 评论 -
汉字首字母查询处理用户定义函数
CREATEFUNCTION f_GetPY(@strnvarchar(4000))RETURNSnvarchar(4000)ASBEGIN DECLARE@pyTABLE( ch char(1), hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS, hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS) INSERT@pySELECT'A',N'吖',N'鏊' UNION原创 2010-08-20 14:55:00 · 437 阅读 · 0 评论 -
Sql汉字转拼音全拼
create function [dbo].[fn_Spell](@words nvarchar(2000)) <br />returns varchar(8000) <br />as <br />begin <br />declare @word nchar(1) <br />declare @pinyin varchar(8000) <br />declare @i int <br />declare @words_len int <br />declare @unicode int <br />set原创 2010-08-23 10:12:00 · 903 阅读 · 0 评论 -
SQL 实现从表中自动增长字段的最大值向上自动增长
<br />自动增长字段为 key_item,增长条件order by zt_no科动态传值<br /> <br />select a,b,<br />(row_number() over(order by zt_no))+<br /> isnull(<br /> (select max(a.row_num)+1 as row from<br /> (select key_item,row_number()OVER(ORDER B原创 2010-09-13 11:09:00 · 1200 阅读 · 0 评论 -
用动态SQL. 查询
--动态sql语句基本语法 SQL code 1 :普通SQL语句可以用Exec执行 eg: Select * from tableName Exec('select * from tableName') Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL eg: declare @fname varchar(20) set @fname = 'FiledName' Selec原创 2010-09-08 10:47:00 · 670 阅读 · 2 评论 -
数据库日记清除
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)Backup Log DNName with no_loggodump transaction DNName with no_loggoUSE DNName DBCC SHRINKFILE (2)G转载 2013-07-29 15:25:24 · 570 阅读 · 0 评论 -
数据库日记清除:DBCC SHRINKFILE
USE [DBHJFI] GO DBCC SHRINKFILE (N'DBHJFI_Data' , 0, TRUNCATEONLY)GO0是不是表示压缩到最小值一般也可以不写DBCC SHRINKFILE (N'DBHJFI_Data' , TRUNCATEONLY)http://msdn.microsoft.com/en-us/library/ms189493.aspx原创 2013-07-29 15:27:58 · 3860 阅读 · 0 评论 -
收缩数据库日记
A.收缩数据文件到指定的目标大小下面的示例中, 名为 DataFile1 7 MB 的的USERDB用户数据 库中的数据文件的大小变小。Transact-SQL中使用USERDB;GODBCC SHRINKFILE(DataFile1 7);GOB.收缩日志文件到指定的目标大小转载 2013-07-29 15:28:44 · 618 阅读 · 0 评论 -
sqlserver 系统相关查询
1、获取所有用户名: Select name FROM Sysusers where status='2' and islogin='1' islogin='1' :表示帐户 islogin='0' :表示角色 status='2' :表示用户帐户 status='0' :表示糸统帐户 2、获取所有数据库名: Select Name FROM Ma...转载 2019-10-08 16:41:06 · 529 阅读 · 0 评论
分享