程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle 常用操作總結,oracle總結

Oracle 常用操作總結,oracle總結

編輯:Oracle教程

Oracle 常用操作總結,oracle總結


1.oracle修改表名、列名、字段類型、添加表列、刪除表列 :

alert table scott.test rename to test1--修改表名
alter table scott.test rename column name to name1 --修改表列名
alter table scott.test modify name1 number(20) --修改字段類型
alter table scott.test add address varchar2(40) --添加表列
alter table scott.test drop name cascadeconstraints --刪除表列

 

2. 將一個表B的(某幾個字段的數據)復制到新表A(某幾個不同的字段)中:
insert into tableA (A, B) select C,D from tableB t;

 

3. 取出一個表集合,循環(更新,刪除,)另外一個表屬性(數據,注釋,結構),多用於數據表局部同步數據:
begin
for i in (select gy.sblx_mc, gy.sblx_dm from nd_gy_sblx gy) loop
execute immediate 'update nd_dm_sblx dm set dm.sblx_mc ='|| i.sblx_mc ||' set dm.sblx_jc='|| i.sblx_dm;
end loop;
end;

在字符串型的變量前面記得加 chr(39);

 

4. 更新字段數據為大寫(小寫):
  update nd_dm_sblx set sblx_jc = upper(sblx_jc);
  update nd_dm_sblx set sblx_jc = lower(sblx_jc);


5. 更新數據表字段順序(有兩種方法):

方法一:

a.將原表的建表SQL,通過查看表結構,粘貼下來;

b.將准備更新表字段順序的數據表全表更新到到臨時表中;

c.drop 掉你准備更新數據表;

d.修改你剛才粘貼出來的原表建表語句,修改其中的字段的順序為你想要的;

e.將臨時表中的數據更新到剛創建好的表,drop 掉臨時表;

 

方法二:

a.查看數據表物理ID;

select object_id from all_objects where owner='表的所有者' and object_name='具體的表';

b.通過上面的物理ID查看表的字段對應的物理順序;

select obj#,col#,name from sys.col$ where obj#=131347 order by col#;

c.更新對應的表字段的物理順序(這步更新需要數據庫超級管理員的權限,請慎用):

update sys.col$ set col#=5 where obj#=131347 and name='JKSE';

d.更新完畢之後,重啟數據庫;

兩種方法對比,如果你們項目是協同開發,一個數據庫是多個人在使用,方法二並不適合你,因為你要重啟數據庫,會耽誤別人的開發時間,如果你SQL 語句寫的比較熟練,第一種方法,只會占用你大概5分鐘的時間,就能夠辦到你的想法;

 

6. oracle的行標識符rowid與行號rownum:

ROWID是查詢出來的該行記錄的唯一物理地址,後面的rownum則是此次查詢結果的序號。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved