oracle中用SQL語句建立和管理表

來源:互聯網
上載者:User

標籤:

表名和列名的命名規則
 必須以字母開頭
 必須在1-30個字元之間
 只能包含A-Z,a-z,0-9,_,$,#
 不能與使用者定義的其它對象重名
 不能使用ORACLE的保留字

建立前具備的條件:
 CREATE TABLE許可權

建表時必須指定:
 表名
 列名,列的資料類型,最大長度

資料類型:
 varchar2(size) 變長字元型(最大長為4000字元)
 char(size)  定長字元型(最大2000字元)
 number(p,s)  數值型
 date   日期型
 long   變長大字元型(最大2G)
 CLOG   大字元型(最大4G)
 raw    裸位元據(最大2000字元)
 long raw  裸位元據(最大2G) 
 blob   位元據,最大4G
 bfile   外部二進位檔案,最大4G
 

類型 含義 儲存描述 備忘
CHAR 固定長度字串 最大長度2000bytes  
VARCHAR2 可變長度的字串, 最大長度4000bytes 可做索引的最大長度749
NCHAR 根據字元集而定的固定長度字串 最大長度2000bytes  
NVARCHAR2 根據字元集而定的可變長度字串 最大長度4000bytes  
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS),經過嚴格測試,無千蟲問題  
TIMESTAMP 日期(日-月-年) DD-MM-YY(HH-MI-SS:FF3),經過嚴格測試,無千蟲問題 與DATE相比較,TIMESTAMP有小數位秒資訊
LONG 超長字串 最大長度2G,足夠儲存大部頭著作  
RAW 固定長度的位元據 最大長度2000bytes 可存放多媒體圖象聲音等
LONG RAW 可變長度的位元據 最大長度2G 可存放多媒體圖象聲音等
BLOB 位元據 最大長度4G  
CLOB 字元資料 最大長度4G  
NCLOB 根據字元集而定的字元資料 最大長度4G  
BFILE 存放在資料庫外的位元據 最大長度4G  
ROWID 資料表中記錄的唯一行號 10bytes ********.****.****格式,*為0或1
NROWID 位元據表中記錄的唯一行號 最大長度4000bytes  
NUMBER(P,S) 數字類型 P為整數位,S為小數位  
DECIMAL(P,S) 數字類型 P為整數位,S為小數位  
INTEGER 整數類型 小的整數  
FLOAT 浮點數類型 NUMBER(38),雙精確度  
REAL 實數類型 NUMBER(63),精度更高


建立文法:
 create table [schema.]tablename
 (column datatype [default expr] [constaint],
 ....)

查看錶結構:
 desc tablename
 
oracle表的類型
 使用者自訂表格
 資料字典
  oracle 自動建立的一組表
  包含了資料庫的自身資訊,用於管理和維護資料庫用

 關於表的資料字典:
  user_catalog,all_catalog,dba_catalog,
  user_tables,all_tables,dba_tables,

 user_tables 自已建的表
 all_tables 自已可以訪問的表
 dba_tables 資料庫中所有的表

如何複製一個表
 複製整個表:
  create table emp as select * from scott.emp;
 複製表結構:
  create table emp2 as select * from scott.emp where 1=2;
 
 
如何查看一個表佔用的磁碟空間:
 dba_extents,
 dba_segments


 insert into emp select * from emp;

 select SEGMENT_NAME,SUM(BYTES)/1024/1024
 from dba_extents where SEGMENT_NAME=‘EMP‘ AND OWNER=‘SYS‘
 GROUP BY SEGMENT_NAME;

  SELECTOWNER,SEGMENT_NAME,SEGMENT_TYPE,
 TABLESPACE_NAME,bYTES/1024/1024
   FROM DBA_SEGMENTS WHERE SEGMENT_NAME=‘EMP‘;
 
資料字典中更新表資訊
 exec dbms_stats.gather_table_stats(‘SCOTT‘,‘TEST‘);

 

修改表:
 添加新列
 alter table tablename
 add (column datatype [default expr]);


 刪除列:
 alter table tablename
 drop column colname

 列改名:
 alter table tablename
 rename column colname to new_colname

 表改名:
 alter table tablename rename to new_tablename
 rename test2 to test

 修改列的資料類型,尺寸和預設值
 alter table tablename
 modify (column datatype [default values])

 將列標記為不可用:
 alter table tablename
 set unused(column)

 刪除表
 drop table tablename
 
 截斷表(刪除所有記錄,保留表結構)
 truncate table tablename

 表加註釋
 comment on table tablename is ‘...注釋內容...‘


 列加註釋
 comment on column tablename.column is ‘......‘


 與注釋相關的資料字典
 all_col_comments
 user_col_comments

 all_tab_comments
 user_tab_comments

關於表結構的資料字典:
 dba_tab_columns


使用空值和預設值
 隱式:插入記錄時,不指定欄位,不指定值
 顯示:插入記錄時,空值欄位填null,預設值欄位填default

 

參:http://blog.sina.com.cn/s/blog_690d63f80100jiq4.html

oracle中用SQL語句建立和管理表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.