美文网首页
03_oracle基本操作

03_oracle基本操作

作者: lww文 | 来源:发表于2019-08-23 14:56 被阅读0次

数据库

Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数文件)。其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是 Oracle 就只有一个大数据库。

 用户

用户是在实例下建立的。不同实例可以建相同名字的用户。

 表空间

表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。

数据文件(dbf、ora)

 数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个 或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于 一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数 据文件,只能删除其所属于的表空间才行。 注: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到 一个或者多个数据文件中。 由于 oracle 的数据库不是普通的概念,oracle 是有用户和表空间对数据进行管理和存放的。 但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同 一个名字的表!这里区分就是用户了!

  创建表空间

ORACLE 数据库的逻辑单元。 数据库---表空间 一个表空间可以与多个数据 文件(物理结构)关联 一个数据库下可以建立多个表空间,一个表空间可以建立多个用户、一个用户下可以建立 多个表。

创建表空间

create tablespace lww   为表空间名称

datafile 'c:\lww.dbf'   指定表空间对应的数据文件

size 100m    后定义的是表空间的初始大小

autoextend on   自动增长 ,当表空间存储都占满时,自动增长

 next 10m; 后指定的是一次自动增长的大小。

=====

删除表空间

drop  tablespace lww;

 用户

create user ulww

identified by lww  后边是用户的密码

default tablespace lww 后边是表空间名称

用户赋权限

Oracle 中已存在三个重要的角色:connect 角色(基本角色),resource 角色(开发角色),dba 角色。

CONNECT 角色: --是授予最终用户的典型权利,最基本的

------ALTER SESSION --修改会话

------CREATE CLUSTER --建立聚簇

------CREATE DATABASE LINK --建立数据库链接

------CREATE SEQUENCE --建立序列

------CREATE SESSION --建立会话

------CREATE SYNONYM --建立同义词

------CREATE VIEW --建立视图

RESOURCE 角色: --是授予开发人员的

      CREATE CLUSTER --建立聚簇

      CREATE PROCEDURE --建立过程

      CREATE SEQUENCE --建立序列

      CREATE TABLE --建表

      CREATE TRIGGER --建立触发器

      CREATE TYPE --建立类型

DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,并且系统 权限也需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除

grant dba to ulww

进入 system 用户下给用户赋予 dba 权限,否则无法正常登陆


Oracle数据类型

表的管理

语法:

Create table 表名(

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

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

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

);

范例:创建 person 表

 create table person(

pid number(10),

name varchar2(10),

   );

 表删除

语法:DROP TABLE 表名

表的修改

在 sql 中使用 alter 可以修改表

添加语法:ALTER TABLE 表名称 ADD(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...)

修改语法:ALTER TABLE 表名称 MODIFY(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...)

修改列名: ALTER TABLE 表名称 RENAME 列名 1 TO 列名 2

范例:在 person 表中增加列 addres

alter table person add(gender varchar2(10));

范例:把 person 表的 gender列的长度修改成 20 长度

alter table person modify(gender varchar2(20));

范例:把 person 表的 gender  修改成 sex

alter table person rename column gender to sex

数据库表数据的更新

INSERT(增加)

标准写法:

INSERT INTO 表名[(列名 1,列名 2,...)]VALUES(值 1,值 2,...)

简单写法(不建议)INSERT INTO 表名 VALUES(值 1,值 2,...)

注意:使用简单的写法必须按照表中的字段的顺序来插入值,而且如果有为空的字段使用 null

insert into person(pid , pname) values(1,'xxx')

commit;

UPDATE(修改)

全部修改:UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,....

局部修改:UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,....WHERE 修改条件;

DELETE(删除)

delete from 表名字  ----删除表中全部记录

drop table 表名字 删除表结构

truncate table  表名字  ---先删除表 再次创建表 效果等同于删除表中全部记录  在数据量大的情况下 尤其是表中带有索引的情况下 该操作效率高

---索引可以提供查询效率 但是会影响增删修改的效率

语法 : DELETE FROM 表名 WHERE 删除条件;

在删除语句中如果不指定删除条件的话就会删除所有的数据

因为 oracle 的事务对数据库的变更的处理,我们必须做提交事务才能让数据真正的插入到数 据库中,在同样在执行完数据库变更的操作后还可以把事务进行回滚,这样就不会插入到数据 库。如果事务提交后则不可以再回滚。

序列

在很多数据库中都存在一个自动增长的列,如果现在要想在 oracle 中完成自动增长的功能, 则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。

不属于任何一张表 但是可以加逻辑和表做绑定

序列:默认从1开始 依次递增

语法:CREATE SEQUENCE 序列名

[INCREMENT BY n]  每次在增加几

[START WITH n]   从几开始 默认1:

[{MAXVALUE/ MINVALUE n|NOMAXVALUE}]

[{CYCLE|NOCYCLE}]  循环

 [{CACHE n|NOCACHE}]; 缓存

范例:创建一个 s_person的序列,验证自动增长的操作

 CREATE SEQUENCE s_person;

序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了以下的两种操作:

nextval :取得序列的下一个内容

currval :取得序列的当前内容

dual:虚表只是为了补全语法 没有任何意义

select seqpersonid.nextval from dual;  

select seqpersonid.currval from dual;

在插入数据时需要自增的主键中可以这样使用

insert into person (pid,pname) values(s_person.nextval,'lww2');

commit;

===========================Scott用户

scott 用户,密码tiger

解锁scott用户

alter user scott account unlock;

解锁 密码(重置密码)

alter user scott identified by tiger;

切换到scott用户




相关文章

  • 03_oracle基本操作

    数据库 Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数文...

  • 栈和队列

    顺序栈的基本操作: 链栈的基本操作 顺序队的基本操作 链队的基本操作

  • 【数据类型】21、上机练习:容器类型操作

    目录一、列表、元组基本操作二、列表、元组高级操作三、集合基本操作四、字典基本操作 一、列表、元组基本操作 +,*,...

  • MongoDB 基本操作用法

    MongoDB文档 基本操作 update 基本操作 find 基本操作 aggregate 终端用法 导入导出

  • 基本操作

    Alt+P:运行 按住win+左/右箭头:改变窗口大小 ctrl+W:复制文件 点击`:调出控制台输入框 在不同的...

  • 基本操作

    通过对廖雪峰的git教程学习做出的摘要1.git init 创建版本库git add () 告诉Git,把文件添加...

  • 基本操作

    用户相关 查看所有用户 修改用户名/密码 删除用户 数据泵相关 表空间 新建表空间 空间 表相关 查看所有表

  • 基本操作

    动态浏览

  • 基本操作

    因为要在Linux操作系统下写HDL,所以需要对Linux系统下的一些命令比较熟悉,以下做一下对Linux系统做一...

  • 基本操作

    1)查看目录下所有文件 2)返回最上级目录 3)复制文件 4)supervisor一套 5)supervisor简...

网友评论

      本文标题:03_oracle基本操作

      本文链接:https://www.haomeiwen.com/subject/ucuzsctx.html