• Oracle 笔记(一)


    Oracle基本理论

    l  主流数据库

    微软公司:SQL Server  ACCESS

    IBM公司:DB2  infomix

    Oracle公司:Oracle  MySQL(AB公司)

    小型数据库

    ACCESS

    FoxBase

    开发人数:100人

    访问量:10人/秒

    开发成本:1000元

    中型数据库

    SQL Server

    My SQL

    Infomix

    开发人数:1000人

    访问量:500人/秒

    开发成本:10000元

    大型数据库

    Oracle

    DB2

    开发人数:3.6万

    访问量:海量

    开发成本:无上限

    l  数据库发展史

    层次型数据库网络型数据库

    关系型数据库:

    1970年 IBM公司研究员E.F.Codd博士奠定了关系型数据库的理论基础

    1978年Oracle公司CEO 拉里.艾利森开发了第一个商用大型关系型数据库 Oracle

    1983年 IBM公司推出DB2

    l  Oracle版本

    Oracle9i(internet互联网)-Oracle10g(grid网格化)-Oracle11g-Oracle12c(Cloud云)

    l  Oracle平台工具

    SQL Plus

    PLSQL developer

    l  Oracle服务 services.msc

    OracleXXXXXXTNSListener—第三方工具监听服务:1521

    OracleServiceXXXX-核心服务(物理运行结构-SGA  XXXX实例数据库)

    l  Oracle账户

    n  系统账户

    u  sys         角色:sysdba  主人可以create database

    u  system          角色:sysoper大管家不可以create database

    u  scott角色:normal 实例用户大管家给他什么权限,他就有什么权限

    切换一个账户:

    Conn scott/123456

    Conn 用户名/密码

    查看SCOTT用户下表的数据字典:

    Desc emp;

    Desc 表名

    查看SCOTT用户下的表内容:

    Select * from emp;

    Select * from 表名

    l  自定义账户 conn system/123456;

    创建账户

    --创建一个用户

    createuser rose identified by123456

    修改账户

    --修改一个用户的密码

    alter user rose identified by 123456;

    --解锁一个用户

    alter user rose account unlock;

    --修改用户向表空间插入数据的限制

    alteruser rose quota 1m on users

     

    账户授权

    --授予链接数据库的权限

    grant create session to rose;

    grant createtableto rose;

    grant create session ,createtableto rose

    删除账户

    drop user rose;

    ORA-01940: 无法删除当前连接的用户

    select username,sid,serial# from v$session;

    alter system kill session '8,836';

    ORA-01922: 必须指定 CASCADE 以删除 'ROSE'

    drop user rose cascade;

    创建表

    ?????

    l  权限

    n  系统权限select * from system_privilege_map;

    语法:

    授权:grant 系统权限|角色|ALL to 用户

    撤销权限:revoke系统权限|角色|ALLfrom用户

    n  对象权限select * from table_privilege_map;

    语法:

    授权:grant 对象权限|ALL on 对象 to 用户

    撤销权限:revoke对象权限|ALL on 对象 from 用户

     

    案例一:学生管理系统student(stuno  integer, stuname varchar2(10),stuBir date,stuSex char(3) );

    步骤一:创建一个表空间

    --创建一个表空间

    create tablespace demoschool

    datafile 'D:/demoschool.dbf'

    size 5m

    autoextend on

    步骤二:创建一个实例账户,管理表空间

    create user lily identified by 123456 default tablespace demoschool;

    alteruser lily identified by123456default tablespace demoschool

    步骤三:授予实例账户系统权限

    骤四:登录这个账户

    步骤五:建立student表

    步骤六:表中插入2条数据

     

     

    步骤七:查询学生名字

    步骤八:修改学生信息

    步骤九:删除学生

    步骤十:把表删除

    执行物理路径中的sql脚本

    @ D:/school.sql

    Start  D:/school.sql

    删除表空间

    drop tablespace demoschool;

    --连硬盘中的物理文件一起删除

    drop tablespace demoschool including contents and datafiles;

    Oracle数据库的主要数据类型

    一字符串类型

    Char 固定长度字符CHAR字段最多可以存储2,000字节的信息。

    VARCHAR2类型可变长度类型VARCHAR2最多可以存储4,000字节的信息。

    二. 数字类型

    NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。

    P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字

    S是Scale的英文缩写,可以使用的范围为-84~127。Scale为正数时,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数

    INTEGER类型INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。

    FLOAT类型FLOAT类型也是NUMBER的子类型。

    Float(n),数 n 指示位的精度,可以存储的值的数目。N 值的范围可以从 1 到 126。若要从二进制转换为十进制的精度,请将 n 乘以 0.30103。要从十进制转换为二进制的精度,请用 3.32193 乘小数精度。126 位二进制精度的最大值是大约相当于 38 位小数精度。

    三. 日期类型

    DATE是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle 存储以下信息:世纪、年、月、日期、小时、分钟和秒。一般占用7个字节的存储空间。

    TIMESTAMP类型

    这是一个7字节或12字节的定宽日期/时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位

    四. LOB类型

    CLOB 数据类型

       它存储单字节和多字节字符数据。支持固定宽度和可变宽度的字符集。CLOB对象可以存储最多 (4 gigabytes-1) * (database block size) 大小的字符

    BLOB 数据类型

      它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。BLOB对象最多存储(4 gigabytes-1) * (database block size)的二进制数据。

    五. RAW & LONG RAW类型

    LONG类型它存储变长字符串,最多达2G的字符数据(2GB是指2千兆字节,而不是2千兆字符),与VARCHAR2 或CHAR 类型一样,存储在LONG 类型中的文本要进行字符集转换。

    2017-10-31 18:30:59

  • 相关阅读:
    题解 CF36B【Fractal】
    21清北学堂腾飞营游记
    canvas小试牛刀
    ES度量聚合(ElasticSearch Metric Aggregations)总结
    Mybatis中设计模式的运用
    Mybatis源码-SqlSession(二)
    Mybatis源码-sqlSessionFactory(一)
    Redis6.0多线程模型总结
    RocketMQ中的CommitLog、ConsumeQueue、indexFile、offsetTable以及多种偏移量对比
    SpringBoot——自动配置原理
  • 原文地址:https://www.cnblogs.com/angelye/p/7762924.html
Copyright © 2020-2023  润新知