OEM( Oracle Enterprise Manager)企业管理器,基于Java的框架系统,该系统集成了多个组件,为用户提供了一个功能强大的图形用户界面。
数据库Database > 表空间Tablespace > 数据文件Datafiles。
表空间是oracle数据库中最大的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。表空间在物理上体现为磁盘数据文件,每一个表空间由一个或多个数据文件组成,一个数据文件只可与一个表空间相联系,这是逻辑与物理的统一。
1.1 创建表空间
create tablespace test
datafile 'E:\oracle\product\10.2.0\oradata\test\test.dbf'
size 200M
autoextend on next 10M
maxsize unlimited;
1.2 修改数据文件大小
alter database datafile 'E:\oracle\product\10.2.0\oradata\test\test.dbf'
resize 500M;
1.3 创建临时表空间,用于临时数据的存放
create temporary tablespace test_temp
tempfile 'E:\oracle\product\10.2.0\oradata\test\test_temp01.dbf'
size 32M
autoextend on next 32M
maxsize 2048M
extend management local;
1.4 将表空间设置为只读模式或读写模式
alter tablespace test read only;
alter tablespace test read write;
1.5 删除表空间
drop tablespace test including contents and datafiles;
1.6 添加数据文件到表空间
alter tablespace test add datafile 'E:\oracle\product\10.2.0\oradata\test\test02.dbf' size 1M;
1.7 查看表空间和数据文件信息
select * from v$datafile;
select * from v$tablespace;
2.1 创建新用户
create user pao
identified by pao
default tablespace test
temporary tablespace test_temp;
2.2 更改用户密码
alter user pao identified by newpassword;
2.3 删除用户
drop user pao cascade;(删除用户和用户所拥有的对象)
2.4 给用户解锁
先用DBA身份登录,
alter user pao account unlock;
权限 指的是执行特定命令或访问数据库对象的权利。
权限有两种类型
系统权限:系统规定用户使用数据库的权限(系统权限是对用户而言)
对象权限:允许用户对数据库对象(如表、视图、序列等)执行特定操作(是针对表或视图而言的)
角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。
Oracle提供三种标准角色:
CONNECT,拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构;
RESOURCE,RESOURCE角色允许用户创建表、过程、触发器、序列等特权;
DBA,DBA 角色拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。
3.1 授予权限
grant resource to test;
3.2 撤销权限
revoke resource from test;
3.3 创建会话权限
grant create session to test;
revoke create session from test;
3.4 创建表的权限
grant create table to test;
revoke create table from test;
3.5 使用表空间的权限
grant unlimited tablespace to test;
revoke unlimited tablespace from test;
3.6 对所有用户授予创建会话权限,public代表所有用户
grant create session to public;
4.1 将数据库test完全导出,用户名system,密码system,导出到d:\test.dmp中
•exp system/system@testfile=d:\test.dmp full=y
4.2 将d:\test.dmp中的数据导入到oradb数据库中
•imp system/system@oradbfile=d:\test.dmp full=y
4.3 将数据库test中system用户与sys用户的表导出
•exp system/system@testfile=d:\sysuser.dmp owner=(system.sys)
4.4 将d:\user.dmp中的数据导入oradb数据库中
•imp system/manager@oradbfile=d:\sysuser.dmp fromuser= (system,sys) ignore=y
4.5 将test数据库中的用户scott中的表emp中的字段ename以"J"打头的数据导出
•exp scott/scott@testfile=d:\tbfiled.dmp tables=empquery=\"where enamelike 'J%'\"
4.6•将d:\tbfiled.dmp中的数据导入oradb数据库中的yqq用户中
•imp yqq/yqq@oradbfile=d:\tbfiled.dmp full=y
•imp system/system@oradbfile=d:\tbfiled.dmp fromuser=scotttouser=yqqignore=y
5.1 新建表
CREATE TABLE emp ( empno NUMBER(5) PRIMARY KEY USING INDEX, ename VARCHAR2(10) NOT NULL, job VARCHAR2(9), mgr NUMBER(4,0), hiredate DATE DEFAULT SYSDATE, sal NUMBER(7,2) CHECK(sal>100), comm NUMBER(7,2) DEFAULT 0.0, deptno NUMBER(2,0) NOT NULL );
create table wh_user( id number(10) primary key, username varchar2(10) unique, password varchar2(10), gender varchar2(2) check (gender in ('男','女')), address varchar2(20), phone varchar2(20) not null );
5.2 增加列
ALTER TABLE [USER.] table_name ADD column_definition;
ALTER TABLE orders ADD order_date DATE;
5.3 增加约束
ALTER TABLE [USER.] table_name ADD talbe_constraint;
5.4 增加主键约束
ALTER TABLE student ADD PRIMARY KEY(stuno);
ALTER TABLE student ADD CONSTRAINT stu_prim PRIMARY KEY(stuno);
5.5 增加非空约束
alter table Customer modify status not null;
5.6 增加唯一约束
alter table Customer add constraint un_email unique(Email_address);
5.7 修改列
alter table table2 rename column result to result2;
Alter table student modify age number(10);
5.8 修改约束
ALTER TABLE table_name ADD [CONSTRAINT 约束名] 约束条件(column);
5.9 增加外键约束
alter table Orders add constraint Orders_Customer_fk foreign key(Order_Customer_id) references Customer(Customer_id);
5.10 删除外键约束
alter table Orders drop constraint "ORDERS_CUSTOMER_FK";
5.11 删除列
ALTER TABLE [USER.] table_name DROP COLUMN column_names [CASCADE constraints];
5.12 删除约束
ALTER TABLE [user.] table_name DROP constraint constraint_name;
ALTER TABLE student DROP primary key(sno);
ALTER TABLE student DROP constraint stu_prim;
5.13 删除表
DROP TABLE [user.] table_name [CASCADE CONSTRAINTS]
drop table Customer;
5.14 表重命名
alter table Customer rename to Customer_Change;
5.15 修改默认约束
alter table Customer modify Status default('1');
5.16 添加检查约束
alter table Customer add constraint ck_status check(Status in ('1','0'));
5.17 禁止检查约束
alter table Customer disable constraint ck_status;
5.18 激活检查约束
alter table Customer enable constraint ck_status;
5.19 删除检查约束
alter table Customer drop constraint ck_status;
5.20 插入数据
INSERT INTO dept VALUES(50, 'PRODUCTION', 'San Francisco');
INSERT INTO emp(empno, ename, job, sal, comm, deptno) VALUES (7890, 'LINKS','CLERK',1200,NULL,40);
INSERT INTO emp_house_fund(name,account_no,tran_date,tran_val) VALUES('Alice', '1256', to_date('02/04/2010','dd/mm/yyyy'),99.9);
INSERT INTO bonus(ename,job) SELECT ename, job FROM emp;
5.21 更新数据
UPDATE accounts SET balance=balance+50 WHERE acc_no='5003';
UPDATE emp SET deptno=(SELECT deptno FROM dept WHERE loc='boston') WHERE deptno IN (SELECT deptno FROM dept WHERE loc='DALLAS');
5.22 删除数据
DELETE FROM emp WHERE job = 'salesman' AND comm < 50;
删除所有记录
DELETE FROM emp;
6.1 查询表中所有信息
请查询出emp表中所有的员工信息:
select * from emp;
6.2 查询指定列
请查询出emp表中所有的员工的部门编号和工资:
select deptno, sal from emp;
6.3 去除重复行
查询emp表中的部门编号:
select distinct deptno from emp;
6.4