SQLServer
文章平均质量分 86
my98800
这个作者很懒,什么都没留下…
展开
-
SQL语句新建用户、对用户授权、删除用户实例
USE mydbGO--1. 新建测试用户--1.1 添加登录用户和密码 EXEC sp_addlogin N'tony','123'--1.2 使其成为当前数据库的合法用户 EXEC sp_grantdbaccess N'tony' --2.设置操作授权--2.1 授予对自己数据库的所有权限 EXEC sp_addrolemember N'db_owner', N'tony' ...转载 2018-04-27 08:55:30 · 10346 阅读 · 0 评论 -
SQL Server 创建表 添加主键 添加列常用SQL语句
--删除主键alter table 表名 drop constraint 主键名--添加主键alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)--添加非聚集索引的主键alter table 表名 add constraint 主键名 primary key NONCLUSTERED(字段名1,字段名2……)转载 2017-11-29 08:45:16 · 8514 阅读 · 0 评论 -
SQL SERVER 高效存储过程分页(Max/Min方法)
drop procedure propageset goCreate Procedure ProPageSet@tb varchar(50), --表名 @col varchar(50), --按该列来进行分页(必须是唯一性的字符,比如标识种子) @colorder varchar(50), --需要排序的字段(为空,则默认为col) @orderby bit, --排转载 2017-09-21 19:45:27 · 630 阅读 · 0 评论 -
专用于SqlServer2005的高效分页存储过程(支持多字段任意排序,不要求排序字段唯一)
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: -- Create date: -- Description: -- Notes: -- ================转载 2017-09-21 19:44:42 · 340 阅读 · 0 评论 -
SQL2005转2000
直接restore或附加应该是不行的, 用脚本+导数据肯定没有问题。2005转到2000的步骤1. 生成for 2000版本的数据库脚本2005 的manger studio-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例-- 右键要转到2000的库-- 任务-- 生成脚本-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库转载 2017-09-20 19:59:13 · 258 阅读 · 0 评论 -
SQL Server是怎样判断Status状态位
sql server中判断表或者数据库的存在,实际是判断Status状态位: 其中某些状态位可由用户使用 sp_dboption(read only、dbo use only、single user 等)进行设置: 1 = autoclose;使用 sp_dboption 设置。 数据库完全关闭,其资源在最后一个用户注销后释放。 4 = select into/bulkcopy;使用转载 2017-09-25 09:12:25 · 2847 阅读 · 0 评论 -
SQL Server 2008 收缩日志 清空删除大日志文件
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)BackupLog DNName with no_loggodumptransaction DNName with no_loggoUSE DNName DBCC SHRINKFILE (2)Go-转载 2017-09-05 21:01:33 · 240 阅读 · 0 评论 -
SQL Server 2008 事务日志物理文件尺寸无法减小的解决办法(含日志收缩(shrink)技巧)
前言SQLServer2008中如何收缩日志文件,在邀月工作室的日志已经详细描述(点击查看),这里不再赘述。本文的重点是与大家分享日志截断、收缩后,物理文件的尺寸依然没有减小到期望尺寸的问题。解决方案 我的一个数据库,数据文件10+G ,事务日志达20+G,而且使用常规的截断、收缩方法均无法减小日志物理文件的尺寸,经过一番寻找,终于找到了解决方法。查看日志信转载 2017-09-05 20:59:27 · 574 阅读 · 0 评论 -
t-sql读写文件
declare @FilePath nvarchar(400),@xmlstr varchar(8000); Declare @INT_ERR int ----错误代码,0 成功 Declare @INT_FSO int ----FSO对象标志 Declare @INT_OPENFILE int ----文本文件对象标志 Declare @STR_CONTENT v转载 2017-08-28 08:21:50 · 690 阅读 · 0 评论 -
触发器实现记录操作表的日志
这个功能我是琢磨了好久,本来我的sqlserver方面的知识深入了解的就不多,关键的难点是用变量代替字段名,然后获取字段在表中存的值,再赋给另外一个变量,我之所以这么做,因为后面好几处要用到这个字段的名称,我才用变量代替,便于修改,可就是实现花费了很长时间,网上这么方面的资料又少,可终究还是找到了解决方案,希望大家以后遇到同样的问题不至于头大,把具体的实现分享给大家CREATE tri转载 2017-08-28 08:20:36 · 1181 阅读 · 0 评论 -
SQL Server 开发指南
SQL Server 数据库设计 一、数据库设计的必要性 二、什么是数据库设计 三、数据库设计的重要 四、数据模型 实体-关系(E-R)数据模型 实体(Entity) 属性(Attribute) 关系(Relationship) 五、数据库设计步骤转载 2017-08-15 08:36:21 · 321 阅读 · 0 评论 -
SQL Server 数据库安全
--创建登陆用户--create login login_name from windows with default_database = database | default_language = language;create login [localhost\hoojo-pc] from windows with default_database = testHome;--创建登陆用转载 2017-08-15 08:34:24 · 396 阅读 · 0 评论 -
SQL Server 存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。转载 2016-05-04 08:07:46 · 268 阅读 · 0 评论 -
SQL Server 触发器
触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、d转载 2017-08-07 08:31:46 · 221 阅读 · 0 评论 -
SQLServer2008/2012 删除所有表视图存储过程
SQLServer2008/2012 删除所有表视图存储过程 -------------------删除所有的表-------------------use xuwenbin111--/第1步**********删除所有表的外键约束*************************/DECLARE c1 cursor forselect 'alter table [转载 2017-08-21 08:59:37 · 412 阅读 · 0 评论 -
如何遍历某个数据库中所有有记录的表?
declare @row varchar(30)declare @tbname varchar(30) DECLARE string_find_cursor CURSOR FAST_FORWARD FOR SELECT [name] FROM sysobjects where type='U' and name like 'A%转载 2017-08-03 08:17:05 · 5817 阅读 · 0 评论 -
SQL实现修改表字段名
sp_rename N'表名.字段名','新字段名','column'Topsp_rename 更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。 语法 sp_rename [ @objname = ] 'object_name' , [ @newname =转载 2017-08-03 08:15:23 · 1807 阅读 · 0 评论 -
Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法
本节主要介绍Sql语句,SqlTransaction和TransactionScope这三种使用事务的方法。 本节的所有例子都在sql server 2008和vs 2008环境下运行通过,如果没有sql server2008,那么使用sql server 2005也一样,但是sql se rver 2000上是无法运行通过的,因为某些sql语句在2000中不支持。请大家注意这点转载 2017-05-09 20:42:03 · 729 阅读 · 0 评论 -
删除数据库所有存储过程的SQL语句
下面为您介绍能够一次性删除数据库所有存储过程的SQL语句,供您参考,如果您对相关的SQL语句感兴趣,不妨一看,希望能够对您有所启迪。--/第1步**********删除所有表的外键约束*************************/代码DECLARE c1 cursor for select 'alter table ['+ object_name(par转载 2017-11-29 08:47:30 · 2212 阅读 · 0 评论 -
SqlServer2008T-Sql收缩数据库日志文件
在SQL2008中清除日志需要在简单模式下进行,等清除动作完毕再调回到完全模式。实例代码:[sql] view plain copy---------------------------------数据库日志文件收缩-------------- USE [master] --简单模式 ALTER DATABASE转载 2017-11-20 08:33:29 · 601 阅读 · 0 评论 -
SQL新函数, 排名函数 - ROW_NUMBER(), RANK(), DENSE_RANK()
ROW_NUMBER()根据over后的order by字据的字段排序,返回一个不断递增的整数.use Northwindgoselect CompanyName, ContactName, City, ROW_NUMBER() over (order by City) as RowNumfrom Customersorder by Cit转载 2017-11-30 13:57:15 · 456 阅读 · 0 评论 -
SQL的主键和外键的作用
SQL 的主键和外键的作用:外键取值规则:空值或参照的主键值(1)插入非空值时,如果主键值中没有这个值,则不能插入。(2)更新时,不能改为主键表中没有的值。(3)删除主键表记录时,可以在建外键时选定外键记录一起联删除还是拒绝删除。(4)更新主键记录时,同样有级联更新和拒绝执行的选择。简而言之,SQL的主键和外键就是起约束作用。关系型数据库中一条记录中有若干个属性,若其中某一个属性组(注意...转载 2018-04-27 08:44:50 · 14164 阅读 · 0 评论 -
sql server2008系统表详细说明sys.开头的表
一、库里有多少个表,表名等select * from INFORMATION_SCHEMA.TABLES 二、查询表、字段、类型、是否主键、长度、小数位、是否允许空、默认值等详细查询效果:SELECT (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空 a.colorder as 字段序号, ...转载 2018-04-17 09:28:22 · 1560 阅读 · 0 评论 -
SQL中Case的使用方法
SQL中Case的使用方法Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'转载 2018-01-10 08:29:49 · 1251 阅读 · 0 评论 -
MS SQL SERVER搜索某个表的主键所在的列名
SELECT SYSCOLUMNS.name FROM SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSINDEXKEYS WHERE SYSCOLUMNS.id = object_id('Tab_XXX') --syscolumns.id为该列所属的表对象ID AND SYSOBJECTS.xtype = 'PK' --sysobjects.xtyp转载 2018-01-10 08:24:27 · 553 阅读 · 0 评论 -
Sql 主键设置
1、开发数据库时常用命名规范 1>、使用不包含数字的单数表名,如果必要的话可以增加模块名前缀。 2>、对于主键的命名,使用表名+ID的形式。 3>、作为外键的列的名字应该与它们所对应的主键的列名相同,除非该外键维护的是一种自反/递归的关系。 4>、避免使用缩写。2、主键设计原则 1>、主键用途:惟一标识一行;作为一个可以被外部键有效引用的对象。 2>、主键应当对用户没有意义。 3>、转载 2018-01-18 08:50:41 · 3248 阅读 · 0 评论 -
SQL Server 数据库设计
一、数据库设计的必要性 在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置。如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运行效率会有很大的问题。这将直接影响到项目的运行性和可靠性。二、什么是数据库设计 数据库设计实际上就是规划和结构化数据转载 2018-01-03 10:24:35 · 2099 阅读 · 0 评论 -
SQL Server Transact-SQL 编程
T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。Ø 变量 1、 局部变量(Local Variable) 局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后才能使转载 2017-11-28 08:56:31 · 186 阅读 · 0 评论 -
SQL Server T-SQL高级查询
高级查询在数据库中用得是最频繁的,也是应用最广泛的。Ø 基本常用查询--selectselect * from student; --all 查询所有select all sex from student; --distinct 过滤重复select distinct sex from student; --count 统计select co转载 2017-11-28 08:55:40 · 216 阅读 · 0 评论 -
SQL Server 索引和视图
Ø 索引 1、 什么是索引 索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。 2、 索引分类 数据库中索引主要分为两类:聚集索引和非聚集索引。SQL Server 2005还提供了唯一索引、索引视图、全文索引、xml索引等等。聚集索引和非聚集索引是数据库引擎中索引的基本类型,是理解其他类型索引的转载 2017-11-28 08:54:02 · 227 阅读 · 0 评论 -
SQL Server 事务、异常和游标
建议先阅读存储过程:SQL Server 存储过程Ø 事务在数据库中有时候需要把多个步骤的指令当作一个整体来运行,这个整体要么全部成功,要么全部失败,这就需要用到事务。 1、 事务的特点 事务有若干条T-SQL指令组成,并且所有的指令昨晚一个整体提交给数据库系统,执行时,这组指令要么全部执行完成,要么全部取消。因此,事务是一个不可分割的逻辑单元。转载 2017-11-28 08:53:02 · 204 阅读 · 0 评论 -
SQL的主键和外键约束
SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值。(1)插入非空值时,如果主键表中没有这个值,则不能插入。(2)更新时,不能改为主键表中没有的值。(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。(4)更新主键记录时,同样有级联更新和拒绝执行的选择。简而言之,SQL的主键和外键就是起约束作用。转载 2017-12-05 09:27:52 · 241 阅读 · 0 评论 -
SQL Server 数据库基础编程
Ø Go批处理语句 用于同时执行多个语句 Ø 使用、切换数据库use mastergo Ø 创建、删除数据库方法1、--判断是否存在该数据库,存在就删除if (exists (select * from sys.databases where name = 'testHome')) drop database转载 2017-12-12 18:26:24 · 197 阅读 · 0 评论 -
整理了一些t-sql技巧
把长日期转换为短日期 Convert(char(10),getdate(),120) MS-SQL数据库开发常用汇总 1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.数据库加密:select encrypt('原始密码')select p转载 2017-12-11 17:03:22 · 337 阅读 · 0 评论 -
在整个数据库搜索某个字符串在哪个表的哪个字段中
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_search]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[p_search]转载 2017-12-11 17:01:13 · 4912 阅读 · 0 评论 -
SQL中的数据类型
(1)二进制数据类型二进制数据包括 Binary、Varbinary 和 Image Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。 Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节。 Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取转载 2017-11-17 09:34:33 · 334 阅读 · 0 评论 -
SQL中DateTime转换成Varchar样式
SQL中DateTime转换成Varchar样式语句及查询结果: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转载 2017-12-01 08:50:31 · 3689 阅读 · 0 评论 -
SQL SERVER中强制类型转换cast和convert的区别
在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的,只是语法不同.cast一般更容易使用,convert的优点是可以格式化日期和数值.代码select CAST('123' as int) -- 123select CONVERT(int, '123') -- 123select CAST(123.4 as转载 2017-11-30 13:58:03 · 382 阅读 · 0 评论 -
Sql Server数据库事务介绍(一)---什么是事务
事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。 举个例子,比如你去银行转帐就是一个事务。转帐可以简单的分为两个步骤,一是把钱从你的帐户中扣除,二是把钱存到你指定转帐的帐户中。这两个步骤就是一个事务,必须全部执行,或是全部不执行。如果从你帐户扣钱成功,但是转帐失败转载 2017-05-09 20:41:03 · 336 阅读 · 0 评论 -
SQL查看存储过程相关信息
查看所有存储过程与函数exec sp_stored_procedures -- 或者select * from dbo.sysobjects where OBJECTPROPERTY(id, N'IsProcedure') = 1 order by name 查看存储过程的内容select text from syscomments where id=object_i转载 2017-04-25 12:59:41 · 571 阅读 · 0 评论