SQL Serever学习13——数据库编程语言

编程基础

注释

注释命名来对一些语句进行说明,便于日后维护或者其他用户理解,注释不会执行。

单行注释

SELECT GETDATE() --查询当前日期

多行注释

/*
注释有助于
理解操作的内容
查询当前日期
*/
SELECT GETDATE()

变量

在T-SQL执行命令时,可以申明变量临时存储各种数据,申明时被初始化为NULL,只能代替数值,不能代替对象或关键字

局部变量

必须先用DECLARE 语句定义,局部变量在名称前加@

SELECT 赋值语句哟啊保证结果不超过一条数据,否则将会把最后一条数据赋予变量

/*申明变量*/
DECLARE @name VARCHAR(10)
/*赋值变量*/
SET @name=‘LUCAS‘
/*输出变量*/
SELECT @name

全局变量

sqlserver系统内部使用的变量,作用范围是整个系统的任何程序,以@@开头,常用的全局变量有:

@@ERROR,最后一个T-SQL错误代码

@@IDENTITY,最后一个插入的标示值

@@LANGUAGE,当前使用的语言

@@ROWCOUNT,受上一个SQL语句影响的行数

@@SERVERNAME,本地服务器名称

@@VERSION,sqlserver版本信息

PRINT @@ERROR
PRINT @@IDENTITY
PRINT @@LANGUAGE
PRINT @@ROWCOUNT
PRINT @@SERVERNAME
PRINT @@VERSION

输出为

输出语句

PRINT 使用中文方式输出

SELECT 使用表格方式输出

批处理语句

批处理是一个T-SQL语句集,集合中的语句一起提交给sqlserver作为一个整体执行。GO就是批处理标志。

sqlserver会将批处理编译成一个可执行单元(执行计划),提高执行效率。

一般情况,一些操作放在同一个批处理命令,但是如果是创建数据库或其他对象的语句,则必须在结尾添加GO,便于与其他命令分开执行。

批处理有3种限制:

  • CREATE 语句不能与其他语句组合使用
  • 如果批处理命令有改字段名称,则不能在同一个批处理中使用该字段新名称
  • 如果EXECUTE 语句是批处理第一句,则可以省略EXECUTE关键字,否则不可以省略

IF...ELSE语句

统计商品平均价格,如果均价在2000元以上输出“总体价格较贵”,并显示最贵商品信息;如果在2000以下,显示“总体价格便宜”,并显示最便宜商品信息。

DECLARE @avgjg FLOAT
--获取均价
SELECT @avgjg=AVG(进价) FROM 商品表
PRINT ‘所有商品的均价为:‘+CONVERT(VARCHAR(5),@avgjg)

--进行判断
IF(@avgjg>=2000)
	BEGIN
		PRINT ‘总体价格较贵,最贵商品是:‘
		SELECT TOP 1 * FROM 商品表 ORDER BY 进价 DESC
	END
ELSE
	BEGIN
		PRINT ‘总体价格便宜,最便宜商品是:‘
		SELECT TOP 1 * FROM 商品表 ORDER BY 进价
	END

  注意:如果需要将表格数与文本数据同时显示,需要设置:工具-》选项-》查询结果-》显示结果的默认方式,选择以文本格式显示结果

WHILE语句

将所有销售利润在10%以下商品的销售价格增加10元,如果仍有商品销售利润在10%以下的,在增加10元,直到所有商品价格利润都在10%以上,最后显示增加最多的商品增加的钱数。

PRINT ‘开始更新销售额偏低商品的价格‘
DECLARE @cs INT
SET @cs=0
WHILE ((SELECT COUNT(*) FROM 商品表 WHERE 销售价/进价<1.1)>0)
	BEGIN
		UPDATE 商品表
		SET 销售价=销售价+10
		WHERE 销售价/进价<1.1
		SET @[email protected]+10
		IF((SELECT COUNT(*) FROM 商品表 WHERE 销售价/进价<1.1)=0)
			BREAK
	END
PRINT ‘增加最多的商品,增加了:‘+CONVERT(VARCHAR(8),@cs)+‘元‘
GO

多分支语句CASE

对A牌所有商品分类,进价高于3000元为高价商品,1000-3000元为中价商品,1000以下为低价商品

SELECT 商品名称,型号,进价=
	CASE
		WHEN 进价>3000 THEN ‘高价商品‘
		WHEN 进价 BETWEEN 1000 AND 3000 THEN ‘中价商品‘
		WHEN 进价<1000 THEN ‘低价商品‘
	END
FROM 商品表

原文地址:https://www.cnblogs.com/1906859953Lucas/p/9539635.html

时间: 2024-10-08 19:47:15

SQL Serever学习13——数据库编程语言的相关文章

SQL Serever学习17——数据库的分析和设计

数据库的分析和设计 设计数据库确定一个合适的数据模型,满足3个要求: 符合用户需求,包含用户所需的所有数据 能被数据库管理系统实现,如sqlserver,oracle,db2 具有比较高质量,容易理解,使用方便,便于维护,效率高 设计步骤分为6步: 需求分析,与用户沟通,达成统一意见 概念结构设计,创建E-R图 逻辑结构设计,从E-R图转为关系模型,1对多,多对多,建立数据模型,数据库三范式 物理结构设计,确定数据类型,是否可空,确定主键,外键,索引 数据库实施 数据库运行维护 数据库的三范式:

SQL Serever学习5——数据库配置

数据库的主要属性 限制访问 用来设置数据允许用户访问的状态,或者说允许多少客户访问,有3个选项: MULTI_USER(多个),大多数数据库正常状态,允许多个用户同时访问该数据库. SINGLE_USER(单个),通常由于维护数据库时,一次只允许一个用户访问,杜绝了其他用户访问正在维修的数据库,减少数据丢失以及错误. RESTRICED_USER(限制),一种特殊状态,一些特殊功能的数据库才会选用,只有特殊身份用户才能访问数据库,这些特殊用户包括:db_owner(数据库拥有者),dbcreat

SQL基础学习_01_数据库和表

SQL语句及其种类 1. SQL语句分为三类: ? ? DDL(Data Definition Language): CREATE.DROP.ALTER; ? ? DML(Data Manipulation Language): SELECT.INSERT.UPDATE.DELETE; ? ? DCL(Data Control Language): COMMIT.ROLLBACK.GRANT.REVOKE; 2. SQL语句的基本书写规则: ? ? SQL语句要以分号(;)结尾: ? ? SQL

SQL Serever学习15——进阶

特别说明:在sqlserver2014中,不区分大小写,也就是说,SQL是大小写不敏感的 数据库模型3类: 层次模型 网状模型 关系模型 关系型数据库语言3种: DDL数据定义语言 CREATE(创建书库或数据库对象) , ALTER, DROP DML数据操作语言 SELECT(检索表或视图) , UPDATE ,  INSERT , DELETE DCL数据控制语言 GRANT(授予权限) , REVOKE(撤销权限) , DENY(拒绝权限,并禁止从其他角色继承许可权限) 系统数据库4个:

SQL Serever学习16——索引,触发器,数据库维护

sqlserver2014数据库应用技术 <清华大学出版社> 索引 这是一个很重要的概念,我们知道数据在计算机中其实是分页存储的,就像是单词存在字典中一样 数据库索引可以帮助我们快速定位数据在哪个存储页区,而不用扫描整个数据库 索引一旦被创建就会数据库自动管理和维护,增删改插座数据库都会对索引做修改 索引分类: 聚集索引 非聚集索引 包含性列索引 索引视图 全文索引 xml索引 聚集索引,就是相当于排序的字典(将表中的数据完全重新排序),一个表只有一个,所占空间相当于表中数据的120%,数据建

php学习 13 数据库的操作--mysql编程

一.数据控制语言 数据控制语言,就是对mysql的用户及其权限进行管理的语句: 1.用户管理 用户数据所在位置 在mysql中的所有用户,都存储在系统数据库mysql中的user表中: 创建用户 形式: create user  ‘用户名’@‘允许登录的地址/服务器’  identified  by ‘密码’; 说明: 1.允许登录的地址服务器就是允许该设定的位置,来使用该设定的为用户名和密码登录,其他位置不行 2.可见,mysql的安全什么验证需要三个信息. 删除用户 drop  user  

SQL SERVER学习2——数据库设计

数据库设计是数据库知识中比较重要的部分,我们需要了解数据库设计的基本步骤,E-R图的画法. 数据库设计的基本概述 检验一个数据库设计好坏的标准就是,看他是否能够方便的执行各种数据检索和处理操作,并且有利于数据的控制管理和维护. 数据库设计步骤 设计数据库规范中比较著名的是"新奥尔良方法"(这个可不是做新奥尔良鸡腿的方法哦),Now Orleans,总计4个阶段: 需求分析(分析用户要求,制作数据流图和判定图) 概念结构设计(信息分析和定义,制作E-R图) 逻辑结构设计(设计实现,关系型

SQL Serever学习6——数据表

数据表 表的构成 数据库中的基本表由记录(行)和字段(列)构成,SQLServer2008每个表可以有1024个列,每个列可以有8060字节(不包括iamge,ntext,text类型). 记录(Record):表中的行,保存某一个相关属性的一组数据. 字段(Field):表中的列,保存某些事物的某一个属性值. 表的分类 系统表,保存系统信息,只有管理员有权使用 临时表,数据库运行中创建的临时存储数据的表,断开连接被删除 分区表,数据量很大时,可以将其中数据分成多个部分,分别放在数据库的多个文件

SQL Serever学习10——T-SQL语句

在sqlserver2018中使用的是Transact-SQL语言,简称T-SQL. 数据库的创建和管理 数据定义语言DDL DDL功能包括数据库,表,索引,视图,存储过程 数据库:CREATE DATABASE , DROP DATABASE 表:CREATE TABLE , DROP TABLE  , ALTER TABLE 索引:CREATE INDEX , DROP INDEX 视图:CREATE VIEW , DROP VIEW 数据库创建 创建数据库包括:数据库名,文件位置,大小,事