数据库之SQL

    xiaoxiao2024-11-27  9

    1. drop from r 和 delete from r

      前者是删除表r,后者是删除表中的所有元组,但是表依然存在。

    2. alter table r addA D: 在表r中添加属性A,它的域(取值范围)为D。

        alter table r dropA: 在表r中去掉属性A。

    3. 有时候我们想要强行删除重复,可在select后加入关键词distinct

        关键词all用来显式指明不去除重复。

    4. 自然连接。(natural join)

    5. 附加运算

      i. 更名运算:(old-name as new-name)

        ex:select name as instructor_name, course_id   

             from instructor, teachesfrom

      where instructor.ID = teacher.ID

    select distinct T.name

    instructor as T,instructor as S

    where T.salary > S.salary and S.dept_name = 'Biology';

      ii. 字符串:(%, _)

     

      iii. 集合运算:(union, intersect,except)

    6. 聚集函数

      i. 基本聚集(avg, min, max, sum, count)

      ii. 分组聚集(group by)

      iii. having子句

    7. 嵌套子查询

      some(某一个),all(所有的),exist(存在),unique(是否一次)的含义。

    8. 外连接

      i. 左外连接:只保留出现在左外连接运算之前(左边)的关系中的元组(left outer join)。

      ii. 右外连接:只保留出现在右外连接运算之前(右边)的关系中的元组(right outer join)。

      iii. 全外连接:保留出现在两个关系中的元组(full outer join)。

    9. 视图

      create view vas <query expression>

      可更新的视图:

      i. from子句中只有一个数据库关系。

      ii.  select子句中只包含关系的属性名,不包含任何表达式,聚集或distinct声明。

      iii.  任何没有出现在select子句中的属性可以取空值;即这些属性上没有not null约束,也不构成主码的一部分。

      iX. 查询中不含有group by或having子句。

    10. 完整性约束

      i.  not null:设定属性值不为空

      ii. unique:设定属性值唯一,可以是选取组合起来唯一。

      iii. check:保证属性值的满足指定条件。

    11. 授权

      grant <权限列表>

      on <关系名或视图名>

      to  <用户/角色列表>

      然后收回权限就是把grant改成revoke,将to改成from。

      

    转载请注明原文地址: https://ju.6miu.com/read-1294018.html
    最新回复(0)