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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 编程基础注释注释命名来对一些语句进行说明,便于日后维护或者其他用户理解,注释不会执行。单行注释SELECT GETDATE() --查询当前日期多行注释/*注释有助于理解操作的内容查询当前日期*/SELECT GETDATE() 变量在T-SQL执行命令时,可...

编程基础

注释

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

单行注释

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 @cs=@cs+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 商品表

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2天前
|
SQL 数据挖掘 数据库
这可能是最适合解决 SQL 数据分析痛点的编程语言
数据分析师常需处理各种数据操作,如过滤、分组、汇总等,SQL 在这些基本需求上表现得心应手。然而,面对本地文件数据或更复杂需求时,SQL 的局限性显现。SPL(Structured Process Language)则提供了更灵活的解决方案,无需数据库环境,直接从文件计算,代码简洁易懂,调试工具强大,极大提升了数据分析的效率和交互性。
|
1月前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
13天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
12天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
23天前
|
SQL 关系型数据库 MySQL
体验使用DAS实现数据库SQL优化,完成任务可得羊羔绒加厚坐垫!
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。
135 11
|
19天前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
19天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
24天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
27天前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
49 2
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。