Oracle入門之對表內容的dml操作
oracle表的管理--添加數據
使用insert語句向表中插入數據
插入數據基本語法:
insert into table[(column [,column...])] values(value [,value...]);
insert into 表名[(列名 [,列名2...])] values(值 [,值2...]);
註意事項:
1、插入的數據應與字段的數據類型相同。
2、數據的大小應在列的規定範圍內,例如:不能將一個長度為80的字符串加入到長度為40的列中。
3、在values中列出的數據位置必須與被加入的列的排列位置相對應。
4、字符和日期型數據應包含在單引號中。
5、插入空值,不指定或insert into table values(null);
6、給表的所有列添加數據時,可以不帶列名直接添加values值。
oracle表的管理--修改數據
使用update語句修改表中數據。
Update語句基本語法:
update tablename set columnname=expr1 [,columnname2=expr2,...][where where_definition];
update 表名 set 列名=表達式 [,列名2=表達式2,...][where 條件];
註意事項:
1、update語法可以用新值更新原有表行中的各列;
2、set子句指示要修改哪些列和要給予哪些值;
3、where子句指定應更新哪些行。如沒有where子句,則更新所有的行。(特別小心)
對students中的數據進行修改
將張三的性別改成女
SQL>update students set sex=‘女‘ where name=‘張三‘;
把張三的獎學金改為10
SQL>update students set fellowship=10 where name=‘張三‘;
把所有人的獎金都指高10%
SQL>update students set fellowship=fellowship*1.1;
向students添加數據
SQL>insert into students (id,name,sex,brithday,fellowship,resume) values(1,‘張三‘,‘男‘,‘11
-11月-01‘,23.34,‘hello‘);
SQL>insert into students values(2,‘李四‘,‘男‘,‘11-11月-02‘,67.34,‘hello2‘);
SQL>insert into students values(3,‘王五‘,‘女‘,‘11-11月-03‘,671.34,‘hello3‘);
插入部分字段與插入空值,語法是一樣的。只是要註意,當字段設置可為空時,可以不用將字段列出。否則就需要將字段名和值添加進去。否則報錯,具體參見上述插入數據6點註意事項。
insert into table[(column [,column...])] values(value [,value...]);
oracle表的管理--刪除數據
基本語法:
delete from TABLENAME [where where_definition];
delete from 表名 [where 條件表達式];
註意事項:
1、如果不使用where子句,將刪除表中所有的數據。(特別註意)
2、delete語句不能刪除某一列的值(可使用update)。
3、使用delete語句僅刪除記錄,不刪除表本身。如要刪除表,使用drop table語句。
4、同insert和update一樣,從一個表中刪除記錄將引起其它表的參照完整性問題,在修改數據庫數據時,頭腦中應始終不要忘記這個潛在的問題。
刪除的幾種方法比較:
delete from 表名;
刪除所有記錄,表結構還在,寫日誌,可以恢復的,速度慢
drop table 表名;
刪除表的結構和數據
delete from student where xh=‘A001‘;
刪除一條記錄
truncate table 表名;
刪除表中的所有記錄,表結構還在,不寫日誌,無法找回刪除的記錄,速度快。
設置保存點
savepoint 保存點名稱;
回滾
rollback to 保存點名稱;
特別註意:設置保存點及回滾操作是配合delete語句使用,用來找回使用delete刪除的數據。而通過truncate刪除的表數據是無法通過此方法找回的。
建議:
在使用delete刪除表數據前使用savepoint設置保存點,防止數據誤刪除。
Oracle入門之對表內容的dml操作