• python-Web-数据库-oracle


    1.oracle体系结构

    --------全局数据库,这里指物理磁盘上的数据库(物理结构,一个真实存在的磁盘目录),一般一台oracle服务器有1个全局数据库,文件占1G多。oracle允许一台

    -------- 一台电脑安装多个全局数据库,但是不建议这样做。因为一个全局数据库可以放所有的数据。

    -------- 这里与mysql不一样,mysql是随意创建数据库。 一个全局数据库包含N多个数据文件。

    --------用户,用户在oracle里面是来隔离数据的,mysql通过数据库为单位隔离数据,而oracle以用户为单位隔离数据。

    --------表空间,是逻辑结构,用户的数据存放在表空间上的,表空间的数据是在数据文件上的。表空间可以在逻辑上

    -------- 给数据文件划分多个区域,每个区域是一个表空间。数据文件的数据是有多个表空间组成。

    --------数据文件,是全局数据库里面一个数据文件(物理结构,一个真实存在的磁盘文件)。一个全局数据库包含N多个数据文件。

    --------数据库实例服务(数据库实例),是一个服务进程,用于执行sql命令,将变化更新到数据文件上。

    –2.使用oracle存取数据步骤

    1步骤:创建表空间

    创建语法:

    create tablespace 表空间名字

    datafile ‘磁盘数据文件地址’ size 数据文件大小

    autoextend on next 自动增长的大小

    例子

    create tablespace itheima91

    datafile ‘c:itheima91.dbf’ size 100m

    autoextend on next 10m

    2步骤:创建用户

    创建语法:

    create user 用户名 identified by 密码

    default tablespace 表空间名字;

    例子

    create user ith identified by itheima91

    default tablespace itheima91;

    使用新用户登录试一下:结果登录不了,因为权限不够

    3步骤:授权

    语法1

    grant 权限1,权限2,… to 用户名;

    语法2

    grant 角色1,角色2,… to 用户名;

    角色,一个角色包含多个权限

    –oracle系统内置3个就是,connect,resource,dba

    -------connect角色,连接到oracle的权限

    -------resource角色,操作自己的数据对象(创建自己的表,增删改查里面的数据),不可以操作其他用户数据

    -------dba角色,超级管理员角色,当前system就是dba.拥有一切权限

    为了方便,将dba给到用户

    grant dba to itheima91;

    -------------------------itheima91/itheima91登录进行如下操作-------------------------------------

    select * from session_privs;–查看当前用户所属角色权限列表,dba拥有161个权限

    SELECT * FROM USER_ROLE_PRIVS;–查看当前用户的所属角色

    3.表的管理create,drop,alter

    创建表语法:

    语法:

    create table 表名(

    字段1 数据类型 [default默认值]

    字段2 数据类型 [default默认值]

    字段n 数据类型 [default默认值]

    );

    创建一个person

    create table person(

    id number(8) primary key,

    name varchar2(100) not null,

    gender varchar2(2),

    birthday date

    );

    表删除

    方式1:删除表数据

    delete from person;

    方式2:移出表结构

    drop table person;

    表修改

    增加一个字段

    alter table person add (address varchar2(100));

    修改字段名字

    alter table person rename column address to address2;

    修改字段数据类型

    alter table person modify (address2 varchar2(200));

    表的更新(增、删、改)

    4数据的管理:delete,update,select,insert into

    删除

    delete from person where id=2;

    修改

    update person set address2=‘东莞’ where id=1;

    查询

    select * from person;

    增加数据

    insert into person(id,name,gender,birthday,address2)

    values(1,‘张三’,‘’,to_date(‘2018-01-01’,‘yyyy-MM-dd HH24:mi:ss’),‘广州’);

    insert into person

    values(2,‘李四’,‘’,to_date(‘2018-01-01’,‘yyyy-MM-dd HH24:mi:ss’),‘深圳’);

    –oracle有事物机制,需要对每条增、删、改数据手动提交事物。

  • 相关阅读:
    使用 console.time() 计算js代码执行时间
    javascript 如何创建只能执行一次的事件。
    Javascript 的addEventListener()及attachEvent()对比
    使用jasmine-node 进行NodeJs单元测试 环境搭建
    Karma和Jasmine 自动化单元测试环境搭建
    3487. 【NOIP2013模拟联考11】剑与魔法(dragons) (Standard IO)
    3470. 【NOIP2013模拟联考8】最短路(path) (Standard IO)
    2018洛谷8月月赛第一题_U28036 Nagisa loves Tomoya
    NOIP2017提高组Day2第一题
    3464. 【NOIP2013模拟联考6】秀姿势(sugata) (Standard IO)
  • 原文地址:https://www.cnblogs.com/person1-0-1/p/11390626.html
Copyright © 2020-2023  润新知