`

Oracle基本命令

阅读更多

OEM( Oracle Enterprise Manager)企业管理器,基于Java的框架系统,该系统集成了多个组件,为用户提供了一个功能强大的图形用户界面。

 

数据库Database > 表空间Tablespace > 数据文件Datafiles。

 

表空间是oracle数据库中最大的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。表空间在物理上体现为磁盘数据文件,每一个表空间由一个或多个数据文件组成,一个数据文件只可与一个表空间相联系,这是逻辑与物理的统一。

1.表空间

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.创建用户

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;

3. 权限、角色

权限 指的是执行特定命令或访问数据库对象的权利。

权限有两种类型
系统权限:系统规定用户使用数据库的权限(系统权限是对用户而言)
对象权限:允许用户对数据库对象(如表、视图、序列等)执行特定操作(是针对表或视图而言的)

角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。
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.导入导出

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.创建、修改、删除表

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. 查询语句

6.1 查询表中所有信息

           请查询出emp表中所有的员工信息:

           select * from emp;

 

6.2 查询指定列

           请查询出emp表中所有的员工的部门编号和工资:

           select deptno, sal from emp;

 

6.3 去除重复行

           查询emp表中的部门编号:

           select distinct deptno from emp;

 

6.4

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics