Oracle基础4

  • 常见的数据库对象 现学习5个

    • 表:基本的数据存储集合,由行和列组成。
    • 视图:从表中抽取额逻辑上相关的数据集合。
    • 序列:提供有规律的数值。
    • 索引:提高查询的效率。
    • 同义词:给对象起别名。
  • 1.表:

    • 创建表空间:表空间是oracle数据库的逻辑单元。一个表空间可与多个数据文件关联,一个数据库下可有多个表空间,一个表空间可建立多个用户,一个用户下可建立多个表。
      语句:create tablespace itcast001
      datafile ‘c:\itcast001.bdf’
      size 100m
      autoextend on
      next 10m
      itcast 为表空间名称
      datafile 对应的数据文件
      size 定义的初始大小 autoextend 自动增长 next 增长大小
    • 用户
      • 创建用户
        create user itcastuser
        identified by itcast //用户密码
        default tablespace itcast001 //表空间名称
        Oracle 与其他数据库区别在于:表和其他数据库对象都是存储在用户下的。
      • 用户赋权限:新创建的用户没有任何权限;Oracle中已存在三个重要角色:connext 授予最终用户的典型权力 resource 授予开发者 dba全部特权,系统最高权限。sqlplus 任意/任意 as sysba ;授予权力:grant dba to itcastuser;
    • 创建表:create table test1 (tid number ,tname varchar2(20));
      create table test2 as select * from emp where deptno =20;
      数据类型:varchar2(size) 字符数组 …..有一个需要注意:rowid 行地址;select rowid,empno,ename,sal from emp; rowid:‘AAAMfPAAEAAAAAgAAJ’ 递增的;
      示例:create table person (
      pid number(10),
      name varchar2(10),
      gender number(1) default 1,
      birthday date
      );
      insert into person (pid ,name,gender,birthday)
      values (1,’张三’,1,to_date(‘1999-12-22’,’yyyy-MM-dd’));
    • 修改表 使用alter table 语句可以追加,修改或删除列;
      alter table add 追加 modify 修改 drop 删除 rename column old to new 修改;
    • 重命名表:rename test1 to test2;
    • 删除表:drop table TESTDELETE;
      SQL> –查看回收站
      SQL> show recyclebin;
      ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME

TESTDELETE BIN z6+GnIyhQtaIrbPpN1H99A== 0 TABLE 2016-10-06:15:24:14
SQL> –清空回收站
SQL> purge recyclebin; –注意:管理员没有回收站,
- 约束:not null ,unique ,primary key ,foreign key ,check;
完整示例: SQL> create table student
2 (
3 sid number constraint student_pk primary key,
4 sname varchar2(20) constraint student_name_notnull not null,
5 gender varchar2(2) constraint student_gender check (gender in (‘男’,’女’)),
6 email varchar2(40) constraint student_email_unique unique
7 constraint student_email_notnull not null,
8 deptno number constraint student_fk references dept(deptno) on delete set null
9 );
constraint 给check起的名字。

  • 视图:视图是封装了一些复杂的查询语句,是一个虚表,最大的优点就是简化复杂的查询。
    • 创建一个视图:不建议在视图中修改,加上read only。
      SQL> create or replace view empinfoview
      2 as
      3 select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname
      4 from emp e,dept d
      5 where e.deptno=d.deptno
      6 with read only;
  • 序列:可供用户生成自动生长的列,将其值入内存,提高访问效率;
    创建序列:
    SQL> create sequence myseq;
    序列已创建。
    SQL> create table testseq
    2 (tid number,tname varchar2(20));
    表已创建。
    nextval 和currval 伪列:
    SQL> select myseq.nextval from dual;—1
    SQL> select myseq.currval from dual;—-1
    序列出现裂缝:1.回滚,2系统异常 3多个表同bi时使用序列。
    drop sequence myseq;删除序列;
  • 索引:索引是用来加速数据存储的数据对象。减少磁盘i/o。
    创建索引:定义在primary key 或者unique 中自动创建,也可手动创建。
    SQL> create index myindex on emp(deptno);索引已创建。
    验证使用索引比不使用索引好处用到的:
    SQL> –SQL的执行计划
    SQL> explain plan for select * from emp where deptno=10;已解释。
    SQL> select * from table(dbms_xplan.display);
  • 同义词:方便访问其他用户的对象;缩短对象名字的长度;
    create [public] synonym name for 表名。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值