SQL小白笔记

一、概述

数据库系统:
人员>数据库应用系统>开发工具>DBMS>OS>数据库>硬件
DBMS:数据库管理系统;数据库的核心,提供数据定义(DDL)、操纵语言(DML)

二、数据库的三级模式

外模式(每个用户看到对应模式的数据)
模式(概念)
内模式(物理)

三、关系规范化

3.1 函数依赖

每个X,Y都有一个具体值,即X值绝决定Y,X->Y。

3.2 几种特定的函数依赖

a、平凡函数依赖 :X、Y ⊆ \subseteq U;若X->Y,则称为平凡函数依赖。
b、非平凡函数依赖:X、Y ⊆ \subseteq U;若X->Y,Y不是X的子集,则称为非平凡函数依赖。
c、完全函数依赖:X、Y ⊆ \subseteq U若X->Y,对任意的一个X的真子集Z,Z->X都不成立,则称为完全函数依赖。
d、部分函数依赖:X、Y ⊆ \subseteq U若X->Y,对某一真子集Z,Z->X都不成立,则称为部分函数依赖。
e、传递函数依赖:X ⊆ \subseteq U,Y ⊆ \subseteq U,Z ⊆ \subseteq U;若X->Y,Y不->X,Y->Z,则称为传递函数函数依赖。

3.3 规范化过程

a、第一范式(1NF):R的每个属性值域都是不可分的简单数据项
b、第二范式(2NF):R为第一范式,且每个非主属性都完全依赖与码
c、第三范式(3NF):R为第二范式,且没有一个非主属性传递函数依赖于码
范式程度越高,冗余程度越小,处理速度越慢
所以一般使用一二三范式

四、T-SQL语言基础

a、数据定义语言(DDL):CREATE,ALTER,DROP
b、数据操纵语言(DML):INSERT,UPDATE,DELETE
c、数据控制语言(DCL):GRANT,REMOVE,DENY
d、数据查询语言(DQL):SELECT

五、操作

5.1 库的操作

CREATE/ALTER/DROP DATABASE 库名

5.2 表的操作

1.CREATE/ALTER/DROP TABLE 表名
2.表数据的操作
a、插入数据:
INSERT INTO 表名(…,…) VALUES(数据,…)
b、修改数据:
UPDATE 表名 SET 值
c、删除:
DELETE 表名 WHERE …

六、数据库查询

from、where、group by、having、order by(asc/desc)

6.1 简单查询

SELECT …FROM…

6.2 选择查询

a、关系表达式:WHERE(>、<…)
b、逻辑表达式:WHERE(AND、OR)
c、BETWEEN
d、使用IN
e、LIKE(类似正则,%:0或多个;-:单个字符; []:[]范围内的;[^]:不在范围内的)
f、IS [NOT] NULL

6.3 聚合函数查询

a、使用sum/avg/min/max/count
b、简单分组(没用CUBE或ROLLUP)
c、使用CUBE/ROLLUP(WITH CUBE)指定包含汇总行

6.4 连接查询

a、内连接:SELECT … FROM … INNER JOIN … ON ,
b、自链接(副本链接):SELECT … FROM (stu a) INNER JOIN …(b) ON …
c、外连接:左外、右外、全外(即两个表的全部行都包括)。(left outer join /right/full)
d、交叉连接:cross join

七、索引

1.聚集、非聚集
2.CREATE INDEX … IN …

八、T-SQL编程

8.1 变量

a、局部变量定义
DECLARE{ @名 类型}
b、赋值
SET {@名 = 值}

8.2 流程控制语句

a、SET
b、BEGIN … END
c、IF … ELSE …
d、CESE …WHEN…END
e、WHILE … BEGIN … END
f、GOTO
g、return

8.3 函数

a、定义
CREATE FUNCTION … AS …

8.4 游标

a、声明 DECLARE … CURSOR … FOR …
b、打开 OPEN
c、读取 FETCH …
d、关闭 CLOSE …
e、释放 DEALLOCATE …

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值