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

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