Oracle 基本

oracle创建表空间,创建用户


//创建临时表空间

createtemporary tablespace test_temp
tempfile
'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
size 32m
autoextend
on
next 32m maxsize 2048m
extent management local;

//创建数据表空间
create tablespace test_data
logging
datafile
'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'
size 32m
autoextend
on
next 32m maxsize 2048m
extent management local;

//创建用户并指定表空间
createuser testserver_user identified by testserver_user
default tablespace test_data
temporary tablespace test_temp;

//给用户授予权限

grant connect,resource to testserver_user;

//以后以该用户登录,创建的任何数据库对象都属于test_temp test_data表空间,这就不用在每创建一个对象给其指定表空间了。 

Oracle 数据库导出

运行cmd

输入:

exp system/tpgc@//192.168.1.206/Hmis_Mid file=d:\hmis_mid_new.dmp owner=(hmismid)

Oracle 数据库导入

运行cmd

输入:

impsystem/tpgc@//192.168.1.206/Hmis_Midfile=d:\hmis_mid_new.dmp

参考资料:

使用示例

3.1 数据导出:

1 将数据库SampleDB完全导出,用户名system 密码manager 导出到E:\SampleDB.dmp中

   expsystem/manager@TestDB file=E:\sampleDB.dmp full=y

2 将数据库中system用户与sys用户的表导出

   expsystem/manager@TestDB file=E:\sampleDB.dmp owner=(system,sys)

3 将数据库中的表 TableA,TableB 导出

    expsystem/manager@TestDB file=E:\sampleDB.dmp tables=(TableA,TableB)

4 将数据库中的表tableA中的字段filed1 值为 "王五" 的数据导出

   expsystem/manager@TestDB file=E:\sampleDB.dmp tables=(tableA) query=' where filed1='王五'

  
如果想对dmp文件进行压缩,可以在上面命令后面加上 compress=y 来实现。

3.2 数据的导入

1 将备份数据库文件中的数据导入指定的数据库SampleDB 中,如果 SampleDB 已存在该表,则不再导入;

   impsystem/manager@TEST file=E:\sampleDB.dmp full=y ignore=y

2 将d:\daochu.dmp中的表table1 导入

impsystem/manager@TEST file=E:\sampleDB.dmp tables=(table1)

3. 导入一个完整数据库

imp system/manager file=bible_db log=dible_db full=y ignore=y

4. 导入一个或一组指定用户所属的全部表、索引和其他对象

imp system/manager file=seapark log=seaparkfromuser=seapark imp
system/manager file=seapark log=seaparkfromuser=(seapark,amy,amyc,harold)

5. 将一个用户所属的数据导入另一个用户

imp system/manager file=tank log=tank fromuser=seaparktouser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)

6. 导入一个表

imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

7. 从多个文件导入

imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y

8. 使用参数文件

imp system/manager parfile=bible_tables.par
bible_tables.par
参数文件:
#Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seaparktouser=seapark_copy file=seapark log=seapark_import
参数文件示例见附录


9.
增量导入

imp system./manager inctype= RECTORE FULL=Y FILE=A


不少情况下要先将表彻底删除,然后导入。

Oracle 查看列结构:

select * fromuser_tab_columnswheretable_name='表名

ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数据库    
的系统时间为SYSDATE,   精确到秒,或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)    
年-月-日 24小时:分钟:秒 的格式YYYY-MM-DD HH24:MI:SS TO_DATE()还有很多种日期格式, 可以参看
  ORACLE   DOC.    

日期型字段转换成字符串函数TO_CHAR(‘2001-08-01’,’YYYY-MM-DD   HH24:MI:SS’)    

Oracle查询语句大全

1. select * from table_name where   rownum>begin   and   rownum<   end

    2.sql   =   "select   *   from   table"

    con.prepareCall("SELECT   *   FROM(SELECT   A.*,   rownum   r   FROM("+sql+")   A   WHERE   rownum   <=

    "+intPage*intPageSize+")   B   WHERE   r   >   "+(intPage-1)

    *intPageSize);

    今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案.

    select table_name from all_tables;//所有的表明

    select table_name from user_all_tables;//用户的所有的表

    一下是转贴的sql语句的帖子.

    select * from user_objects;                 //查询所有的表

    select * from dba_tables;                        //查询所有的表

    select * from all_tables;                        //查询所有的表

    select * from user_users                    //查出一个用户

    select * from all_users                                //查询所有用户

    select * from dba_users                         //查询所有用户

    select name,dbid from v$database;        //查询数据库名和它的ID

    select * from sys.user_tab_columns; //查询表名,并显示列名

    describe 表名                         //查询表结构

    select * from sys.user_tab_columns where table_name=表名 //查询指定表名的字段

    2: 查询数据库参数

    show parameter db;

    3:查询数据库的实例名

    select instance_name from v$instance;

    4: 数据库域名

    数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用

    select value from v$parameter where name='db_domain'

    show parameter domain

    5:数据库服务名

    如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同

    show parameter service_name

    6:显示当前用户

    show user

    7:直接登陆

    sqlplus "/as sysdba"

    8:当前ORACLE系统时间

    select sysdate from dual;

    9:查询数据库字典v$nls_parameter产看字符集相关参数

    select * from v$nls_parameters;
   //*************

    oracle基本操作语句(适合初学者)

    oracle操作语句:

    1.创建表

    create table 表名(

    列名1 类型,

    列名2 类型

    );

    2.修改类属性

    alter table 表名 modify(列名类型);

    3.添加列

    alter table 表名 add(列名类型);

    4.添加主键约束和非空约束

    alter table 表名 add constraint pk_表名 primary key(列名);

    alter table 表名 modify(列名 not null);

    5.删除主键约束

    alter table 表名 drop primary key;

    alter table 表名 drop constraint pk_表名;

    6.失效约束

    alter table 表名 disable primary key;

    alter table 表名 disable constraint pk_表名;

    7.有效约束

    alter table 表名 enable primary key;

    alter table 表名 enable constraint pk_表名;

    8.删除列

    alter table 表名 drop column 列名;

    9.设置某列不可用,然后删除

    alter table 表名 set unused(列名);

    alter table 表名 drop unused columns;

    10.修改表名

    rename 表名1 to 表名2

    alter 表名1 rename to 表名2;

    11.截断表

    truncate table 表名;

    12.截断表保留行空间

    truncate table 表名resue storage;

    13.查看表结构

    desc table 表名;

    14.删除表

    drop table 表名;

    15.插入记录

    例:insert into 表名 values(内容1,内容2,内容3,内容4);

    16.带参数对话方式插入行

    例:insert into 表名 values(&列名1,&列名2);

    insert into 表名 values(内容1,内容2);

    17.插入某几列记录

    insert into 表名(列名1,列名2) values(内容1,内容2);

    18.为列插入空值(其列不能为not null)

    insert into 表名 values(内容1,null,null);

    19.创建表(包括主键及外键设置)方法一

    create table 表名(

    列名1 类型

    constraint pk_表名 primary key,

    列名2 类型 not null,

    列名3 类型

    constraint fk_表名 reference 表名(列名),

    列名3 类型

    constraint ck_表名 check(列名3 in(''内容1'',''内容2'',''内容3''))

    );

    20.查询所有行

    select * from 表名;

    21.查询某几列

    select 列名1,列名2 from 表名;

    22.重复行消除

    select distict列名 from 表名;

    23.where语句查询

    select * from 表名 where 条件 order by 列名;

    (注:如number类型查出自动按升序排列,如要按降序排列,则select * from 表名 where 条件 order by 列名desc;)

    24.创建表,方法二

    create table 表名(

    列名1 类型 primary key,

    列名2 类型 not null,

    列名3 类型 check(列名3 in('''','''','''')),

    列名4 类型refernce表名(列名)

    );

    25.修改列=‘?’的数据

    update 表名 set (列=?) where 列=‘?’;

    26.删除行

    delete from 表名 where 条件;

    27.事务处理

    --事务处理

    update 表名

    set 列名(日期) = ''30-5月-98''

    where 条件;

    savepoint mark1;

    delete from 表名 where 条件;

    savepoint mark2;

    rollback to savepoint mark1;

    rollback;

    28.建立用户user1,密码为password

    授予用户connect,resource的权限

    connect角色用于登录

    resource角色用于建表等.

    connect system/manager

    create user user1 identified by password;

    grant connect,resource to password;

    29.数据控制语言

    connect scott/tiger

    30.把对表1查询和修改的权限授予user1

    grant select,update on 表1 to user1;

    31.把对表表1中列1和列2修改的权限授予user1

    grant update(列1,列2) on 表1 to user1;

    32.把对表表1查询的权限授予用户user1

    并且user1用户还可以把这个权限授予别的用户(with grant option)

    grant select on 表1 to user1 with grant option;

    33.从用户user1撤销对表1查询和修改的权限

    revoke select,update on 表1 from user1;

导出数据库语句:

exp new_hospital/tpemr@//192.168.1.206/tpemr2010 file=e:/tpemr_北京回龙观医院.dmp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章