SQL Server编程入门
SQL编程要比Java编程、C#编程简单许多,下面我们直接讲干货21:04:31
使用变量
局部变量
在T-SQL中,局部变量的名称必须以标记@作为前缀。T-SQL的局部变量其实和Java中的局部变量的性质是一样的,只是声明和调用的方式有些区别。
声明局部变量:
declare @StudentNo int 其中的StudentNo是变量名称,是自己设定的。前面的declare是声明变量必须要用到的,不要改变。后面的int则是数据类型。
变量的赋值:
声明了变量就要使用,T-SQL中局部变量赋值有两种方法,分别是使用set语句或select语句。
语法:set @StudentNo = 1 或者 select @StudentNo = 1
set | select | |
同时对多个变量赋值 | 不支持 | 支持 |
表达式返回多个值时 | 出错 | 将返回的最后一个值赋给变量 |
表达式未返回值时 | 变量被赋值为null | 变量保持原值 |
全局变量:
SQL Server中的所有全局变量都使用两个@符号作为前缀。下面列举一些常用的全局变量↓
变量 | 含义 |
@@error | 最后一个T-SQL错误的错误号 |
@@identity | 最后一次插入的标识值 |
@@language | 当前使用的语言的名称 |
@@max_connections | 可以创建的、同时连接的最大数目 |
@@rowcount | 受上一个sql语句影响的行数 |
@@servername | 本地服务器的名称 |
@@servicename | 该计算机上的SQL服务的名称 |
@@timeticks | 当前计算机上每刻度的微秒数 |
@@transcount | 当前连接打开的事物数 |
@@version | SQL Server的版本信息 |
输出语句:
常用的打印输出语句有两种,print语句和select语句,使用select语句输出数据是查询语句的特殊应用。
语法: print 局部变量或字符串
select 局部变量 as 自定义列名
使用print打印时可以使用“+”拼接字符串或者其他变量。但是如果变量类型不同时会报错,需要适当转换类型。
数据类型转换:
类型转换有两个函数:convert(转换到什么类型,表达式,样式)和cast(表达式,转换到什么类型)。这两种函数的不同之处是前者可以设定字符串样式,多用于设定时间。也可不设。
逻辑控制语句
概述:
T-SQL中常用的逻辑控制语句有if判断语句,while循环语句,case分支语句。前两者和Java中的语句不同之处在于:Java中条件后面需要加大括号。如果if后面只有一条语句时也可以不加大括号。
而在T-SQL中,是没有大括号的,是用begin代替‘{’,用end代替‘}’。begin和end在代码中各占单独一行。
而case语句则类似Java中的switch语句。用case代替‘switch’,用when代替‘case’。并且在T-SQL中case语句是没有break的(循环语句则有break和continue)。
case语法:
case
when 条件1 then 结果1
when 条件2 then 结果2
[else 其他结果] --可选
end
至此我们已经基本了解了T-SQL中如何声明和使用变量以及逻辑语句的用法。
ps:新手上路,还望大家多提建议
12-15补充:case结构也很像java中的三目运算。可以从不同的角度去理解。
SQL Server编程入门的更多相关文章
- SQL Server 编程入门
一.T—SQL 的组成 1.DML(数据操作语言 Data Manipulation Language) 查询.插入.删除和修改数据库中的数据.SELECT.INSERT.UPDATE.DELETE ...
- SQL Server 编程入门经典(3)之T-SQL基本语句
本章内容简介: 如何从数据库检索数据(SELECT) 如何向表中插入数据(INSERT) 如何适当更新数据(UPDATE) 如何删除表中数据(DELETE) 3.1 基本SELECT语句 如果你在此 ...
- Oracle与SQL SERVER编程差异分析(入门)
网上有关Oracle与SQL SERVER性能差异的文章很多,结论往往是让你根据数据量与预算来选择数据库.但实际项目中,特别是使用 .Net 开发的系统,支持以上两种数据库或者更多已经成为Boss的普 ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- SQL Server复制入门(一)----复制简介【转】
SQL Server复制入门(一)----复制简介 简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是 ...
- SQL Server编程系列(2):SMO常用对象的有关操作
原文:SQL Server编程系列(2):SMO常用对象的有关操作 在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,下图是MSDN上给出的一个完整的 ...
- SQL Server编程系列(1):SMO介绍
原文:SQL Server编程系列(1):SMO介绍 续篇:SQL Server编程系列(2):SMO常用对象的有关操作 最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己 ...
- 《SQL Server从入门到精通》
书名 <SQL Server从入门到精通> 图片 时间 2017-6月 学习 书还可以看完不痛不痒 光盘里面是c的视频有趣这是要我学c的节奏啊,可以写一些基础sql语句也是一门语言叫T-s ...
- (转) SQL Server编程系列(1):SMO介绍
最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文章并不多见, ...
随机推荐
- TCP ,UDP概念和TCP三次握手连接 的知识点总结
OSI 计算机网络7层模型 TCP/IP四层网络模型 传输层提供应用间的逻辑通信(端到端),网络层提供的是主机到主机的通信,传输层提供的是可靠服务. TCP 中常说的握手指的是:连接的定义和连接的建立 ...
- html标签属性(attribute)和dom元素的属性(property)
简介 attribute和property都有属性之意,但对于attribute和property的区分其实并不难.从对象来说,attribute是html文档上标签属性, 而property则是对应 ...
- 5分钟学会使用Less预编译器
5分钟学会使用Less预编译器 Less是什么? LESS CSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法为CSS赋予了动态语言的特性,如变量.继承.运算.函数等,更方便 ...
- 【LeetCode】Palindrome Pairs(336)
1. Description Given a list of unique words. Find all pairs of distinct indices (i, j) in the given ...
- PHP实现实现数字补零格式化
在接支付SDK的时候,第三方回调处理时需要IP,并且IP的需求是:去掉点号,补零到每地址段3位, 如:192168000001 先看看我的实现: <?php $IP = explode ( '. ...
- js晋级篇——前端内存泄漏探讨
1.IE7/8 DOM对象或者ActiveX对象循环引用导致内存泄漏 循环引用分为两种: 第一种:多个对象循环引用 var a=new Object; var b=new Object; a.r=b; ...
- 通过Canvas + JS 实现简易时钟实战
最近通过各种渠道学习了下html5中的canvas元素,为了练练手就随手写了一个简易的时钟.时钟本身不复杂,没有使用图片进行美化,下面就与大家分享一下具体的代码: 这是最终实现的效果: 部分的启发点来 ...
- Hibernate框架与Mybatis框架的对比
学习了Hibernate和Mybatis,但是一直不太清楚他们两者的区别的联系,今天在网上翻了翻,就做了一下总结,希望对大家有帮助! 原文:http://blog.csdn.net/firejuly/ ...
- CSS之深入探究Position
这些天重新整理以前的代码,想对其进行优化,却出现了很多问题,其中一个就是Position,中间自己停下优化代码的工作,特意停下来深入研究了一下Position.现在来分享一下自己的体会吧! 首先我们从 ...
- 数据结构:链表(python版)续:带有尾节点引用的单链表
#!/usr/bin/env python # -*- coding:utf-8 -*- from chapter3.single_linked_list import LNode,LinkedLis ...