一、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-20updatestuinfo
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值填充。列...