SQL
SucreLiu04
学最好的别人,做最好的自己。
展开
-
sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法
启动SQL Server 2008 Management Studio 工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改 取消勾选即可。转载 2014-01-24 15:56:11 · 703 阅读 · 0 评论 -
使用WITH AS提高性能简化嵌套SQL
一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每转载 2014-04-25 15:20:44 · 713 阅读 · 0 评论 -
SQL中Group By的使用
1、概述2、原始表3、简单Group By4、Group By 和 Order By5、Group By中Select指定的字段限制6、Group By All7、Group By与聚合函数8、Having与Where的区别9、Compute 和 Compute By1、概述“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分转载 2014-04-25 10:02:49 · 873 阅读 · 0 评论 -
SQL SERVER清除日志的方法
MS SQL SERVER日志增长非常快,使用时间长了以后,日志文件会很大,占用很大的硬盘空间,因此需要定时清除日志,可以采用以下四种方法:方法一:1、打开查询分析器,输入命令BACKUP LOG database_name WITH NO_LOG2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm转载 2014-05-20 15:09:07 · 1439 阅读 · 0 评论 -
Sql Server profiler 分析器
通常,通过 SQL Server Profiler 访问 SQL 跟踪。还可以使用 Transact-SQL 系统存储过程来访问 SQL 跟踪。SQL Server Profiler 可以使用 SQL 跟踪的全部事件捕获功能并添加跟踪表信息、将跟踪定义保存为模板、提取查询计划和死锁事件作为单独的 XML 文件以及重播跟踪结果以进行诊断和优化的能力。 一、我们通常可以利用SQL Serv转载 2014-05-20 15:20:56 · 928 阅读 · 0 评论 -
聚集索引和非聚集索引
聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到转载 2014-05-21 09:41:29 · 475 阅读 · 0 评论 -
那点所谓的分布式——memcache
一: 安装 memcahce像redis,mongodb一样都需要开启他们自己的服务端,我们下载Memcached_1.2.5.zip,然后放到C盘,修改文件名为memcached。1:install install可以说是万能通用命令,首先我们转到memcached目录,然后 memcached.exe -d install 即可。 2:st转载 2014-05-28 10:57:39 · 905 阅读 · 0 评论 -
SQL中时间的加减
就是返回在pubdate字段原有时间的基础上加上21天的值。 datepart取值如下表:日期部分缩写Yearyy, yyyyquarterqq, qMonthmm, mdayofyeardy, yDaydd, dWeekwk, wwHourhhmi转载 2014-07-08 17:52:19 · 4643 阅读 · 0 评论 -
SQL中的循环、for循环、游标
SQL中的循环、for循环、游标我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加、修改、删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃力,翻遍网上的资料,找不到几个正确的并能执行的循环处理数据的方法,在这里,我来给大家分享一下!要SQL中写类似for循环,我这里使用的是SQL中转载 2014-07-07 15:32:17 · 839 阅读 · 0 评论 -
SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理
USE [master]GO /****** Object: StoredProcedure [dbo].[killspid] Script Date: 03/28/2011 11:01:32 ******/SET ANSI_NULLS ONGO SET QUOTED_IDENTIFIER ONGO --建一个存储过程,断开所有用户连接。 create转载 2014-10-11 10:24:47 · 2019 阅读 · 0 评论 -
SQL Cursor 基本用法
由于这个游标 执行一下就相当于SELECT一下 其效率不敢恭维也没做深入研究。转载 2014-10-11 15:05:09 · 4502 阅读 · 0 评论 -
SQL SERVER数据库修改是否区分大小写
昨天去客户,发现程序无法应用,跟踪错误提示,提示的大致意思是“数据库表名和数据库字段名不存在”。查询后发现是SQL Server数据库设置了区分大小写的缘故(一般安装时,Oracle的正确安装下是默认转换为大写;SQL Server数据库是不转换为大写,但是使用时并不区分大小写):下面语句是设置SQL Server数据库是否区分大小写:(表名和数据库字段名)--修改数据库不区分大小写a转载 2015-03-17 14:23:44 · 902 阅读 · 0 评论 -
关于SQLServer的最大连接数
很多做架构设计、程序开发、运维、技术管理的朋友可能或多或少有这样的困惑: SQLServer到底支持多少连接数的并发?SQLServer是否可以满足现有的应用吗?现有的技术架构支持多少连接数的并发?在硬件性能与网络性能足够理想的情况下理论上可以支持多少并发连接?生产环境中的数据库现在的并发量是多少?如何监控现有数据库并发的数量?生产环境中的并发量距离理论上的最大并量发还差多少?转载 2015-05-14 15:38:33 · 921 阅读 · 0 评论 -
SQLSERVER连接池内部机制
前言介绍:当应用程序运行的时候,会有一个连接池的管理控件运行在应用程序的进程里,统一管理应用程序和SQLSERVER建立的所有连接,并且维护这些连接一直处于活动状态。当有用户发出一个connection open指令时连接池会在自己维护的连接池中找一个处于空闲状态的连接放回自己管理的连接池里,给这个用户使用。当用户使用完毕后,发出connection close指令,连接池会把这个连接转载 2015-05-14 16:19:59 · 629 阅读 · 0 评论 -
SET IDENTITY_INSERT 学习心得
想要将值插入到自动编号(或者说是标识列,IDENTITY)中去,需要设定 SET IDENTITY_INSERT示例:1.首先建立一个有标识列的表:CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))2.尝试在表中做以下操作:INSERT INTO products (id, p转载 2014-07-25 13:36:55 · 609 阅读 · 0 评论 -
sp_executesql介绍和使用
execute相信大家都用的用熟了,简写为exec,除了用来执行存储过程,一般都用来执行动态Sql sp_executesql,sql2005中引入的新的系统存储过程,也是用来处理动态sql的, 如: exec sp_executesql @sql, N'@count int out,@id varchar(20)', @cou out ,@id @sql为拼成的动态sql N转载 2014-04-24 13:57:07 · 751 阅读 · 0 评论 -
sqlSQL2008如何创建定时作业
--SQL2008如何创建定时作业?此方法也适应于Sql Server2005数据库,有兴趣的可以来看下!--1.打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】;--2.鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤;--3.展开【SQL Server 代理】列表,右击【转载 2014-04-09 08:49:50 · 700 阅读 · 0 评论 -
Sql日期时间格式转换
1、string[] strArr = "Time".Split(new char[] { '-', ' ', ':','.' });CreateTime= new DateTime(int.Parse(strArr[0]), int.Parse(strArr[1]), int.Parse(st转载 2014-01-24 16:17:04 · 878 阅读 · 0 评论 -
一些有用的sql语句
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) insert into b(a, b, c) select d,e,f from b; 3、说转载 2014-01-24 15:54:05 · 887 阅读 · 0 评论 -
数据库:变成单个用户后不能访问,设置成多个用户的办法
原理是先kill占用了数据库的那个进程,然后设置数据库为多用户模式。USE master;GODECLARE @SQL VARCHAR(MAX);SET @SQL=''SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)FROM master..sysprocessesWHERE dbid=DB_ID('数据库名');EXEC(@SQL);GOALT转载 2014-01-24 16:18:31 · 6965 阅读 · 0 评论 -
SQL内联、外联的简单理解
--查询分析器中执行:--建表table1,table2:create table table1(id int,name varchar(10))create table table2(id int,score int)insert into table1 select 1,'lee'insert into table1 select 2,'zhang'insert int转载 2014-01-24 16:19:32 · 879 阅读 · 0 评论 -
SQL与Oracle数据库外键约束中的级联删除
SQL的外键约束可以实现级联删除与级联更新; ORACLE则只充许级联删除。 SQL级联删除与级联更新使用格式: CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20)) CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE O转载 2014-02-10 10:41:13 · 2383 阅读 · 0 评论 -
SQL语句优化技术分析
一、操作符优化1、IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL转载 2014-02-11 11:00:10 · 572 阅读 · 0 评论 -
聚集索引和非聚集索引
聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到转载 2014-03-12 10:38:17 · 444 阅读 · 0 评论 -
修改SQL-SERVER数据库表结构的SQL命令
向表中增加一个 varchar 列: ALTER TABLE distributors ADD COLUMN address varchar(30); 从表中删除一个字段: ALTER TABLE distributors DROP COLUMN address RESTRICT; 在一个操作中修改两个现有字段的类型: ALTER TABLE distribut转载 2014-04-29 14:26:16 · 875 阅读 · 0 评论 -
SQL Reverse函数
Sql sever里面有个自带的reverse函数,这个函数的主要功能是把一个字符产反转。比如对于:select REVERSE('hello,world')将得到如下的输出:dlrow,olleh现在我的问题是,不使用这个函数而使一个字符串反转。我找出来一种算法,第一种是使用递归,先找出最后一个字符,然后递归。最好的方式就是使用cte了。代码如下:;with cte1(seq转载 2014-04-29 16:19:12 · 1061 阅读 · 0 评论 -
SQL脚本 CASE...WHEN...THEN...ELSE...END 的应用
--查找含有A 或 C 站点的车次drop table SCHEDULETEST;create table SCHEDULETEST( SID int not null, CHECI VARCHAR(8), CHEZHAN VARCHAR(8));转载 2014-04-15 08:55:03 · 858 阅读 · 0 评论 -
CharIndex的用法
CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下: CHARINDEX ( expression1 , expression2 [ , start_location ] ) Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expressi转载 2014-04-21 09:47:16 · 22323 阅读 · 0 评论 -
数据库监控
--查看表锁 select * from sys.v_$sqlarea where disk_reads>100 --监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot" from v$session_Wait转载 2014-03-26 16:17:30 · 541 阅读 · 0 评论 -
查找同一表中两个字段的最小值
select min(h.c) from (select min(filed1)as c from a unionselect min(filed2)as c from b ) h转载 2014-04-22 09:52:03 · 1402 阅读 · 0 评论 -
sql 提取不重复记录
select distinct name from table打开不重复记录的单个字段select * from table where fid in(Select min(fid) FROM table group by name)打开不重复记录的所有字段值select * from table where name in(select name from table group by转载 2014-04-22 16:13:52 · 2158 阅读 · 0 评论 -
Oracle创建表空间、创建用户以及授权、查看权限
创建临时表空间CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;创建用户表空间C转载 2016-09-08 09:51:52 · 546 阅读 · 0 评论