Oracle基本操作(二)

oracle数据库的基本操作;

  • 创建表空间
  • 插拔数据库
  • 创建用户
  • 创建数据表(事务)
  • 索引
  • 视图
  • 序列
  • 同义词

一,创建表空间
例;

create tablespace school //创建表空间school
2 datafile ‘/oracle/app/oracle/oradata/school01.dbf‘ //指定表空间文件存放位置
3 size 10m autoextend on; //指定大小,空间可以扩容


调整表空间大小
1,调整大小

SQL> alter database datafile
2 ‘/oracle/app/oracle/oradata/school01.dbf‘
3 resize 80m;

数据库已更改。

2,添加文件

SQL> alter tablespace school
2 add datafile
3 ‘/oracle/app/oracle/oradata/school02.dbf‘
4 size 20m autoextend on;

表空间已更改。


表空间权限

SQL> alter tablespace school read only; //修改为只读权限

表空间已更改。

SQL> alter tablespace school read write; //权限修改为读写(默认)

表空间已更改。

删除表空间

SQL> drop tablespace school including contents;

表空间已删除。

二,插拔数据库(CDB与PDB转换)

SQL> show con_name //查看当前所在的容器
SQL> show pdbs; //查询数据库的所有容器


将当前数据库CDB转换为PDB

CDB:默认的数据库
PDB:容器型数据库
SQL> alter pluggable database orclpdb open; //修改可插拔库orclpdb打开状态

插接式数据库已变更。

SQL> alter session set container=orclpdb; //CDB下切换会话到PDB中

会话已更改。
SQL> shutdown immediate //在PBD中关闭插拔数据库
插接式数据库已关闭。

SQL> startup //在PBD中打开插拔数据库
插接式数据库已打开。


将PDB切换为CDB

SQL> alter session set container=cdb$root; //切换会话到CDB

三,创建用户

创建用户必须指定一个默认的表空间
在12 C版本,CDB中创建用户,用户名格式为:c##用户名
PDB中创建用户,用户名格式为:用户名
SQL> create user c##jack
2 identified by abc123 //指定密码
3 default tablespace users //指定默认表空间
4 temporary tablespace temp //指定临时表空间
5 quota unlimited on users; //不进行限额
更改用户密码
SQL> alter user c##jack identified by jack123;

删除用户
SQL> drop user c##jack cascade;


四,创建数据表(插入数据,事务)

SQL> create table info
2 (
3 id number(4),
4 name varchar2(10),
5 score number(5,2),
6 riqi date
7 );


五,事务

在oracle中默认开启事务不进行提交。因此在进行数据操作时,一定要记得提交,或者设定为自动提交。否则数据不能写入硬盘中。
SQL> insert into info values (1,‘lisi‘,80,to_date(‘2018-08-26‘,‘yyyy-mm-dd‘));
SQL> set autocommit on; //设定自动提交,回滚无效


六,索引

B树索引

create index 索引名称 on 表名(列名)

唯一索引/非唯一索引

create unique index 索引名称 on 表名(列名)

反向索引

create index 索引名称 on 表名(列名)reverse

位图索引

create bitmap index 索引名称 on 表名(列名)

其他索引

create index 索引名称 on 表名(upper(列名)) //大写函数索引

查看索引

select index_name,index_type,table_name,tablespace_name from user_indexes;

查看索引相关信息

select index_name,table_name,column_name from user_ind_columns where index_name like ‘EMP%‘;

重建索引

alter index 索引名称 rebuild;

alter index 索引名称 rebuild tablespace 表空间

合并索引碎片

alter index 索引名称 coalesce;

删除索引

drop index 索引名称



七,视图

创建视图要注意权限问题
SQL> create view vinfo as select from info; //创建视图
SQL> select
from vinfo; //查询视图
SQL> drop view vinfo; //删除视图


物化视图

首先要通过管理员帐号为c##jack用户赋予权限
SQL> grant create materialized view to c##jack; //创建物化视图权限
SQL> grant query rewrite to c##jack; //查询,重写权限
SQL> grant create any table to c##jack; //创建所有表权限
SQL> grant select any table to c##jack; //查询所有表权限


创建物化视图之前需要创建物化视图日志

create materialized view log on info;


创建物化视图

SQL> create materialized view mtview
2 build immediate //创建完成立马生成新数据
3 refresh fast //刷新数据
4 on commit //提交
5 enable query rewrite //开启查询重写功能
6 as
7 select * from info;

SQL> drop materialized view mtview; //删除物化视图


八,序列

oracle中自增列需要单独进行创建,然后插入数据时进行调用。
创建序列
SQL> create sequence id_seq
2 start with 10 //初始值
3 increment by 1 //增量
4 maxvalue 1000 //最大值
5 nocycle //肺循环
6 cache 50; //缓存

插入数据时调用序列
SQL> insert into info values (id_seq.nextval,‘tom‘,80,to_date(‘2018-04-10‘,‘yyyy-mm-dd‘));
查询序列当前值
SQL> select id_seq.currval from dual;
更改序列
SQL> alter sequence id_seq cache 30;
查看序列信息
SQL> select sequence_name,increment_by,cache_size from user_sequences;
删除序列
SQL>drop sequence id_seq;


九,同义词

俗称别名,外号,可以提高数据安全可靠性。
私有同义词:只在当前用户可以使用
公有同义词:所有数据库用户都可以使用
SQL> create synonym pr_info for info; //创建私有同义词
SQL> create public synonym pub_info for info; //创建共有同义词
删除同义词
SQL> drop synonym pr_info;
SQL> drop public synonym pub_info;


原文地址:http://blog.51cto.com/13728740/2299461

时间: 2024-11-15 03:38:36

Oracle基本操作(二)的相关文章

Oracle学习(二):过滤和排序

1.知识点:可以对照下面的录屏进行阅读 SQL> --字符串大小写敏感 SQL> --查询名叫KING的员工信息 SQL> select * 2 from emp 3 where ename = 'KING'; SQL> --日期格式敏感 SQL> --查询入职日期为17-11月-81的员工 SQL> select * 2 from emp 3 where hiredate='17-11月-81'; --正确例子 SQL> ed 已写入 file afiedt.b

oracle基本操作和查锁

oracle基本操作desc all_tables; --查看表结构select from all_tables;--查看当前数据库所有的表select table_name from user_tables;查看当前登录的用户的表:select from dba_users;查看有哪些用户 --与视图有关的表select from user_viewsselect from dba_views --涉及到查看表空间和数据文件的几个表SELECT FROM dba_free_space --查看

oracle基本操作 转载

ORACLE的简单介绍 ORACLE公司是一家提供综合技术产品.方案.服务的数据库公司 ORACLE数据库设计成可大量存储数据,快速查询数据,保证数据的安全和一致性,跨网络的分布式管理及客户-服务器的配置等. ORACLE SQL语法符合ANSI 1986标准SQL 和数据库交流的命令式语言 SQL*PLUS ORACLE的一种工具, 用来运行SQL和PL/SQL语句 PL/SQL ORACLE的过程化编程语言 一.选择行 1. 简单的SELECT 语句 SELECT [DISTINCT] {*

谈谈Oracle基本操作(上)

当前我们市面上流行的数据库有sybase,Oracle,DB2,Mysql,sqlSever,MSQL, MariaDB 今天我们主要谈谈Oracle数据库 一:Oracle原理 1:什么是数据库:数据库管理的是硬盘中的数据,把数据打包,方便管理,数据增删改查,它的保存数据的是数据库文件;数据库一切都是表:用数据表来保存数据; 2:分类: (1)结构化数据库:保存在硬盘当中,SQL语句查询;以SQL语句模型为基础的数据库 (2)非结构化数据库:mongoDB,Redis,memecache;把数

【Oracle基本操作1】 新建数据库

一.新建数据库 1.新建数据库. 1.1打开 Database Configuration Assistant  : 1.2选择新建数据库,下一步,选第一个"一般用途或事物处理": 1.3给数据库起个名字,即唯一标识符.(就是登陆时需要的"数据库名"): 1.4勾掉Enterprise Manager,和自动维护任务的相关选项,如图. 1.5 所有账户使用同一管理口令,这里输入"narisq"(就是登陆时需要的密码,用户名默认为system) 1

Oracle笔记二

一.数据库语言分类  二.DML之数据插入 把一个表中的数据查询出来插入另外一个表中. create table student(id number,name varchar2(20),age number); insert into student select id,name,age from student1; insert into student select * from student as of timestamp(sysdate-5/1440);          sysdat

Oracle闲扯<二>

数据冗余和数据不一致性是数据库的源头!一个万能的答案. ---老牛 SQL简介 SQL Statement (SQL 语句) 1)DDL Data Defination Language数据库定义语言 用于定义数据库的三级结构,包括外模式.概念模式.内模式及其相互之间的映像,定义数据的完整性.安全控制等约束,不需要commit CREATE Ps:例如创建用户 create user Super_YY identified by 123:又如create table创建一张表 ALTER Ps:

【oracle】二、基本的select语句

一.select 基本语法: SELECT *|{[DISTINCT] column|expression [alias],...} FROM table; SELECT 标识 选择哪些列. FROM 标识从哪个表中选择. 1.从表中取出所有列 select * from emp; Connected to Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 Connected as c##[email protected] SQL

Oracle基本操作汇总

--10g 新增的表空间类型:大文件 (Bigfile) 表空间.--10g 数据库在创建的时候,会指定默认的表空间类型.如果不特殊指定的话,默认为 SMALLFILE 类型的表空间.SELECT * FROM database_properties WHERE property_name = 'DEFAULT_TBS_TYPE'; --如果我们创建表空间的时候不指定类型,那么默认创建的都是 SMALLFILE 类型的表空间.可以通过 ALTER DATABASE 命令来修改数据库默认的表空间类