例:為test表增加一列Age,用來存放年齡
sql>alter table test
add (Age number(3));
修改基表列定義命令如下:
ALTER TABLE 表名
MODIFY (列名 數(shù)據(jù)類型)
例:將test表中的Count列寬度加長為10個(gè)字符
sql>alter atble test
modify (County char(10));
b、將一張表刪除語句的格式如下:
DORP TABLE 表名;
例:表刪除將同時(shí)刪除表的數(shù)據(jù)和表的定義
sql>drop table test
c、表空間的創(chuàng)建、刪除
六、ORACLE邏輯備份的SH文件
完全備份的SH文件:exp_comp.sh
rq=` date +"%m%d" `
su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp"
累計(jì)備份的SH文件:exp_cumu.sh
rq=` date +"%m%d" `
su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp"
增量備份的SH文件: exp_incr.sh
rq=` date +"%m%d" `
su - oracle -c "exp system/manager full=y inctype=incremental file=/oracle/export/db_incr$rq.dmp"
root用戶crontab文件
/var/spool/cron/crontabs/root增加以下內(nèi)容
0 2 1 * * /oracle/exp_comp.sh
30 2 * * 0-5 /oracle/exp_incr.sh
45 2 * * 6 /oracle/exp_cumu.sh
當(dāng)然這個(gè)時(shí)間表可以根據(jù)不同的需求來改變的,這只是一個(gè)例子。
七、ORACLE 常用的SQL語法和數(shù)據(jù)對象
一.數(shù)據(jù)控制語句 (DML) 部分
1.INSERT (往數(shù)據(jù)表里插入記錄的語句)
INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);
INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;
字符串類型的字段值必須用單引號括起來, 例如: ’GOOD DAY’
如果字段值里包含單引號’ 需要進(jìn)行字符串轉(zhuǎn)換, 我們把它替換成兩個(gè)單引號''.
字符串類型的字段值超過定義的長度會(huì)出錯(cuò), 最好在插入前進(jìn)行長度校驗(yàn).
日期字段的字段值可以用當(dāng)前數(shù)據(jù)庫的系統(tǒng)時(shí)間SYSDATE, 精確到秒
或者用字符串轉(zhuǎn)換成日期型函數(shù)TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)
TO_DATE()還有很多種日期格式, 可以參看ORACLE DOC.
年-月-日 小時(shí):分鐘:秒 的格式Y(jié)YYY-MM-DD HH24:MI:SS
INSERT時(shí)最大可操作的字符串長度小于等于4000個(gè)單字節(jié), 如果要插入更長的字符串, 請考慮字段用CLOB類型,
方法借用ORACLE里自帶的DBMS_LOB程序包.
INSERT時(shí)如果要用到從1開始自動(dòng)增長的序列號, 應(yīng)該先建立一個(gè)序列號
CREATE SEQUENCE 序列號的名稱 (最好是表名+序列號標(biāo)記) INCREMENT BY 1 START WITH 1
MAXVALUE 99999 CYCLE NOCACHE;
其中最大的值按字段的長度來定, 如果定義的自動(dòng)增長的序列號 NUMBER(6) , 最大值為999999
INSERT 語句插入這個(gè)字段值為: 序列號的名稱.NEXTVAL
2.DELETE (刪除數(shù)據(jù)表里記錄的語句)
DELETE FROM表名 WHERE 條件;
注意:刪除記錄并不能釋放ORACLE里被占用的數(shù)據(jù)塊表空間. 它只把那些被刪除的數(shù)據(jù)塊標(biāo)成unused.
如果確實(shí)要?jiǎng)h除一個(gè)大表里的全部記錄, 可以用 TRUNCATE 命令, 它可以釋放占用的數(shù)據(jù)塊表空間
TRUNCATE TABLE 表名;
此操作不可回退.
3.UPDATE (修改數(shù)據(jù)表里記錄的語句)
UPDATE表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 條件;
如果修改的值N沒有賦值或定義時(shí), 將把原來的記錄內(nèi)容清為NULL, 最好在修改前進(jìn)行非空校驗(yàn);
值N超過定義的長度會(huì)出錯(cuò), 最好在插入前進(jìn)行長度校驗(yàn)..
注意事項(xiàng):
A. 以上SQL語句對表都加上了行級鎖,
確認(rèn)完成后, 必須加上事物處理結(jié)束的命令 COMMIT 才能正式生效,
本新聞共
8頁,當(dāng)前在第
5頁
1 2 3 4 5 6 7 8