DML 資料操控語言

2022-08-02 04:12:07 字數 3216 閱讀 9428

一、dml資料操作語言  (dql  select )

主要用於檢索、插入和修改資料庫資訊。它是最常用的sql命令,如insert(插入)、update(更新)、select(選擇)、delete(刪除)。

1、insert插入語句:

語法

insert into tablename[column1[,column2...]]

values (value1[,value2...]);

說明:insert into:為插入的關鍵字。

tablename:表示要插入的表。

column1:可選引數,表示要插入的列,多個列使用,分隔。

values(value1..):插入的值,這裡的value1,必須和前面的列相對應,如果不寫列,則必須和表的結構一致。

例:  

--建立學員資訊表,並新增約束 create tablestuinfo (   stuname varchar2(20) not null constraint pk_name primary key,   stupass varchar2(20) not null constraint ck_pass check (length(stupass) > 3),   stuage number(3,0) not null constraint ck_age check (stuage>18),   birthday date defaultsysdate )

向學員資訊表中插入資料

--向學生表中插入一條記錄 insert intostuinfo(stuname,stupass,stuage,birthday) values ('張三','123123',20,default)

--新增自定義日期型別的資料 insert intostuinfo values ('李四','123456',25,to_date('1999-9-20','yyyy-mm-dd'))

注意事項:

1)插入的列必須和插入的值一一對應,包括資料型別,個數,順序必須要全一致。

2)如果資料表中包含了預設值,則可以使用default關鍵字插入預設值。

3)插入的資料必須滿足資料約束。否則插入失敗。

4)插入的列可以省略,但是必須按照表中列的順序插入資料。

5)通過to_date完成對日期函式資料的新增。

6)插入字串型別必須使用'包含起來。

插入多行記錄:

(1、insert..into...select...生成自定義資料

--一次插入多行資料,通過union關鍵字拼接查詢 insert intostuinfo(stuname,stupass,stuage,birthday) select '王五','888888',20,to_date('1999-8-8','yyyy-mm-dd') from dual union select '趙六','666666',25,to_date('195-8-20','yyyy-mm-dd') from dual

將多個查詢結果拼接起來一次插入資料庫,這裡查詢的型別資料必須和插入的資料型別和順序完全一致。

(2、insert..into...select...將已經存在表的記錄插入到新錶中

insert intostuinfo (stuname,stupass,stuage,birthday) select name,pass,age,sysdate from backuser

將查詢結果插入到乙個已經存在的表中,如果表不存在則報錯。

(3、select...into...

--將查詢到的資料生成乙個新的表

create table backuser as selectstuname,stupass,stuage,birthday from stuinfo

將查詢到的結果插入到一張新錶中,表必須不存在,如果存在則報錯。

2.update 語句(更新)

語法:update table set 列名1=『 值』,列名2=『 值』……

where 條件;

例子: 

--將趙六的密碼修改為8個6,然後將出生日期改為1989-5-20

updatestuinfo

set stupass='666666',

birthday=to_date('1989-5-20','yyyy-mm-dd') --插入日期需要進行格式轉換

where stuname = '趙六' --指定修改資料的條件,條件不滿足不執行任何操作

commit; --執行完畢後自動進行提交

注意:1)修改的資料同樣必須滿足資料庫中的約束。

2)修改後的資料如果在plsql中需要使用comit提交事務,資料才算修改成功。

3)修改後的條件需要跟上,否則是修改表中所有記錄。

3、刪除語句

1)delete語法:

delete [from] tablename

[where condition];

說明:delete [from]:為刪除的關鍵字。from可以省略不寫。

tablename:要刪除資料的表。

where condition:要刪除資料的條件,不寫則刪除表中所有記錄

例:delete 表名 where 列名=『值  a』;  --刪除列名為 a 的一行資料

delete  表名;  --刪除該中所有的資訊

2)truncate table 清空表

語法:truncate tablename;

說明:truncate:清空關鍵字。

tablename:要清空的表明。

例:  

truncate table es_product;   --清空 es_product 表中的所有資訊

delete和truncate的區別:

a)truncate快速刪除記錄並釋放空間,不適用事務處理,因此無法回滾,而delete命令可在執行刪除之後,通過rollback撤銷刪除。

b)truncate將刪除表中的所有記錄,而delete不僅可以刪除表中的記錄,還可以通過where條件刪除表中的部分資料。

DML 資料操作語言

本小白日常oracle學習總結,若有錯誤望海涵,並希望大神能指點迷津 開發中使用的部分 主要指資料庫的查詢與更新 例如 select,update,查詢該使用者下的所有表 select from tab查詢某乙個表的表結構 desc 表名 select子句中可以直接使用四則運算 select子句對應...

DML 資料操作語言

dml的具體內容 1.插入資料 名字sql語句 注意說明 完全插入 insert into 表名 列名1,列名2,values 列值1,列值2,在表名後給出要插入的列名,在values後面給出列值,值得順序和個數必須與前面指定的列對應。不完全插入 insert into 表名 列名1 values ...

資料操作語言 DML

插入語句 insert 修改語句 update 刪除語句 delete 簡介 插入語句 語法 insert into 表名 列名.values 值.注意 插入的值的型別必須與列的型別一致或相容。不可以為null的列必須插入值,可以為null的值插入資料時列和值都不寫,如果列有的話用null值填充。列...