SQL server中常用sql语句】的更多相关文章

--循环执行插入10000条数据 declare @ID intbeginset @ID=1 while @ID<=10000begininsert into table_name values('','','')--要循环的sql语句set @ID=@ID+1endend --获取随机数 select rand()--获取0~1之间的float型的数字 DECLARE @NumBegin Int=60 --随机数的最小值 DECLARE @NumEnd Int=100 --随机数的最大值 DE…
SQL Server中常用的SQL语句 转自:http://www.cnblogs.com/rainman/archive/2013/05/04/3060428.html 1.概述 名词 笛卡尔积.主键.外键 数据完整性 实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空 参照完整性:表中的外键取值为空或参照表中的主键 用户定义完整性:取值范围或非空限制,例如:性别(男女),年龄(0-130) 表连接 自然连接:与等值连接(a.id=b.id)相比,连接后的表只有一列id,而不是两列…
begin···end 该语句定义sql代码块,通常在if和while语句中使用 declare @num int ; ; begin ; print 'hello word' end if···else 条件判断语句,其中else是可选的 print '张三的性别是:男' else print '张三的性别是:女'  while.break.continue declare @num int ; ; begin ; print 'hello word' continue break end 说…
1.概述 名词 笛卡尔积.主键.外键 数据完整性 实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空 参照完整性:表中的外键取值为空或参照表中的主键 用户定义完整性:取值范围或非空限制,例如:性别(男女),年龄(0-130) 表连接 自然连接:与等值连接(a.id=b.id)相比,连接后的表只有一列id,而不是两列(a.id和b.id). 半连接:与等值连接(a.id=b.id)相比,连接后的表只有A表的列,被B表“多次匹配”列会显示为一行. 左外连接:left join 右外连接:…
在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局变量名称 描述 @@CONNECTIONS 返回 SQL Server 自上次启动以来尝试的连接数. @@CPU_BUSY 返回 SQL Server 自上次启动后的工作时间. @@CURSOR_ROWS 返回连接上打开的上一个游标中的当前限定行的数目, 确定当其被调用时检索了游标符合条件的行数.…
一.创建数据库:create database mydb-创建数据库mydbon primary-在primary文件组中( name = mydb_data1,filename = 'd:\sql data\mydb_data1.mdf',size = 1,--maxsize = unlimited,filegrowth = 10% ),filegroup data2-创建文件组data2( name = mydb_data2,filename = 'd:\sql data\mydb_data…
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那…
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那…
今天遇到一个问题:想把sql字符串在SQL Server 中执行了,并获取执行的结果 ); SET @tablename='select @table3 = count(1) from UserVisitLog'; ); exec sp_executesql @tablename, N'@table3 NVARCHAR(300) OUT',@newtablename OUT PRINT @newtablename…
最近开始接触Oracle,想要了解下同SQL Server使用时的区别.搜寻网上信息找到具体区别分类如下: 一.数据类型比较 类型名称 Oracle SQLServer 比较  字符数据类型  CHAR  CHAR  都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb  变长字符数据类型  VARCHAR2  VARCHAR  Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb  根据字符集而定的固定长度字符串  NCHAR  NC…
有时候我们想用DROP DATABASE语句删除数据库和数据库文件,会删不掉,因为有其他人正在使用要删除的数据库,这里有一个方法可以强制断开其它数据库连接,再删除数据库. 假如我们要删除的数据库是[TestDB],我们可以用下面的语句: USE [master]--注意不能够USE [TestDB],因为[TestDB]即将被删除,所以不能够将当前连接设置为连接到[TestDB],否则下面的DROP DATABASE语句会报错 ALTER DATABASE [TestDB] SET SINGLE…
1.表(Table ) 数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的.列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名.行包括了若干列信息项.一行数据称为一个或一条记录,它表达有一定意义的信息组合.一个数据库表由一条或多条记录组成,没有记录的表称为空表.每个表中通常都有一个主关键字,用于惟一地确定一条记录. 2.索引(Index) 索引是根据指定的数据库表列建立起来的顺序.它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的…
问: I have three stored procedures Sp1, Sp2 and Sp3.The first one (Sp1) will execute the second one (Sp2) and save returned data into #tempTB1 and the second one will execute the third one (Sp3) and save data into #tempTB2.If I execute the Sp2 it will…
--所有没有主键的表 select name from sysobjects where xtype='U' and id not in ( select i.parent_obj from sysobjects i where i.xtype='PK' ) order by name --逻辑读最多的语句 (total_logical_reads / execution_count) AS avg_logical_reads ,(total_logical_writes / execution…
数据库中学生表和课程表如下: 内连接sql语句: select a.studentName,a.studentAge,b.courseName from student a inner join course b on a.studentID=b.studentID 查询结果如下: 查询的结果是以从表course为主,没有就不显示.…
SQL常用函数之三 REPLICATE () 按指定次数重复字符表达式. 语法 REPLICATE ( character_expression, integer_expression) 参数 character_expression 字符数据型的字母数字表达式,或者可以隐式转换为 nvarchar 或 ntext 的其他数据类型的字母数字表达式. integer_expression 可以隐式转换为 int 的表达式.如果 integer_expression 为负,将返回空字符串. 返回值 …
1. computed column ) persisted; 2. unique nullable create unique nonclustered index[UniqueName] on [tableName]([columnNameA] asc) where ([columnNameA] is not null); 3. foreign key cascade delete alter table [tableNameA] drop constraint [FKName]; alte…
首先点击新建查询 如下图所示 创建数据库:create database 数据库名称 使用数据库:use 数据库名称 创建表:create table 表名 ( 代码 ) 输入完成执行时需选中 如果需要多条语句一起执行,则需要在后面+“go” 例如: create database 数据库名称 go use 数据库名称 go create table 表名 ( 代码 ) 代码中需要的关键字: primary key 主键unique 唯一键not null 非空references 外键关系(引…
转自:http://www.jb51.net/article/56691.htm IF OBJECT_ID('DBO.DISTINCT_STR') IS NOT NULL DROP FUNCTION DBO.DISTINCT_STR GO --此函数操作形如["a", "b", 1,2,3,1,"a"]的数组,去重后,["b",1,2,3] --@S(原有参数), @SPLIT(分隔符), @NEW_STR(新添加字符串) )…
原本写的 select * from table where name like  '%@searchStr%' 怎么执行都不对,想想 参数是不能加 引号的 于是改为select * from table where name like   '%'+@searchStr+'%' 则正确执行…
表结构 CREATE TABLE [staff] ( [id] [varchar](50) NOT NUL L, [name] [varchar](50) NOT NULL, [password] [varchar](50) NULL, [roleid] [varchar](50) NULL, [account] [varchar](50) NULL, [tel] [varchar](50) NULL, ) 增加列 : alter table staff add sex varchar(50)…
parameter sniff问题是重用其他参数生成的执行计划,导致当前参数采用该执行计划非最优化的现象.想必熟悉数据的同学都应该知道,产生parameter sniff最典型的问题就是使用了参数化的SQL(或者存储过程中使用了参数化)写法,如果存在数据分布不均匀的情况下,正常情况下生成的执行计划,在传入在分布数据较多的参数的情况下,重用了正常参数生成的执行计划,而这种缓存的执行计划并非适合当前参数的一种情况. 这种情况,在实际业务中,出现的频率还是比较高的,因为存储过程一般都是采用参数化的写法…
怎么让sql server中的sql语句自己主动换行呢? 例如以下图: 工具--选项--全部语言 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbmt1bmtpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">…
    在SQL Server中,SQL语句的执行是依赖查询优化器生成的执行计划,而执行计划的好坏直接关乎执行性能.     在查询优化器生成执行计划过程中,需要参考元数据来尽可能生成高效的执行计划,因此元数据越多,则执行计划更可能会高效.所谓需要参考的元数据主要包括:索引.表结构.统计信息等,但还有一些不是很被注意的元数据,其中包括本文阐述的Check约束.     查询优化器在生成执行计划之前有一个阶段叫做代数树优化,比如说下面这个简单查询:         图1.简单查询       查询…
参考:http://blog.csdn.net/luminji/article/details/5130004 利用SQL Server游标修改数据库中的数据 SQL Server中的UPDATE语句和DELETE语句可以支持SQL Server游标操作,通过SQL Server游标修改或删除游标基表中的当前数据行操作是很常见的方法. UPDATE语句的格式为: UPDATE table_name SET 列名=表达式}[,…n] WHERE CURRENT OF cursor_name DEL…
在SQL Server中 case...end 语句,一般有如下两种用法: 1.相当于C#中if...else,例: select CName,头衔=case when CLevel='A1' then '初级程序员' when CLevel='A2' then '中级程序员' when CLevel='A3' then '高级程序员' else '骨灰级大师' end from Coder 这种写法可以用来做区间或等值的判断. 2.相当于C#中的switch...case,例: select…
一.SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 1.图形化监视SQL Server查询: 2.在后台收集查询信息: 3.分析性能: 4.诊断像死锁之类的问题: 5.调试T-SQL语句: 6.模拟重放SQL Server活动: 也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动.这样的活动被称为Profiler跟踪. 1.Profiler跟踪 从开始=>所有程序=>Microsoft SQL Server 2…
在Sql Server中不常用的表运算符之APPLY(1)中提到,SQL2005中新支持的APPLY的特性:1.可以直接将表表达式(表值函数或者子查询)作为APPLY语句的右表连接左表.2.由于使用APPLY是总是先计算左表达式表,所以右表表达式可以使用左表表达式中的列.3.APPLY主要用于将表值函数运用在右表表达式中表的每一行. 有时也APPLY将一个子查询作为左表表达式.假设我们有以下的两张表 order: customer: 选出customer C001最近的N个订单可以使用inner…
原文:SQL Server中存储过程比直接运行SQL语句慢的原因 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1.       存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度. 2.       经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query…
SQL Server中一些有用的日期sql语句 1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 3.一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 4.季度的第一天 SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()),…