Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 131 additions & 0 deletions docs/views/dev/2021-11-21-sql 中的编程.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@


```
header
layout:post
title:sql编程
date:2021/11/21
author:ycr
categories
-后端部
tags:
-sql
```



# sql 中的编程

## 1.介绍数据库语句与数据库编程

1.sql查询语句是数据库语句中的基本语句,也是用的最多的语句,英文就是用select,查询语句使用基本格式 :

select (查询列名) from 数据表 where 查询条件(group by 分组方式) (order by 排序方式)

例如:

Select * from student where sno=”420****”

而在数据库中也有一些相应的编程语句在其中,方便使用者使用

# sql语句中应用的编程内容

## 1.变量

1.变量:@i,@j等

2.临时表:#t,#p

3.声明变量:declare @i int ,@str char(10)

意思为声明变量@i为整形,声明变量@str为字符型,长度为10

(创建临时表:只需要在表的之前加#即可)

临时表的含义为:在此次查询中可以使用,如果删除了页面,则表也随之删除

## 2.控制语句

1.begin end

此语句代表编程的开始与结束,一般在编程之中的开头与结尾

2.if else

此语句与java等一些编程语言中其意思基本相同,进行条件判断。

例如:if(select grade from sc where sno =’200215121’,and cno=’1’)<60

Print ‘failed’(print的语句与java中相同,即为输出数据)

Else

Print ‘congratulation’

3.case

此语句与if else语句的作用基本相同,但是在多种条件情况下,case语句比if else更好使用

例如:

select sno,cno,rank=

case

when grade>=90 then ‘A

When grade >=75 then B

When grade >=60 then C

Else D

End

From sc

4.while

此语句即为循环语句,其使用与java语句中的while使用方法一样,即为达成条件后即退出循环。

# 3.存储过程和函数

定义:存储过程和函数是存放在服务器上的预先定义并编译好的SQL语句/程序控制语句的集合,是一个独立的数据对象。

优点:

–执行:仅一次编译,执行效率高

–通信:降低Server/Client之间的通信量

–维护:集中控制,便于规划维护

但对于这种方法基本对于初学者基本不会用到,所以只需要知道其定义就行了

# 4.触发器

定义:触发器是一种特殊类型的存储过程,主要用于保护数据的完整性。当触发事件出现时,触发器被激活,自动执行预先定义的功能。

分类:insert/delete/update 触发器

但对于这种方法基本对于初学者基本不会用到,所以只需要知道其定义就行了

# 5.游标

定义:系统为用户开设的一个数据缓冲区,存放sql语句的执行结果。用户可以用sql语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。

即为定义一个指针,进行一条一条记录select。

例如:

declare cur_s CURSOR

FOR select sno,sname,ssex from student

OPEN cur_s

FETCH cur_s INTO @no,@name,@sex

CLOSE cur_s

对于数据库而言,游标的作用非常大,其可以一个一个进行查询,结合while循环语句可以达到意想不到的效果。