一、創(chuàng)建簡單表
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供防城港網(wǎng)站建設(shè)、防城港做網(wǎng)站、防城港網(wǎng)站設(shè)計、防城港網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、防城港企業(yè)網(wǎng)站模板建站服務(wù),十余年防城港做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
1.1 使用列規(guī)范創(chuàng)建表
語法:
CREATETABLE [schema.]tablename [ORGANIZATION HEAP]
(columndatatype [default expression]
[,columndatatype [default expression]]
);
注:DEFAULT字句可能很有用,但它功能很有限。
分析以下案例:
CREATETABLE SCOTT.EMP
(EMPNONUMBER(4),
ENAMEVARCHAR2(10),
HIREDATEDATE DEFAULT TRUNC(SYSDATE),
SAL NUMBER(7,2),
COMM NUMBER(7,2) DEFAULT 0.03
);
SET LONG9999
Select dbms_metadata.get_ddl('TABLE','EMP','SCOTT')FROM DUAL;
1.2 使用子查詢創(chuàng)建表
語法:
CREATETABLE [schema.]table AS subquery;
SQL>create tabel emp_copy as select * from scott.emp;
SQL>createtable emp_dept as select
Last_nameename,department_name dname,round(sysdate -hiredate) service
From employees nutural join departments orderby dname,ename;
創(chuàng)建一個沒有數(shù)據(jù)行的表:
SQL>createtable no_emps as select * from scott.emp where 1=2;
1.3.在創(chuàng)建表之后更改表的定義
(1)添加列
SQL>altertable emp add (job_id number(8));
(2)修改列
SQL>alter table emp modify (commission_pct number(6,2) default 0.05;
(3)刪除列
SQL>altertable emp drop column job_id;
(4)標(biāo)記未使用列
SQL>altertable emp set unused column job_id;
(5)重命名列
SQL>altertable emp rename column hire_date to hiredate;
(6)將表標(biāo)記為只讀
SQL>altertable emp read only;
(7)一次性刪除未使用的列
SQL>altertable emp drop unused columns;
1.4刪除表
語法:
Drop table [schema.]tablename;
SQL>droptable emp;
注:刪除表之前不會生成警告(任何DDL命令都一樣,他們包含了COMMIT),一般不可逆,在一定特定的情況下,可使用閃回技術(shù)和其他恢復(fù)技術(shù)。
1.5截斷表
語法:
Trancate table [schema.]tablename;
SQL>trancate table emp;
注:瞬間清空emp表,表中有一條記錄和一億條記錄的速度是一樣的。
1.6創(chuàng)建和使用臨時表
臨時表包含所有會話都可以訪問的定義,但其中的行是插入行的會話專用的。
語法:
Create global temporary table temp_tab_name
(columndatatype [,column datatype])
On commit{delete |preserve} rows;
列的定義與普通表沒有區(qū)別,末尾的可選句子確定插入的任何行的生命周期。默認(rèn)方式:在插入行的事務(wù)完成時,刪除相應(yīng)的行,但也可以更改此行為,以便將他們保留到插入行的會話結(jié)束為止。臨時表的數(shù)據(jù)是臨時的,專用于相應(yīng)的會話,針對其執(zhí)行的所有SQL命令速度遠(yuǎn)比針對永久表的命令塊。
速度快的原因:
(1)臨時表不是永久表空間中的段。
(2)針對臨時表的DML不生成重做數(shù)據(jù)。
【創(chuàng)建和使用臨時表案例】
(1)使用peenboo身份登錄,創(chuàng)建臨時表tmp_emp:
SQL>createglobal temporary table tmp_emp on commit preserve rows as select * from emp where 1=2;
(2)插入一些數(shù)據(jù):
SQL>Insertinto tmp_emp select * from emp where department_id=50;
SQL>commit;
(3)使用peenboo身份,啟動第二個SQLPLUS
SQL>selectcount(*) from tmp_emp;
SQL>insertinto tmp_emp select * from emp where department_id =60;
SQL>commit;
(4)在第一個會話中截斷表:
SQL>truncate table tmp_emp;
(5)在第二個會話中查詢,會話副本仍然包含行:
SQL>selectcount(*) from tmp_emp;
(6)在第二個會話中,演示會話終止并不會清除數(shù)據(jù)行。需要斷開連接再次連接。
SQL>disconnect;
SQL>connectpeenboo/dbbocom
SQL>selectcount(*) from tmp_emp;
當(dāng)前名稱:1Z0-051-DDL-1表和臨時表的創(chuàng)建和使用
瀏覽路徑:http://m.rwnh.cn/article34/jepepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、外貿(mào)網(wǎng)站建設(shè)、微信公眾號、虛擬主機(jī)、做網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)