ororacle数据库应用
1.
--查询所有表空间
select * from v$tablespace;--查询所有用户 select * from dba_users where username='ZDATA';--查询表空间详情 select * from dba_data_files;2.
--创建表空间
create tablespace z_data --表空间名 datafile 'z_data00.dbf' --数据文件 size 32m --初始大小 autoextend on next 32m --增长量 maxsize 2048m; --最大大小 --增长量和最大大小可以不写,默认增长量为初始大小,最大大小不限--在一个表空间创建多个数据文件
create tablespace z_data_demo datafile 'z_data_demo1.dbf' size 16m , 'z_data_demo2.dbf' size 16m ;--删除表空间
drop tablespace z_data_demo including contents and datafiles;--删除表空间有两种方法: --一是用上面的语句同时删除与表空间关联的内容和数据文件; --二是先只删除表空间,然后找到文件直接右键再删除。 3.--创建用户(此时用户为空白权限) create user zdata identified by 123 default tablespace z_data; --不设定表空间时默认的表空间时users或system,默认临时表空间为temp--删除用户 drop user zdata;--给用户授权 --grant 系统权限 to 用户 grant connect,resource to zcldata; --拥有Connect权限的用户只可以登录Oracle,不可以访问数据库对象 --拥有Resource权限的用户只可以访问数据库对象--grant 对象权限 on 对象 to 用户 --all代表所有权限,execute表示执行存储过程的权限 grant select,update,insert,delete on scott.emp to zcldata; --撤销权限 revoke 系统权限 from 用户 ; revoke 对象权限 on 对象 from 用户 ;4.
--创建角色
create role tests;--将查询权限授权给角色tests grant select on scott.emp to tests; grant select on scott.dept to tests;--将角色tests授权给用户zcldata grant tests to zcldata;--删除角色 drop role tests;5.
--创建序列
CREATE SEQUENCE 序列名 [INCREMENT BY n] --增值 [START WITH n] --开始值 [{MAXVALUE / MINVALUE n|NOMAXVALUE}] --最大值/最小值 [{CYCLE|NOCYCLE}] --是否循环 [{CACHE n|NOCACHE}]; --是否启动缓存create sequence seq_emp;
select seq_emp.nextval from dual; --查询下一个序列值 select seq_emp.currval from dual; --查询当前序列值--删除序列 drop sequence seq_emp;6.
--索引(提高数据库查询效率,但是会增加磁盘空间的负担)
--创建索引 create index 索引名 on 表名(字段名);--删除索引 drop index 索引名 ;