oracle基礎筆記-常用命令

登錄

  • 登錄名/密碼(不區分大小寫)
  • connect 用戶/用戶名

數據字典:

dba_tablespaces 針對系統管理員級別
user_tablespaces 針對普通用戶查看
dba_users 針對系統管理員
user_users 針對普通用戶


常用命令

-系統命令

  • 獲取當前系統日期
    sysdate

  • 顯示當前用戶
    show users

  • 顯示數據字典的數據字段
    desc dba_users

  • 啓用用戶的語句
    ALTER USER username ACCOUNT unlock;

  • 設置用戶的默認或臨時表空間
    ALTER USER username
    default|temporary TABLESPACE tablespace_name

  • 創建表空間 括號內表示臨時表空間
    CREATE [temporary] TABLESPACE tablespace_name tempfile|datafile ‘xx.dbf’ size xx

  • 刪除表空間(包括數據文件)
    DROP TABLESPACE tablespace_name [Including contents]

  • 設置聯機或脫機狀態
    ALTER TABLESPACE tablespace_name
    online|offline;

  • 設置只讀或可讀寫狀態
    ALTER TABLESPACE tablespace_name
    read only|read write;

  • 如何向表空間增加數據文件
    ALTER TABLESPACE tablespace_name
    ADD DATAFILE ‘xx.dbf’ size xx;

  • 刪除數據文件
    ALTER TABLESPACE tablespace_name
    DROP datafile ‘xx.dbf’


-表操作

  • 創建表

    CREATE TABLE table_name
    (
    column_name datatype,…
    )

  • 修改表結構

    ALTER TABLE table_name 要對任何表進行操作前需要先加上這句
    ADD column_name datatype; 添加字段
    MODIFY column_name datatype; 更改字段類型
    DROP COLUMN column_name ; 刪除字段
    RENAME COLUMN column_name TO new_column_name; 修改字段名字
    RENAME table_name TO new_table_name;修改表名

  • 刪除表

    TRUNCAT TABLE table_name 只刪除表的數據
    DROP TABLE table_name 連表結構一起刪除

  • 添加數據

    INSERT INTO table_name (column1,column2,…) VALUES(values1,values2,…)

  • 爲字段添加默認值

    • 在創建字段的時候添加即在該字段後加上 default 默認值
    • 表已經創建則用
      ALTER table 表名
      MODIFY 字段名 default 默認值
  • 在建表時複製數據
    CREATE TABLE table_newname
    AS
    SELECT column1,…|* FROM table_old

  • 在對錶添加時複製

    INSERT INTO table_new
    [(column1,…)]
    SELECT column1,…|*FROM table_old

  • 修改表數據(where 表示條件)

    UPDATE table_name
    SET column1=value1,…[WHERE connditions]

  • 刪除數據(以行刪除)沒有截斷表的效率高

    DELETE FROM table_name [WHERE conditions]


-約束

  • 查詢已創建的約束
    desc user_constraints

非空約束

  • 在創建表時設置:
    在對應字段類型後加上 NOT NULL

  • 表已創建,修改表(但是要在表中沒有空值時才能成功):

    alter table table_name
    modify column_name datatype not null;

  • 在修改表時去除非空約束

    ALTER TABLE table_name
    MODIFY column_name datatype NULL;

主鍵約束(唯一,非空)

  • 在創建表時設置主鍵約束

    • 在字段類型後加上(一個) PRIMARY KEY
    • 多個,放在所有字段設置之後
      CONSTRAINT constraint_name PRIMARY KEY(column_name1,…)
  • 在修改表時添加主鍵約束

    alter table table_name
    ADD CONSTRAINT constraint_name
    PRIMARY KEY(column_name1,…);

  • 更改約束的名稱

    alter table table_name
    RENAME CONSTRAINT old_name TO new_name

  • 刪除主鍵約束

    • 啓用/禁用:
      alter table table_name
      DISABLE|ENABLE CONSTRAINT constraint_name
    • 刪除 :
      ①alter table table_name
      DROP CONSTRAINT constraint_name
      ②([]內代表級聯刪除)
      alter table table_name
      DROP PRIMARY KEY[CASCADE]

外鍵約束

  • 在創建表時設置外鍵約束(後者是主表且主表的字段必須是主鍵,且在從表插入數據時外鍵的值要跟主表一樣或爲空值)

    • 在字段類型後加上 REFERENCES table2(column_name)
      -在所有字段創建完之後
      CONSTRAINT constraint_name FOREIGN
      KEY(column_name) REFERENCES
      table_name(column_name)[ON DELETE CASCADE]
  • 在修改表時添加外鍵約束([]內表示級聯刪除)

    alter table table_name
    ADD CONSTRAINT constraint_name FOREIGN
    KEY(column_name) REFERENCES
    table_name(column_name)[ON DELETE CASCADE]

  • 刪除外鍵約束

    • 啓用/禁用:
      alter table table_name
      DISABLE|ENABLE CONSTRAINT constraint_name
    • 刪除 :
      alter table table_name
      DROP CONSTRAINT constraint_name

唯一約束(允許有空值且可以有多個)

  • 在創建表時設置唯一約束

    • 在字段類型後加上 UNIQUE
    • 在所有字段創建完後
      CONSTRAINT constraint_name UNIQUE(column_name)
  • 在修改表時添加唯一約束

    alter table table_name
    ADD CONSTRAINT constraint_name
    UNIQUE(column_name);

  • 刪除唯一約束
    同外鍵約束一樣


檢查約束

  • 在創建表時設置檢查約束

    • 在字段類型後加上 CHECK(expressions)
    • 在所有字段創建完後
      CONSTRAINT constraint_name
      CHECK(expressions)
  • 在修改表時添加檢查約束

    alter table table_name
    ADD CONSTRAINT constraint_name
    CHECK(expressions);

  • 刪除檢查約束
    同上


-查詢

  • 在SQL*PLUS中設置格式(可簡寫COL)

    • COLUMN column_name HEADING new_name
    • COLUMN column_name FORMAT dataformat
      例:(字符類型)col username format a10
      (數值類型)col salary format $999.9
      (將原長度很長的用戶名設置成在顯示的時候只顯示10個字節的長度)
  • 清除之前設置的格式

    COLUMN column_name CLEAR

  • 對查詢結果排序

    SELECT …FROM….[WHERE …]
    ORDER BY column1 DESC/ASC,…

  • CASE…WHEN 語句

    CASE column_name
    WHEN value1 THEN result1,…
    [ELSE rusult]
    END

  • decode函數

    decode(column_name,value1,result1,…,defaultvalue)


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