C#数据库(二)-sql server

 11_01-三范式_哔哩哔哩_bilibili

2、高级操作

2.1、数据库设计三范式

2.1.1、范式原则:

2.1.2、范式二原则:

2.1.3、连接查询

2.2、表关系

2.2.1、一对多

2.3、示例数据库介绍

2.3.1、账户信息表

2.3.2、银行卡

2.3.3、交易信息表

存钱和取钱的记录

2.3.4、转账信息表

2.3.5、状态信息变化表

2.4、变量

2.4.1信息打印
--信息打印
print 'hello sql'    --在消息里显示
select 'hello sql'    --在结果里显示

2.4.2、变量

局部变量  declare  

set

print

全局变量

查询张飞卡信息

用变量查询

2.4.3、go语句

万一创建数据库还没完成就执行后边语句,中间加go

--信息打印
print 'hello sql'    --在消息里显示
select 'hello sql'    --在结果里显示

--变量:(1)局部变量(2)全局变量
--(1)局部变量:以@开头,先声明,再赋值

declare @str varchar(20)   --声明变量
set @str='i like a'
print @str

--set和select进行赋值的时候的区别
--set:赋值变量指定的值
--select:一般用于表中查询出的数据赋值给变量,如果查询结果有多条,取最后一条赋值
--exp:select @a=字段名 from 表名
--当前表最后一行的某个字段给@a

--(2)全局变量  : 以@@开头,由系统进行定义和维护


--go语句
--(1) 等待go语句之前代码执行完成之后才能执行后变得代码
--(2)批处理结束的标志
declare @num int    --@num作用范围全局
set @num =100
print @num

go 
declare @num1 int  --num1作用范围在两个go之间,或者go之前
set @num1=300

go
set @num1=200

2.5、运算符

2.5.1、基础

declare @c int =10
declare @k int =2
declare @zc int =5

Convert 数据转换

2.5.2、in  语句

2.5.3、if 语法结构

语法结构:

if

begin  

end

else

begin  

end

语句

2.5.4、all  语句,所有都

2.5.5any语句  所有里存在

优先级别

2.6、流程控制

2.6.1、选择分支结构

查询语句:  case     end   判断语句

when   then  else语句

2.6.2、循环结构

while循环

2.7、子查询

问题一:子查询

top1

等号=改为 in

年月日 SQL语言查询

通过卡号分组,然后计数,查询卡号以及交易次数

temp  子表名称,与1.7、分组查询结合理解

temp是临时起的表名

case  语句

2.8、分页

2.8.1、top方式分页

2.8.2、使用row_number分页

另加一行

2.9、事务

2.10、索引

2.10.1、聚类索引

数据库-视图-系统试图-sys.indexs  查询新建的索引

with语句

2.10.2、非聚类索引

2.11、视图

2.12、游标

提取游标信息存到变量

删除游标指向行

2.13、函数

创建函数调用

有参数返回i

返回表格数据 方案一:除了SQL查询语句还有其它逻辑语句,方案二不行

查询数据  插入到@result

我的理解是:GO相当于一个.sql文件的结束标记

方案二:简化

另一种问题

2.14触发器

trigger  触发器

产生的临时表 inserted

产生的临时表 deleted,,在哪个表创建触发事件

chaungjianyige触发器,删除一个部门的时候判断部门是否有员工,有则不删除,没有则删除

新的编号等于插入的编号,旧的编号等于删除的编号

2.15、存储过程

封装成存储过程: 可以被外部调用

procedure  存储过程

存钱:有输入参数

有输入参数,返回值:

拼接字符串  '00:00:00'     '23:59:59'

调用

变量 跟output  判断其是输入还是输出,看其生命时候是否赋值,赋值了为输入输出

下面BandCard  应为 BankCard

调用

引用:15_05-存储过程二_哔哩哔哩_bilibili

仔细看看存储过程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值