`
convertto
  • 浏览: 124801 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

SQLServer语句查询

阅读更多
<html>
<head>
<title>sqlserver语法查询^^^肖永鑫制作</title>
</head>
<body link="#0000ff" alike="#ff000" vlike="0000ff">
<a name="返回">
			<center>	 <font color=red><h1>数据库常用语句</h1></font></center>
<br><marquee behavior=alternate><font color=blue>小鑫制作</font></marquee><br><hr><br></a>
<center>
<a href="#数据库">数据库</a> 
<a href="#数据表">数据表</a>

<a href="#索引">索引</a>
<a href="#视图">视图</a>
<a href="#transact-sql">transact-sql</a>
<a href="#事务">事务</a>
<a href="#触发器">触发器</a>
<a href="#游标">游标</a>
<a href="#存储过程">存储过程</a>
<a href="#xml">xml</a>
<a href="#select语句">select语句</a>

<a href="#完整性">完整性</a>
<a href="#数据类型">数据类型</a>
</center>
<pre><a name="数据库"><font color=blueviolet><h4>
					创建数据库
					语法:
</h4></font></a><a href="#返回">返回</a>
<h3>
			create database database_name 
			[ on 
    			[ < filespec > [ ,...n ] ] 
   			[ , < filegroup > [ ,...n ] ] 
			] </center>
			[ log on { < filespec > [ ,...n ] } ] 
			[ for attach ] 

			< filespec > ::=
			[ primary ]
			( [ name = logical_file_name , ]
    			filename = 'os_file_name'
  	  		[ , size = size ]
    			[ , maxsize = { max_size | unlimited } ]
    			[ , filegrowth = growth_increment ] )

			< filegroup > ::=
			filegroup filegroup_name < filespec > 

</h3><b>
			解释:
</b>
			on:指定数据文件 
			log on:指定日志文件 
			for attach:附加数据库 
			primary:指定主文件 
			name:指定文件的逻辑名称
			filename:指定文件的物理名称
			size:指定文件的大小
			maxsize:指定文件最大的大小 
			filegrowth:文件的增长增量
			filegroup:指定文件组
<b><font color=blueviolet><h4>
			修改数据库
			语法:
</h4></font></b><h3>
			alter database database 
			{ add file < filespec > [ ,...n ] [ to filegroup filegroup_name ] 
			| add log file < filespec > [ ,...n ] 
			| remove file logical_file_name 
			| add filegroup filegroup_name 
			| remove filegroup filegroup_name 
			| modify file < filespec > 
			| modify name = new_dbname 
			| modify filegroup filegroup_name {filegroup_property | name=new_filegroup_name 			}}
</h3>
			解释:
			add file:指定要添加文件
			to filegroup:指定要将指定文件添加到的文件组
			add log file:指定要将日志文件添加到指定的数据库
			remove file:从数据库系统中删除文件
			add filegroup:指定要添加文件组
			remove filegroup:从数据库中删除文件组:
			modify file指定要更改给定的文件:
			modify name:重命名数据库
			modify filegroup:指定要修改的文件组 

<b><font color=blueviolet><h4>
			删除数据库
			语法:
</h4></font></b><h3>
			drop database database_name [ ,...n ]
</h3><hr><b><a name="数据类型"><font color=blueviolet><h4>
			数据类型:
</h4></font></a><a href="#返回">返回</a></b>
<center> 
<table border="1">
<tr><th>			分类</th>	<th>数据类型</th></tr>

<tr><td>			整数数据类型</td>	<td>bit、tinyint、smallint、int、bigint</td></tr>
<tr><td>			货币数据类型</td>	<td>smallmoney、money</td></tr>
<tr><td>			浮点数据类型</td>	<td>decimal、numeric、real、float</td></tr>
<tr><td>			日期/时间数据类型	</td><td>smalldatetime、datetime</td></tr>

<tr><td>			字符数据类型</td>	<td>char、varchar、nchar、nvarchar</td></tr>
<tr><td>			二进制数据类型</td>	<td>binary、varbinary</td></tr>
<tr><td>			图像和文本数据类型</td>	<td>text、ntext、image</td></tr>
</table>
</center> 

<hr><b><a name="完整性"><font color=blueviolet><h4>
			数据完整性的机制:
</h4></font></a><a href="#返回">返回</a></b>
<h3>
			特定标识属性(identity)
			默认值(default)
			约束
			主键约束(primary key)
			外键约束(foreign key)
			惟一约束(unique)
			检查约束(check)
			非空约束(not null)
</h3><hr><b><a name="select语句"><font color=blueviolet><h4>
			select语句的基本结构:
</h4></font></a><a href="#返回">返回</a></b>
<h3>
			select[top n] [distinct(去掉重复)]select_list[as 别名]
			from table_source 
			[group by 要分组的列名]
			[compute {{ avg|count|max|min|sum}(expression)}[,...n][by expression [,...n]]
			[having 可以加集合函数的类似where语句 ]
			[ where search_condition(比较,范围,类表,模式,复合) ] 
			[ order by {order_expression [ asc | desc ]}[,...n] ] 
</h3>

			select:指定由查询返回的列
			from:指定从其中检索行的表
			where:指定用于限制返回的行的搜索条件
			order by:指定结果集的排序

			示范
			select 学号,avg(课程成绩) as 平均成绩 from 成绩表 where 学号 is not null group by 
			学号 having avg(课程成绩)>92 order by 平均成绩
<b>
			示例中sql语句的执行顺序
			首选执行from子句,从成绩表组装数据源的数据
			执行where子句,筛选成绩表中所有不为null的数据
			执行group by子句,把成绩表按学号列进行分组
			计算avg()聚合函数,按课程成绩求出平均成绩的具体数值
			执行having子句,筛选平均成绩大于92分的学生信息
			执行order by子句,把最后的结果按平均成绩进行排序
</b><hr><b><a name="数据表"><font color=blueviolet><h4>
			创建数据表
</h4></font></a><a href="#返回">返回</a></b>
<h3>
			create table 表名
			(
			 列名 数据类型 [约束],
			 列名 数据类型 [约束],
			 …
			)[on 文件组]
</h3><b><font color=blueviolet><h4>
			修改数据表
</h4></font></b><h3>

			alter table 表名
			{
 			add 列名 数据类型 [约束] |
			 alter column 列名 新数据类型 [约束] |
 			drop column 列名
			}
</h3><b><font color=blueviolet><h4>
			删除数据表
</h4></font></b><h3>
			drop table table_name
</h3><b><font color=blueviolet><h4>			
			向表插入数据
			语法:
</h4></font></b><h3>
			insert [into] 表名(字段名[,n]) values(数据[,n])
</h3><b><font color=blueviolet><h4>
			修改表修改数据
			语法:
</h4></font></b><h3>

			update 表名 set 字段名=新数据 [where 条件]
</h3><b><font color=blueviolet><h4>
			删除表数据
			语法:
</h4></font></b><h3>
			delete [from] 表名 [where 条件]
</h3><hr><b><a name="索引"><font color=blueviolet><h4>
			索引的创建
			语法:
</h4></font></a><a href="#返回">返回</a></b><h3>
			create [ unique ] [ clustered | nonclustered ] 
			index index_name
			on { table | view } ( column [ asc | desc ] [ ,...n ] ) 
</h3>
			参数:
			[ unique ] [ clustered | nonclustered ]
			指定创建索引的类型,参数依次为惟一索引、聚集索引和非聚集索引。
			当省略 unique 选项时,建立非惟一索引。
			当省略 clustered|nonclustered 选项时,建立非聚集索引

<b><font color=blueviolet><h4>
			索引的删除
			语法:
</h4></font></b><h3>
			drop index 'table.index | view.index' [ ,...n ]
</h3><hr><b><a name="视图"><font color=blueviolet><h4>
			使用transact-sql创建视图
			语法:
</h4></font></a><a href="#返回">返回</a></b><h3>
			create view view_name 
			as select_statement
</h3>
			参数:
			view_name:视图的名称
			as:视图要执行的操作
			select_statement:定义视图的查询语句
<b><font color=blueviolet><h4>

			视图的修改
			语法:
</h4></font></b>
<h3>
			alter view view_name 
			as select_statement
</h3>
			参数:
			view_name:要更改的视图的名称
			as:视图要执行的操作
			select_statement:定义视图的查询语句
<b><font color=blueviolet><h4>
			视图的删除
			语法:
</h4></font></b><h3>
			drop view view_name[,…n]
</h3> 
			参数:
			view_name:要删除的视图的名称


<hr><b><a name="transact-sql"><font color=blueviolet><h4>
			transact-sql可以使用两种变量
</h4></font></a><a href="#返回">返回</a></b><h3>
			声明局部变量
			declare @局部变量名 数据类型 [,…n]
			declare @x int
			为局部变量赋值
			set @x=500
			select @x=max(课程成绩) from 成绩表
</h3><b>			
			常用的全局全量
			@@connections:返回自上次启动sql server以来连接或试图连接的次数 
			@@error:返回最后执行的transact-sql语句的错误代码
			@@identity:返回最后插入的标识值
			@@rowcount:返回受上一语句影响的行数
			@@version:返回sql server当前安装的日期、版本和处理器类型 
</b>
<b><font color=blueviolet><h4>
			流程控制
</h4></font></b>
<center>
<table border="1">
<tr><td>			begin…end</td>	<td>if…else</td><td>	case</td></tr>

<tr><td>			while	</td><td>continue</td><td>	break</td></tr>
<tr><td>			return	</td><td>goto</td><td>	waitfor</td></tr>
</table>
</center><hr><b><a name="事务"><font color=blueviolet><h4>
			事务
</h4></font></a><a href="#返回">返回</a></b>

<h3>
			显式事务的应用
			--开始事务
			begin transaction
			--向班级表中插入正确的数据
			insert into class(class_id,class_name,class_place) values('1','三班','101')
			--向班级表中插入错误的数据
			insert into class(class_id,class_name,class_place) values('1','四班','102')
			--判断当前事务中的t-sql语句是否出错
			if(@@error!=0)
				--回滚事务
				rollback transaction
			else
				--提交事务
				commit transaction



			隐式事务的应用
			--将连接设置为隐式事务模式
			set implicit_transactions on
			--向班级表中插入正确的数据
			insert into class(class_id,class_name,class_place) values('1','三班','101')

			--向班级表中插入错误的数据
			insert into class(class_id,class_name,class_place) values('1','四班','102')
			--判断当前事务中的t-sql语句是否出错
			if(@@error!=0)
				--回滚事务
				rollback transaction
			else
				--提交事务
				commit transaction
			--取消隐式事务模式,恢复为自动提交事务模式
			set implicit_transactions off
</h3><hr><b><a name="触发器"><font color=blueviolet><h4>
			触发器
</h4></font></a><a href="#返回">返回</a></b>
<h3>
			触发器的创建
			create trigger trigger_name 
			on { table | view } 
			{ after | instead of } 
			{ [ insert ] [ , ] [ update ] [ , ] [ delete ] } 
			as { sql_statement }
			触发器的删除
			drop trigger trigger_name [ ,...n ]
</h3><hr><b><a name="游标"><font color=blueviolet><h2>
			游标
</h2></font></a><a href="#返回">返回</a></b><font color=blueviolet><h4>
			声明游标

</h4></font><h3>
			declare cursor_name cursor
			[ local | global ]
			[ forward_only | scroll ]
			[ static | keyset | dynamic | fast_forward ]
			[ read_only | scroll_locks | optimistic ]
			for select_statement [ for update [ of column_name [ ,...n ] ] ]
</h3>

			local:当前游标只限于局部使用
			global:当前游标可全局使用
			forward_only:游标指针只能向下移动
			scroll:游标指针可任意移动
			static:静态游标
			keyset:键集游标
			dynamic:动态游标
			fast_forward:只进游标
			read_only:禁止通过该游标进行更新
			scroll_locks:指定通过游标进行的更新或删除保证会成功
			optimistic:如果游标读入的行已更新,则更新或删除不会成功
			for update [ of column_name [ ,...n ] ] :定义游标中可更新的列

<font color=blueviolet><h4>
			打开游标
</h4></font><h3>
			open { [ global ] cursor_name } 
</h3>

			open 语句用来将它所引用的记录填充到游标中。
			打开游标后,可以使用 @@cursor_rows 在上次打开的游标中接收合格行的数目	

<font color=blueviolet><h4>
			提取游标
</h4></font><h3>
			fetch  
			[ next | prior | first | last | absolute n | relative n ] 
			from 
			{ { [ global ] cursor_name }
			[ into @variable_name [ ,...n ] ]
</h3>
			解释:
			next:下一行
			prior:上一行
			first:第一行
			last:最后一行
			absolute n:从游标头开始的第 n 行
			relative n:从当前行开始的第 n 行
			into @variable_name [ ,...n ]:将提取的列数据放到局部变量中 

			@@fetch_status 报告上一个 fetch 语句的状态
<font color=blueviolet><h4>
			关闭游标
</h4></font><h3>
			close { [ global ] cursor_name } 
</h3>
			释放当前结果集,然后解除定位游标的行上的游标锁定,从而关闭一个开放的游标 

<font color=blueviolet><h4>
			删除游标
</h4></font><h3>
			deallocate { [ global ] cursor_name } 
</h3><hr><b><a name="存储过程">
			存储过程
</a><a href="#返回">返回</a></b><font color=blueviolet><h4>
			创建存储过程
			语法:
</h4></font><h3>
				create procedure procedure_name
				[ { @parameter data_type } [ = default ] [ output ]] [ ,...n ] 
				[ with encryption ]
				as sql_statement [ ...n ]
</h3>

			参数:
			procedure_name:存储过程的名称
			@parameter:存储过程的参数
			data_type:参数的数据类型
			default:参数的默认值
			output:表明参数是返回参数
			with encryption:加密当前的存储过程
			as:指定存储过程要执行的操作 
			sql_statement:过程中要包含的任意数目和类型的sql语句
<font color=blueviolet><h4>
			执行存储过程
			语法:
</h4></font><h3>
			execute procedure_name [ @parameter ]
</h3><font color=blueviolet><h4>
			删除存储过程
			语法:
</h4></font><h3>
			drop procedure procedure_name
</h3><hr><a name="xml"></a><a href="#返回">返回</a>
<h3>

			创建xml数据类型的变量和列
			--创建xml数据类型的变量
			declare @x xml
			set @x='<address id="1"><country>中国</country><city>北京</city></address>'
			select @x

			--创建xml数据类型的列
			create table xmltest
			(
			 id int primary key,
			 address xml,
			)
</h3>
</pre>
</body>
</html>
 
分享到:
评论

相关推荐

    sql server 查询当天,本周,本月,本年,30天内的数据的sql语句

    sql server 查询当天,本周,本月,本年,30天内的数据的sql语句

    sqlserver分页查询语句

    sqlserver分页查询语句;sqlserver分页查询语句;sqlserver分页查询语句;

    非常好用的SQL Server 抓取SQL语句工具HOOK

    非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK

    SQL server语句的学习

    本压缩包“SQL server语句的学习”旨在提供SQL Server语句的具体实例,帮助学习者深入理解并熟练掌握SQL Server的查询操作。 首先,我们关注的是标签“SQL Server select语句”,这是SQL中最基础也是最常用的语句之...

    sql server 语句优化

    本文将从SQL Server语句优化的角度出发,详细介绍如何通过各种技术和策略来提升查询性能。 #### 二、SQL Server 查询优化的基本原则 1. **减少数据扫描量**:通过合理设计索引和查询条件,减少不必要的全表扫描。 ...

    sqlserver语句全库查询

    sqlserver语句全库查询 可以找到关键字所在表及表内字段

    SQLServer语句大全

    SQLServer 语句大全 SQLServer 是一个功能强大且广泛使用的关系数据库管理系统,本文档旨在提供一个 SQLServer 语句大全,涵盖了数据库的定义、操作和控制等多方面的语句。 数据库定义语言 (DDL) 1. 创建数据库:...

    SqlServer语句自动提示插件

    Sql Server语句自动提示插件是一款为数据库开发者和管理员提供便利的工具,它极大地提高了编写SQL语句的效率。在数据库开发过程中,手动输入复杂的SQL命令可能会耗费大量时间,而这款插件则能够通过智能提示功能,...

    SQL SERVER 语句大全.rar

    这个"SQL SERVER 语句大全.rar"压缩包文件很可能包含了关于SQL Server中各种常用查询语句、数据操作、事务处理、索引管理、视图创建等核心知识点的详细资料。 一、SQL Server基本语法 SQL Server支持标准的SQL语法...

    sqlserver自动生成sql语句工具sqlserver转oracle

    在压缩包子文件的文件名"ms转sql语句.exe"中,我们可以推测这可能是一个用于将SQL Server语句转换为Oracle兼容格式的可执行程序。这样的工具通常会提供用户友好的界面,让用户导入SQL Server的数据库元数据,然后...

    SQL Server宝典SQL Server语句大全

    《SQL Server宝典SQL Server语句大全》涵盖了SQL Server数据库管理系统中的各种核心概念、操作语法以及高级技巧。作为一款广泛使用的数据库系统,SQL Server提供了强大的数据管理能力,支持复杂的查询、事务处理、...

    SQL语句实现跨Sql server数据库操作实例

    本文将通过具体的例子来展示如何使用SQL语句在不同的SQL Server实例之间执行查询和插入操作。 #### 实例一:跨SQL Server实例查询数据 首先,我们来看一下如何在一个SQL Server实例中查询另一个SQL Server实例的...

    sqlserver如何快速查询死锁语句

    本文将详细介绍如何在SQL Server中快速查询并解决死锁问题。 首先,我们要检查是否有未提交的事务。未提交的事务可能会导致阻塞其他事务,进一步引发死锁。以下是一段SQL查询语句,用于找出所有未提交事务的详细...

    SQLserver查询语句大全

    例如,下面的语句查询 testtable 表中姓名为“张三”的 nickname 字段和 email 字段。 ``` SELECT `nickname`,`email` FROM `testtable` WHERE `name`='张三' ``` 选择列表是查询语句的基础,指定了所查询列的名称...

    sqlserver之并行查询

    SQL Server 之并行查询 并行查询是 SQL Server 中的一种查询优化技术,通过使用多个线程来处理查询作业,从而提高查询的效率。这种技术可以加速查询的执行速度,特别是在大表查询和复杂查询的情况下。 一、并行...

    SQLserver全语句,全语句,使用方法

    SQLserver语句使用方法,SQLserver语句详细注释,SQLserver

    Excel根据表格,批量生成sqlserver语句 ,生成建表语句,自行到数据库中执行

    标题提到的“Excel根据表格,批量生成sqlserver语句,生成建表语句,自行到数据库中执行”,就是一种利用Excel宏自动化生成SQL Server建表语句的方法。这种方法适用于已有数据结构清晰的Excel表格,通过特定的规则...

    SQL Server 语句教程大全

    SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL语句教程大全SQL...

    用SQL语句j查SQLServer的表结构

    用SQL语句j查SQLServer的表结构 用SQL语句j查SQLServer的表结构

    SQLServer查询耗费大量资源的语句.txt

    ### SQL Server 查询优化:识别与分析高资源消耗的SQL语句 #### 背景介绍 在数据库管理系统(DBMS)中,SQL Server 是一种广泛使用的解决方案,它为各种规模的企业提供强大的数据存储和处理能力。然而,在实际应用...

Global site tag (gtag.js) - Google Analytics