sql server 数据库基础知识(二)
CASE函数用法1:单值判断,相当于switch case
CASE expression
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
ELSE defaultreturnvalue
END
CASE函数用法2:
CASE
WHEN condition1 THEN returnvalue1
WHEN condition 2 THEN returnvalue2
WHEN condition 3 THEN returnvalue3
ELSE defaultreturnvalue
END
表连接Join:SELECT o.BillNo,c.Name,c.Age from T_Orders as o JOIN T_Customers as c on o.CustomerId=c.Id.join是和哪个表连接,on后是连接的关系是什么。
子查询:将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询。只有返回且仅返回一行、一列数据的子查询才能当成单值子查询。如果子查询是多行单列的子查询,这样的子查询的结果集其实是一个集合。限制结果集。返回第3行到第5行的数据(ROW_NUMBER 不能用在where子句中,所以将带行号的执行结果作为子查询,就可以将结果当成表一样用了): SELECT * FROM
( SELECT ROW_NUMBER() OVER(ORDER BY FSalary DESC) AS rownum, FNumber,FName,FSalary,FAge FROM T_Employee ) AS a WHERE a.rownum>=3 AND a.rownum<=5
RDLC文件其实就是一个XML文件,有很多结点和元素。ReportViewer是RDLC的浏览器,需要注意的是它的数据源必须是数据库、或对象。数据源:可以是传统数据库,也可以是XML文件。ReportViewer:利用ReportDataSource填充的 数据 及 指定给它的RDLC报表文件 来显示报表 。步骤 1、工具栏上点击数据—添加新数据源,根据向导添加连接到Northwind的强类型数据集, 添加表Employees 2、在项目中新建报表文件或使用报表向导创建报表文件,后缀为RDLC 3、设计RDLC 4、新建窗体 拖入ReportViewer控件并为ReportViewer选择要显示的报表文件,完成后窗体上会自动创建3个组件:强类型数据集、TableAdapter和BindingSource
视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上。视图在操作上和数据表没有什么区别,但两者的差异是其本质是不同:数据表是实际存储记录的地方,然而视图并不保存任何记录,它存储的实际上是查询语句。
声明局部变量:DECLARE @变量名 数据类型。 赋值:SET @变量名 =值 --set用于普通的赋值 SELECT @变量名 = 值 --用于从表中查询数据并赋值
变量分为:局部变量:局部变量必须以标记@作为前缀 ,如@Age int。局部变量:先声明,再赋值 。全局变量(系统变量):全局变量必须以标记@@作为前缀,如@@version。全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值
IF(条件表达式)
BEGIN --相当于C#里的{
语句1 ……
END --相当于C#里的}
ELSE
BEGIN
语句1
……
END
WHILE(条件表达式)
BEGIN --相当于C#里的{
语句
……
BREAK
END --相当于C#里的}
事务(Transaction):指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)--也就是由多个sql语句组成,必须作为一个整体执行。这些sql语句作为一个整体一起向系统提交,要么都执行、要么都不执行。 语法步骤:开始事务:BEGIN TRANSACTION 事务提交:COMMIT TRANSACTION 事务回滚:ROLLBACK TRANSACTION。判断某条语句执行是否出错:全局变量@@ERROR;@@ERROR只能判断当前一条T-SQL语句执行是否有错,为了判断事务中所有T-SQL语句是否有错,我们需要对错误进行累计;例:SET @errorSum=@errorSum+@@error
定义存储过程的语法
CREATE PROC[EDURE] 存储过程名
@参数1 数据类型 = 默认值 OUTPUT,
@参数n 数据类型 = 默认值 OUTPUT
AS
SQL语句
参数说明:参数可选。参数分为输入参数、输出参数。输入参数允许有默认值EXEC 过程名 [参数]
无参数的存储过程调用:Exec pro_GetAge 有参数的存储过程两种调用法:EXEC proGetPageData 60,55 ---按次序 EXEC proGetPageData @labPass=55,@writtenPass=60 --参数名 参数有默认值时:EXEC proGetPageData --都用默认值 EXEC proGetPageData 1 --页容量(@pageSize)默认值 EXEC proGetPageData 1,5 --不用默认值
分页存储过程:
create proc getpage
@pagesize int,
@pageindex int,
@rowcount int output,
@pagecount int output
as
select*from (select row_number() over(order by sid) as rownum,*from students)as a where a.rownum>(@pageindex-1)*@pagesize and a.rownum<=@pageindex*@pagesize
select @pagecount=ceiling((count(*)+0.0)/@pagesize),@rowcount=count(*) from students
declare @rc int,@pc int
exec getpage 3,3,@rc output,@pc output
select @rc,@pc
触发器:CREATE TRIGGER triggerName ON Table
for UPDATE|INSERT|DELETE
AS
begin
…
end
sql server 数据库基础知识(二)的更多相关文章
- SQL Server 数据库基础知识
数据库(Database)是由文件管理系统发展起来的,按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 特点: 尽可能小的冗余度. 具有较高的数据独立性和易扩 ...
- sql server 数据库基础知识(一)
主键(PrimaryKey):主键就是一个表中每个数据行的唯一标识.不会有重复值的列才能当主键.一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键.SQLServer中生成GUID ...
- C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用
C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备) https://blog.csdn.net/u013519551/article/details/51220841 1. . ...
- SQL server 数据库基本知识
SQL server 数据库基本知识 一.数据库: 分为层次型.网状型.关系型.现在通常都是使用关系型 常用的有:SQLserver.Oracle.DB2.Access.Visual Foxpro.M ...
- Sql Server数据库基础
--------------------------------------第一章 Sql Server数据库基础------------------------------------------ ...
- sql server 2008 基础知识
一.配置管理器 1.管理服务 使用配置管理器可以启动.停止.重新启动.继续或暂停服务. 服务器和客户端网络协议 2.SQLSMS 简介:SQLSMS是一个集成环境,用于访问.配置.管理和开发SQL ...
- SQL Server 数据库基础笔记分享(下)
前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...
- SQL Server 数据库基础笔记分享(上)
前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...
- 牢记!SQL Server数据库开发的二十一条注意点
如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS). ...
随机推荐
- 【权值分块】bzoj1588 [HNOI2002]营业额统计
权值分块就是快……Rank5…… #include<cstdio> #include<algorithm> #include<cmath> using namesp ...
- IIS8集成模式下打开静态资源被aspx处理程序处理,StaticFileModule失效问题分析
问题描述: 打开js,css,jpg之类的静态资源文件触发了asp.net mvc的权限认证,并不是直接返回静态内容 问题分析: StaticFileModule 失效 ,可能是文件权限问题 问题解决 ...
- 常见的 HTTP 状态代码及原因
代码 说明 备注 200 确定 IIS 7.0.IIS 7.5 和 IIS 8.0 成功处理了请求. 304 未修改 客户端浏览器请求已处于缓存中的文档,并且自从该文档被缓存后,未修改此文档.客户端浏 ...
- UML及其StarUML介绍
http://blog.csdn.net/monkey_d_meng/article/details/6005764 http://www.uml.org.cn/oobject/200901203.a ...
- redis秒杀系统数据同步(保证不多卖)
东西不多卖 秒杀系统需要保证东西不多卖,关键是在多个客户端对库存进行减操作时,必须加锁.Redis中的Watch刚好可以实现一点.首先我们需要获取当前库存,只有库存中的食物小于购物车的数目才能对库存进 ...
- ThreadPoolExecutor 的三种提交任务方式
学习内容: ExecutorService线程池的应用... 1.如何创建线程池... 2.调用线程池的方法,获取线程执行完毕后的结果... 3.关闭线程... 首先我们先了解一下到底什么是线程池 ...
- ubuntu登录黑屏“failed to start session”, gdm+kdm+lightdm
sudo apt-get install ubuntu-desktop sudo systemctl start gdm sudo service lightdm restart sudo syste ...
- windows下硬盘的逻辑结构
共有五部分组成: MBR:主引导分区(硬盘启动记录) DBR:DOS启动记录 FAT: 文件分配表 DIR:根目录区 DATA:数据区
- flask admin学习记录
flask admin是flask框架中一个非常好用的后台管理框架,但是由于文档内容太少,经常遇到问题无法解决,这里记录一下 一简单的使用 from flask import Flask from f ...
- HDU 4008 Parent and son LCA+树形dp
题意: 给定case数 给定n个点的树,m个询问 以下n-1行给出树边 m个询问 x y 问:以x为根.y子树下 y的最小点标的儿子节点 和子孙节点 思路: 用son[u][0] 表示u的最小儿子 s ...