• SQL 数据库知识点回顾


    SQL2008

    一、安装注意事项:

    1.修改用户权限(在一个安装页面中有七八个)(改成net.) 
    2.添加当前系统用户为账户

    二、主键,约束,索引

    三、增删改查;


    insert、delete、update

    select__*或者列名_____from 表where_______排序分组 
    逐条核对,符合条件的显示出来

    语句执行过程: 
    先找到表,筛选行结束,排序,筛选列

    首先执行“from表”,最后执行select_______.

    聚合函数:最终查询的结果集,进行聚合操作。位于select和from中间,用了聚合函数后,不能再写其他列。聚合函数返回一行一列。 
    Count(*)、Sum(列名)、Avg、Max、Min 
    select sum(degree)(这里不能再加其他列Name等) from student where birthday=1990

    数学函数:位于select和from中间或者where之后。 
    Round,Ceiling,Floor,ABS,Sqrt 
    select Ceiling(degree)from student where degree>95

    日期时间函数:位于select和from中间或者where之后 
    DateAdd

    字符串函数:substr,LTrim,RTrim

    类型转换:Cast,Convert 
    Cast(列 as 类型) 
    Convert(类,列)

    查询 
    子查询(查询的嵌套)通过某个查询,查询出一组列数据来作为当前查询的筛选条件

    两个表Teacher Student

    查某个老师教的所有学生 
    select * from student where Tno=001 
    查某个班所有老师教的所有学生。 
    select * from student where Tno in(select Tno from Teacher where Cno=001)

    连接查询(多个表同时查询):横向查询(A表和B表)用where或Join连接表,用where(笛卡儿积)占用内存高

    select * from Student Join Teacher on S.Tno=T.Tno 
    (没有同名列才能用*)

    纵向连接: 
    select Name,Sex from Student 
    union 
    select Name,Sex from Teacher 
    注意两个表的列数据类型一致,顺序是随机的,查询结果的列名是Student的列名。

    四、存储过程

    Create Proc_______ 
    参数 
    AS 
    过程 
    go 
    Exec 参数


    declare:定义变量 
    if else Begin End 
    for

    alter delete

    五、视图

    虚拟的表,更便捷、更直观显示某些需求数据(是在精巧、便捷设计数据库的基础上)

    creat view 视图 
    As 
    查询语句,表连接 
    go

    六、触发器

    Trigger,某个操作一执行,引发触发器里的内容,一个特殊的存储过程(不通过Exec执行,通过对数据库的操作(增删改)引发执行)

    分为两种: 
    for After 
    Instead of替换掉操作内容,执行触发器内容。

    应用: 
    级联删除:Student中的teacher引用了Teacher表中的teacher。 
    自动添加:员工表新加一个员工,自动往用户表添加一个用户名和密码

    七、事务:


    Begin Tran 
    ... 
    commit(所有步骤没有问题,统一提交) 
    RollBack(回滚:任何步骤出现问题,恢复起始状态,当作什么都没发生)

    范例:银行转账

    SQL:存储过程、事务、触发器不常用(易出问题、数据迁移不方便)

  • 相关阅读:
    [Web]flask-excel实现excel文件下载的前后端实现
    [python]UnicodeEncodeError: 'gbk' codec can't encode character 'ufffd'
    [vscode] pylint在虚拟环境下错误告警问题
    [转]jQuery 选择器和dom操作
    用户认证过程及用户认证相关问题整理
    [mariadb]Windows Mariadb 10.2安装过程
    [Python]Flask 源代码分析-config
    【Weiss】【第03章】练习3.9:大整数运算包
    【Weiss】【第03章】练习3.8:有序多项式求幂
    【Weiss】【第03章】链表例程的一些修改
  • 原文地址:https://www.cnblogs.com/981971554nb/p/4309848.html
Copyright © 2020-2023  润新知