sql server 基础

临时表

临时表,断开连接,这个表自动删除,主要用于客户有特殊需求的时候,用临时表来存储和记录。
当前临时表
语法:careat table #表名
全局临时表:
语法:careat table ##表名

默认值

在设计表的时候,某些字段,经常会重复,比如职员字段 我们就可以在 字段属性里面 给他设置默认值,这样新增的时候,默认值会自动被带出,减少创建数据的复杂性

标识字段

字段表示唯一性,编号列,不能相同,设计表的时候,编号不用手动设置值,自动生成编号,
用法:找到表中的字段,列属性,表设计器,标识属性 选择是;自动递增的,比如编号,系统自动递增编号

二开俩种形式:报表和单据

数据库规则:

语法:create rule 规则名称
as 取值范围
举例:create rule score
as 取值范围
@value between 0 and 100

解除规则:

语法:drop rule 规则名称
如果该规则已经绑定了某一个表或者列,需要先解除这个表或者这个列的规则。

drop rule 规则名称
sp_unbindrule ‘成绩信息.分数’

数据库 索引

创建索引:

create
[unique][clustered][nonclustered]
INDEX index_name
on
table_name | view_name
(column_name [1,2,3,4,])

“unique” 唯一性索引
“clustered” 聚集性索引
“nonclustered” 非聚集性索引
聚集性和非聚集性 索引的区别:
一个表中可以包含 :一个聚集索引,包含多个非聚集索引
聚集索引:可以按范围来查找
非聚集索引:存放每一条记录的具体指针
INDEX 后面的是具体的索引名称
on是指定在哪样的一个 数据表上或者这哪样一个视图上创建索引。

存储过程

创建存储过程,
create procedure 存储过程名
@参数名 [ 类型 ] , @参数名 [ 类型 ]
as
begin
执行的sql语句
end
执行存储过程
exec 存储过程名

调用存储过程
1.comment命令下的基本语法:exec 存储过程名 参数名
2.sql环境下基本语法:call 存储过程名 参数名
3.pl / sql 环境下,基本语法:begin 存储过程名 参数名 end;

触发器

触发器编写
删除触发器
drop tigger 触发器名

游标

declare
声明游标:cursor 游标名 is 查询结果集
begin
打开游标: open 游标名
从游标中获取数据:fetch 游标名 into 变量
取到数据: 游标名 % found
没有数据:游标名 % not found
关闭游标:close 游标名
end;

语法

sql server:

inner join 关键字

select 要返回的列的值 form 主表 inner join 子表 on 主表主键 = 子表外键
举例:

SELECT s.name, gread.cname,gread.score
FROM s INNER JOIN gread
ON s.sno=gread.sno
ORDER BY gread.score; --按子表分数排序

sql查询条件

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;

where 和having之后都是筛选条件,但是有区别的:

1.where在group by前, having在group by 之后

2.聚合函数(avg、sum、max、min、count),不能作为条件放在where之后,但可以放在having之后

三张表联合查询

select * from1 join2 on1.字段=2.字段 join3 on1.字段=3.字段

EXISTS 用法:

EXISTS 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

EXISTS 可以与 NOT 一同使用,查找出不符合查询语句的记录

SELECT column_name(s)
FROM table_name
WHERE not EXISTS
(SELECT column_name FROM table_name WHERE condition);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值