Oracle 基础学习笔记

时间:2022-07-25
本文章向大家介绍Oracle 基础学习笔记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

知识点

  一、登陆数据库:

登陆数据库:  sqlplus  system/oracle123456

  二、新建用户、授权(连接数据库、创建表、表空间、查询某用户下的表)

语法:    create user  【用户名】 identified by 【密码】
例子 (创建用户:test  密码 test123): create user test identified by test123
更改用户密码:       alter user [用户名]  identified by [新密码]
例子           :  alert user test identified by  oracle123456
删除用户:
drop user [用户名] cascade;

racle为兼容以前版本,提供三种标准角色(role):connect/resource和dba.

    (1)讲解三种标准角色:

        1》. connect role(连接角色)

          --临时用户,特指不需要建表的用户,通常只赋予他们connect role.

          --connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。

          --拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他 数据的链(link)

        2》. resource role(资源角色)

          --更可靠和正式的数据库用户可以授予resource role。

          --resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

      3》. dba role(数据库管理员角色)

          --dba role拥有所有的系统权限

          --包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有

    (2)授权命令

        语法: grant connect, resource to 用户名;

        例子: grant connect, resource to test;

    (3)撤销权限

        语法: revoke connect, resource from 用户名;

        例子: revoke connect, resource from test;

允许用户连接数据库,并创建数据库对象:
grant connect to  test;
允许用户使用数据库中的存储空间:
命令:  grant resource to test;
允许用户在当前模式中创建序列:
grant create sequence to test;
允许用户查询test表的记录
grant select on test to [用户名]
允许用户更新test表中的记录:
grant    update on test to [用户名]
允许用户插入、删除、更新和查询test表中的记录
grant all on test to [用户名]

同义词: 是现有对象的一个别名

    1.简化sql语句

    2.隐藏对象的名称和所有者

    3.提供对对象的公有访问

    同义词有两种类型:

     创建同义词的语法 : create synonym [同义词名称] for scott.emp (默认的范围是私有同义词 )

    替换或者删除同义词:

序列是一个计数器,它并不会与特定的表关联。通过创建Oracle序列和触发器实现表的主键自增。 序列的用途一般用来填充主键和计数。

create  sequence toys_seq
            start  with 10
            increatement by 10
            maxvalue 2000
            minvalue  10
            nocycle
            cache 10;

更改和删除序列

视图

使用命令:

    创建一个视图

create view emp_view
as select studno, studname, subno
from  Stud_details;

未完,明天继续补。。。。。。。。。。。。。。。。。。。