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有事物机制,需要对每条增、删、改数据手动提交事物。

posted @ 2019-08-21 19:16  一觉昏睡人  阅读(347)  评论(0编辑  收藏  举报