oracle中如何更改一個表的一個字段屬性(名稱,類型)


修改字段的屬性,名稱方法

--修改某一個字段的類型,當該字段不為null時
alter table 表名add 字段NUMBER(11,0default 0 not null;--添加表一個字段

ALTER TABLE 表名 ADD  字段 NUMBER(11,0) ; --新創建一列,期待的字段類型

UPDATE 表名 SET 字段_bak= 字段;COMMIT--復制舊字段值到新字段,dml的都需要提交

ALTER TABLE 表名DROP COLUMN 字段;--刪除掉舊字段

ALTER TABLE 表名RENAME COLUMN 字段_bakTO 字段;--修改新字段的名稱

alter table 表名drop column 字段; --刪除表一個字段

comment on  column t_evaluation.bonus_addition(table.字段) is 'xxx'';commit;

ALTER TABLE 表名 modify 字段名字  VARCHAR2(4000);

alter table 表名 add constraint  主鍵名 PRIMARY KEY ("字段1", "字段2", "字段3");

alter table 表名 modify 字段名 default 默認值;

操作過程中遇到的問題

場景:
  作為一個小白,剛接觸數據庫操作,今天在oracle中使用sql語句執行了deleteupdate命令,在本地數據庫中已執行成功,興致沖沖的向老大匯報任務時,但是他那邊查看並沒有刪除成功或更新數據庫,很是尷尬,為什么會出現這種不一致的情況呢?

原來是因為我執行命令后沒有commit提交,那么更新的內容只是被保存到內存中,而不是提交到數據庫中,將不會被其他Session(對話)看到,其他對話看到的是更新前的數據。當用戶退出對話時,Oracle才會自動commit

SQL語言分為五大類:
DDL(數據定義語言) - CreateAlterDrop 這些語句自動提交,無需用Commit提交。

DQL(數據查詢語言)- Select查詢語句不存在提交問題。

DML(數據操縱語言) - InsertUpdateDelete 這些語句需要Commit才能提交。

DTL(事務控制語言) - CommitRollback 事務提交與回滾語句。

DCL(數據控制語言) - GrantRevoke 授予權限與回收權限語句。

執行完DML語句,若沒有commit再執行DDL語句,也會自動commit未被commit的數據。

如果打開自動提交,DML操作后也不需要手動提交:SET AUTOCOMMIT ON;

sqlDevelop導出表的方法

https://blog.csdn.net/xgq8217/article/details/61194355
需要注意的時導出的編碼,如果只需要導出結構,可以取消勾選insert上面的復選框


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM