oracle筆記(十六)DML數據操作語言

DML(Data Manipulation Language – 數據操作語言) 可以在下列條件下執行:

         向表中插入數據

         修改現存數據

         刪除現存數據

1、插入語句

使用 INSERT 語句向表中插入數據。

INSERT INTO       table [(column [, column...])]

VALUES                 (value [, value...]);

使用這種語法一次只能向表中插入一條數據

//users表中插入一條完整的記錄

SQL> insert into users(username,password,name,address,zip) values('kou','1234','xiaolin','保定',100089);

備註:如果是字符串加’’ 如果是數字可以加’’也可以不加è一般不加

SQL> commit;

注意:oracle數據庫在DOS命令中執行插入,修改等操作時,必須手動完成提交。否則不會(真正)插入成功。

在插入完整的記錄是users()中的表對應的字段可以省略不寫.但一定要與數據庫中表的結構對應纔行。

//users表中插入一條非完整的記錄

SQL> insert into users(username,password) values('xl','123');

//注意:在插入部分字段的時候,必須滿足的表的約束條件,否則會出現如下異常信息。

insert into users(username,password) values('xl','123')

RA-01400: 無法將 NULL 插入 ("RED"."USERS"."NAME")

SQL> insert into users(username,password,name) values('xl','123','曉林');

1 row inserted

SQL> commit; //必須手動提交

Commit complete

以上簡單總結如下:

l        爲每一列添加一個新值。

l        按列的默認順序列出各個列的值。

l        INSERT 子句中隨意列出列名和他們的值。

l        字符和日期型數據應包含在單引號中

補充知識點:

隱式方式: 在列名錶中省略該列的值

SQL> insert into users(username,password,name) values('xl','123','曉林');

顯示方式: VALUES 子句中指定空值。

SQL> insert into users  values('test','123','test',null,null);

常見面試題:

//備份一張表

SQL> create table usess as select * from users;

//清空表中的記錄

SQL> delete from usess;

//使用插入語句把users表中記錄插入到usess

SQL> insert into usess(username,password,name,address,zip) select username,password,name,address,zip from users;

SQL> commit

注意:

l        不必書寫 VALUES 子句。

l        子查詢中的值列表應於 INSERT 子句中的列名對應

2、更新數據

採用update語法進行更新數據:

語法如下:

  UPDATE                            table

  SET                    column = value [, column = value, ...]

  [WHERE                          condition];

備註:一次可以更新多條記錄

//更新數據:更新users 重新設置了passwrod 條件是唯一(主鍵是唯一)的條件。

SQL> update users set password='kouxiaolin' where username='kouxiaolin';

SQL> commit;

注意:當更新多個字段時,可以採用逗號進行區分.舉例如下:

SQL> update users set password='kouxiaolin', name='陳紅軍' where username='kxl';

SQL> commit;

備註:如果省略WHERE子句,則表中的所有數據都將被更新

SQL> update users set password='kouxiaolin', name='寇曉林';

6 rows updated

SQL> commit;

Commit complete

SQL> select * from users;

USERNAME      PASSWORD      NAME             ADDRESS             ZIP

-------------------- -------------------- -------------------- -------------------- -------

huxz               kouxiaolin          寇曉林            北苑家園          100012

liucy               kouxiaolin          寇曉林            清華園             100084

kouxiaolin          kouxiaolin         寇曉林            北京                100089

kkxl               kouxiaolin          寇曉林            北京                100089

kxl                  kouxiaolin          寇曉林                                

test                kouxiaolin          寇曉林                                 

6 rows selected

補充:在update語句中使用子查詢

//更新huxz的郵編與用戶liucy的郵編一致

SQL> update users set zip=(select zip from users where username='liucy') where username='huxz';

//備註:在更新數據的時候 where條件中也可以使用子查詢。

3、刪除數據

    在表中如果某些數據不再需要就可以使用delete語句進行刪除,並釋放該數據所佔用的存儲空間刪除語法如下:

DELETE [FROM]   table

[WHERE                  condition];

備註:delete語句只是從表中刪除數據,不會刪除表結構.刪除表結構採用drop語句。

注意:刪除表中的數據時,一定要考慮表的約束(否則會出現一些異常信息)

//清空表  delete from 表名 ||delete 表名 

//刪除數據 where條件與更新一致,必須保證唯一性(主鍵是唯一)條件

SQL> delete from users where username='test';

SQL> commit;

Commit complete

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章