[Oracle命令] 表管理
Oracle表管理
一、Oracle資料庫資料型別
二、建立表
1.語法如下:
CREATE TABLE [ schema.]table_name (
Column_name data_type [ DEFAULT expression ] [ constraint ]
[ , column_name data_type [ DEFAULT expression ] [ constraint ] ]
[ , column_name data_type [ DEFAULT expression ] [ constraint ] ]
[ , . . . ]
);
> schema 指定表所屬的使用者名稱,或者所屬的使用者模式名稱
2.建立MYBOOK表,並指定其表空間
SQL > create table MYBOOK(
2 bookid number(10) not null,
3 bookname varchar2(40),
4 author varchar2(40),
5 press varchar2(40),
6 bookprice number(4,2),
7 presstime date,
8 constraint book1_pk primary key(bookid)
9 ) tablespace temp0310;
Table created.
3.檢視MYBOOK表資訊
1)檢視MYBOOK表的結構資訊
SQL> desc mybook
Name Null? Type
----------------------------------------- ------------------------------------
BOOKID NOT NULL NUMBER(10)
BOOKNAME VARCHAR2(40)
AUTHOR VARCHAR2(40)
PRESS VARCHAR2(40)
BOOKPRICE NUMBER(4,2)
PRESSTIME DATE
2)檢視MYBOOK表中的列資訊
SQL> !
column column_name format a15;
column data_type format a10;
select column_name, data_type, data_length,data_precision,data_scale
from user_tab_columns
where table_name = 'MYBOOK';
[email protected]:~$ exit
SQL> @user_tab_col.sql
COLUMN_NAME DATA_TYPE DATA_LENGTHDATA_PRECISION DATA_SCALE
--------------- ---------- ----------- -------------- ----------
BOOKID NUMBER 22 10 0
BOOKNAME VARCHAR2 40
AUTHOR VARCHAR2 40
PRESS VARCHAR2 40
BOOKPRICE NUMBER 22 4 2
PRESSTIME DATE 7
6 rows selected.
4.指定表的模式
schema指定表所屬的使用者名稱,或者所屬的使用者模式名稱
SQL> create table system.mybook2(
2 bookid number(10) not null,
3 bookname varchar2(40),
4 constraint book2_pk primary key (bookid)
5 );
Table created.
SQL> desc system.mybook2;
5.查詢預設表空間
1)建立表時沒有指定表空間,將使用預設表空間
SQL> select default_tablespace from user_users;
DEFAULT_TABLESPACE
------------------------------
SYSTEM
2)通過USER_TABLES檢視查看錶與表空間的對應關係
SQL> select table_name, tablespace_name
2 from user_tables;
TABLE_NAMETABLESPACE_NAME
---------- ----------------------
MYBOOKTEMP0310
MYBOOK2SYSTEM
. . .
936 rows selected.
三、修改表
對錶的修改操作主要有以下幾方面:
-
增加或者刪除列
-
更新列
-
對錶進行重新命名
-
將表移動到另外一個表空間
-
刪除表
1.增加和刪除列
1) 增加列ALTER TABLE ... ADD
SQL> alter table system.mybook2 add presstime date;
Table altered.
SQL> desc system.mybook2;
NameNull?Type
------------------------------------------------- ----------------------------
BOOKIDNOT NULLNUMBER(10)
BOOKNAMEVARCHAR2(40)
PRESSTIMEDATE2) 刪除列ALTER TABLE ...DROP COLUMN
SQL> alter table system.mybook2 drop presstime;
Table altered.
SQL> alter table system.mybook2 drop (author, presstime); //刪除多列
Table altered.3)使用ALTER TABLE ...SET UNUSED
對一個表刪除大量列時,可以使用ALTER TABLE ...SET UNUSED將要刪除的列設定為UNUSED狀態代替刪除操作,從而降低系統的響應率。但其佔用的儲存空間並未被釋放。
SQL> alter table system.mybook2 set unused (press, presstime);
Table altered.
使用資料字典ALL_UNUSED_COL_TABS檢視被標記為UNUSED狀態的列的數量。
SQL> select * from all_unused_col_tabs;
OWNERTABLE_NAMECOUNT
------------------------------ ------------------------------ ----------
SYSTEMMYBOOK22
如果需要刪除標記為UNUSED的列,可以使用ALTER TABLE ...DROP UNUSED COLUMN語句SQL> alter table system.mybook2 drop unused column;
Table altered.
2.更新列
1)修改列名
語法如下:
ALTER TABLE table_name
RENAME COLUMN oldcolumn_name to newcolumn_name;
2)修改列的資料型別
執行更新列的資料型別操作時,需注意一下兩點:
-
一般情況下,只能將資料的長度由短改長,而不能由長改短
-
當表中沒有資料是,可以將資料的長度由長改短,也可以更改資料型別
修改列的資料型別(包括數字列的精度),語法如下:
ALTER TABLE table_name
MODIFY column_name new_datatype;
3)修改列的預設值
注:如果對某個列的預設值進行更新,更改後的預設值只對後面INSERT操作起作用,對先前的資料不起作用。
語法如下:
ALTER TABLE table_name
MODIFY (column_name DEFAULT default_value);
3.重命名錶ALTER TABLE ...RENAME
注:一般來說,使用者只能夠對自己所在模式中的表進行重新命名。
SQL> alter table system.mybook2 rename to goodbook;
Table altered.
對錶進行重新命名操作非常容易,但影響卻非常大。雖然Oracle可以自動更新資料字典中表的外來鍵、約束和表關係等,但是還是不能夠更新資料庫中的儲存程式碼、客戶應用已經依賴於該表的其他物件。所有對於表的重新命名操作,需要謹慎。
4.改變表的儲存表空間
將表移動到另外一個表空間ALTER TABLE ...MOVE
首先要檢視資料字典USER_TABLES,瞭解資料庫中的表空間資訊:
SQL> select tablespace_name,table_name from user_tables;
然後選擇將GOODBOOK表從SYSTEM表空間移動到TEMP031O表空間中:
SQL> alter table goodbook move tablespace TEMP0310;
5.刪除表定義DROP TABLE
刪除一個表定義是,該表及表中的資料也將被刪除。
SQL> drop table goodbook;
相關推薦
[Oracle命令] 表管理
Oracle表管理 一、Oracle資料庫資料型別 二、建立表 1.語法如下: CREATE TABLE [ schema.]table_name ( Column_name data_type [ DEFAULT expression ] [
Oracle分割槽表管理
–管理分割槽 應對哪種表應用分割槽功能; 1.大於2GB的表 2.含有1000萬條記錄以上的表,表中含有的資料越多,SQL操作的執行速度就會越慢。 3.將會含有大量資料的表。 4.強行拆分後可利於並行操作的表。 5
ORACLE分割槽表管理的一些筆記
分割槽表的管理筆記(僅限於對普通表,即堆表的分割槽管理,IOT跟CLUSTER TABLE不再討論範圍內) 1. 增加分割槽(add partition)語法是:alter table xxx add partition…需要注意的是如果分割槽中存在maxvalue或default分割槽add partit
Oracle的表創建和事務管理
有效 reat 整體 eat 解決 nec pat serializa 二進制文件 Oracle的表創建和事務管理 - CURD,根據查詢結果創建新表 - 事務管理 - 什麽是事務 ,為什麽要用事務 - SQL99事務隔離級別 - Oracle事務
oracle命令查看表結構及表索引
建表 函數 註意 數據 上下 dex oracle數據庫 str set --查看oracle數據庫的單個表結構 select dbms_metadata.get_ddl(‘TABLE‘,‘TABLE_NAME‘) from dual; 括號裏面有兩個參數,第一個參數是我們
Oracle【二維表管理:約束】
value light 成功 字段 註意 ont sed 刪除外鍵 img 1、簡單的表創建和字段類型最簡單的方式去創建表(沒有添加主鍵之類的約束條件)【Oracle的字段類型】number:數值類型--整數類型:number(a) 總長度a--小數類型:number(a,
Oracle學習——表空間管理(二)
一、使用CREATE TABLESPACE 語句建立表空間 檢視系統預設表空間的位置語句:select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#; 1.建立本地表空
ORACLE 臨時表空間管理
臨時表空間和臨時段 臨時表空間用於存放排序、臨時表等資料,其資訊不需要REDO,因此臨時表的DML操作往往比普通表產生的REDO少很多。臨時表資料變化不產生REDO,UNDO資料變化產生REDO。臨時段不僅僅存在於臨時表空間中,也可能存在普通表空間。比如通過CTAS建立一張表,新表的資料放在
oracle-dba-表空間與資料檔案管理
表空間與資料檔案管理 ORACLE資料庫應用系統ORACLE中介軟體DBMS資料檔案 邏輯結構:一個數據庫有多個表空間,一個表空間有多個段,一個段有多個區段,一個區段有多個數據塊,一個數據塊有多個作業系統資料庫塊 物理結構:一個表空間有多個數據
oracle system表空間的管理
1、空間管理(字典所在,定義資訊,不放使用者資料) 單個數據檔案即可 設定自動擴充套件,設定bigfile 2、system如何備份 必須歸檔下才能在open下完成備份 a、熱備 b、rman備 非歸檔下只能進行冷備 使用archive log
oracle 基礎和管理 如何判斷某個表中是否存在某個欄位?
問題 如何判斷某個表中是否存在某個欄位? 注意:表名和欄位名一定要大寫,否則結果不正確一: 檢查表名:select count(*) from user_TABLES where table_name = 表名(大寫);檢查欄位名:select count(*) from U
ORACLE 04 表的建立與管理
一、實驗目的 1、掌握使用OEM工具建立、修改和刪除表 2、掌握使用SQL語句建立、修改和刪除表 3、掌握使用SQL語句插入、修改和刪除資料 4、理解各種約束的作用,並能使用OEM和BQL命令為表建立各種約束 二、實驗內容 分別使用OEM和SQL 語
Oracle 11g常用管理命令
首先,以oracle使用者登陸。 1、啟動ORACLE資料庫: 進入sqlplus環境,nolog引數表示不登入:$sqlplus /nolog 以管理員模式登入:$sqlplus / as sysd
Oracle 11g RAC 管理常用命令
1、檢查 CRS 狀態[[email protected] ~]$ crsctl check crsCRS-4638: Oracle High Availability Services is onlineCRS-4537: Cluster Ready Servi
Oracle UNDO表空間的管理
undo表空間用於存放undo資料。當用戶執行DML操作時,undo資料被放在undo段,可以回退事物。執行一個事物時,新資料放在資料段中,如果事物存在問題,也可以用undo資料來恢復資料。Oracle的Undo有兩種方式: 一是使用undo 表空間,二是使用回滾段。
oracle-hr表查詢命令練習(超完整的select命令大全)
切換到 oracle的 hr使用者下面練習 1. 查詢工資大於12000的員工姓名和工資 Select initcap(concat(last_name,first_name)) "姓名",salary from employees where salary>
Oracle:本地管理表空的由來
在Oracle8I的版本中,Oracle推出了一種全新的表空間管理方式:本地化管理的表空間。所謂本地化管理,
oracle:本地管理表空間,管理機制
表空間是一種為段(表,索引等)提供空間的邏輯結構,所以,當在表空間中增加,刪除段的時候,資料庫就必須跟蹤這些
chkconfig命令(管理開機自啟)
com 把他 目錄 rc.local pcb 設置ip 重啟 init.d evel 提供了一個簡單的命令行工具來維護/etc/rc[0-6].d目錄層次結構通過減輕系統管理員的直接操作任務,在這些目錄中的許多符號鏈接。僅是簡單的改變了符號鏈接,而非立即啟動或禁止一個服
oracle em企業管理器的安裝、配置及相關問題
密碼 技術分享 分享 control spa alt .com 企業管理 gre 2017-05-10 一、配置ORACLE_UNQNAME環境變量 二、重建EM資料庫:emca -repos recreate 三、配置EM賬號密碼:DBSNMP、SYSMAN 四、配置EM