Oracle学习:数据的插入、修改和删除
DML :數據操作語言,對應增刪改查
一、數據插入
insert 語句:insert into tablename[col1,?] values(val1,?);
(1)插入全部列:插入一行數據,對應 3 列的數據分別是 51, ‘51name’ , ‘51loc’
(2)插入部分列:插入一行數據,在 deptno, dname 插入值,55, ‘55name’ ,該行其他列值默認為空
insert into dept(deptno, dname) values(55, '55name');(3)隱式插入 null
insert into dept(deptno,dname) values(52,'52name');(4)顯示插入 null
insert into dept(deptno,dname,loc) values(53,'53name',null);(5)&符號的使用
insert into dept(deptno, dname, loc) values(&t1, ?&t2?, &t3); // t1 是數值,t2 是字符串(6)拷貝表結構
create table tname_YYYY_MM_DD as select * from tname_xxxxx where 1=2; // where 條件為假,之拷貝表結構,為真,拷貝表(7)批量插入
insert into tname_bak select * from tname where .....;二、數據的修改
update tablename set 列 1=val1, 列 2=val where 條件;(1)修改 emp 表的員工名字為 TOM_CAT 的員工的薪水為原有薪水加 100
update emp set sal=sal+100 where ename='TOM_CAT';(2)修改 emp 表的員工名字為 TOM_CAT 的員工的薪水為原有薪水加空
update emp set sal=null where ename='TOM_CAT';注意:在 update 的時候, null 可以使用等號;并且一定要使用 where 條件,否則會修改表中所有的記錄
三、數據的刪除
通用語句:
delete from tablename where 條件在使用 delete 刪除的時候,一定要有 where 條件, 否則會刪除整個表的記錄
delete 和 truncate 的區別:
(1)delete 逐條刪除表"內容",其他不動,truncate 先摧毀表再重建。
(2)delete 可以閃回(flashback):做錯了一個操作并且 commit 了,對應的撤銷行為;truncate 不可以閃回。
(3)由于 delete 是逐條操作數據,所以 delete 會產生碎片,truncate 不會產生碎片。
(4)delete 不會釋放空間,truncate 會釋放空間。
(5)delete 可以回滾 rollback,truncate 不可以回滾 rollback。
(6)數據量非常大的時候,truncate 效率更高,但是不建議使用 truncate,因為會先摧毀表,所以過于危險.
總結
以上是生活随笔為你收集整理的Oracle学习:数据的插入、修改和删除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle学习:子查询 (sql 嵌套
- 下一篇: Oracle学习:事务的基本概念