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;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。