美文网首页
数据库基础

数据库基础

作者: 王凯666 | 来源:发表于2017-12-15 21:49 被阅读0次

    数据库对象

    表,数据

    操作

    增,删,改,查

    基本元素


    1. a.表名
      b.归属用户
      c.注释(comment on table表名 is ‘注释内容’)

    2. a.列名
      b.类型(varchar2、number、date)
      c.是否可为空(not null)
      d.默认值(default 值)
      e.注释(comment on column 表名.字段名 is ‘注释内容’)
    3. 字段约束(键)
      a.主键(不为空,不重复,primary key )
      b.唯一(不重复,空可以出现1次,unique)
      c.外键(该字段的值,必须在指定外部表中存在,foreign key)
    4. 索引(index)
      a.主键索引(默认的,不用写)
      b.普通索引
    5. 权限(o用户:owner所有权用户、c用户:customer使用客户用户;grant)
      把表的增删改查权限有选择性的赋权给其它用户(比如程序连接的数据库用户名)

    数据的基本元素

    image.png

    1. 组合因子

    1. 视图:可以是表、可以是sql处理结果
    2. 操作方法
      from
      join on
      where
      group by
      having
      select :rownum、rowid
      top
      order by

    2. 组合规则

    1. 操作方法传入一个视图,输出一个视图
    2. 操作方法可以套接成串执行,但是有固定的先后顺序
    3. sql和sql的结果可以做加减运算(minus、union、union all、intersect)

    3.表的增删改查

    1. 增:create table 表名(属性)
    2. 删:drop table 表名;
    3. 改:alter table 表名
    4. 查:select * from user_tables t ;

    4.数据的增删改查

    1. 增:insert into 表名(字段名,字段名)values(字段值,字段值);
    2. 删:delete 表名 where 条件;(或者全删 truncat table 表名,这个会释放空间降低水位线);
    3. 改:update 表名 set 字段名=字段值,字段名=字段值 where 条件
    4. 查:select * from 表名 where 条件 ;

    5.单项解释

    索引

    原理
    1.1 将索引字段单独生成一个二叉树B-TREE(字段值=数据地址,类似java的变量名)
    1.2 如果查询条件用到了该字段,先到索引树里面查找
    1.3 索引树中查到节点后,取出数据所在地址
    1.4 按照地址,到表中取数据
    表跟索引,是2个独立的对象,各存各的数据

    l连接

    内连接(B)
    左连接(A+B)
    右连接(C+B)
    全连接(A+B+C)

    SQL组合

    image.png

    minus(A)
    sql1
    minus
    sql2

    union(A+B+C)
    sql1
    union
    sql2

    union all(A+2B+C)
    sql1
    union all
    sql2

    intersect(B)
    sq1
    intersect
    sql2

    重中之重:

    group by后的视图,只有group by的字段+5个聚合函数,select要展现的字段,只能从group by后面的字段+5个聚合函数中取,*也不能用
    如果要展现的字段不在group by后面的字段和5个聚合函数内,缺失的字段,再引入新表进行关联

    分页查询

    生成数据视图:查询排序,生成视图1
    添加行号:最对视图1做查询,添加rownum列,列名rn
    限制最大行号:对视图2用where限制rownum的最大值,生成视图2
    限制最小行号:再对视图2做查询,where限制rn最小值


    image.png

    视图

    sql的每一步,都会生成视图
    有些复杂的视图,可以把sql存起来,当表用
    存的类型,就是视图

    相关文章

      网友评论

          本文标题:数据库基础

          本文链接:https://www.haomeiwen.com/subject/ucndwxtx.html