Oracle學習 資料維護

2021-06-16 08:56:41 字數 3956 閱讀 6776

當你需要進行下列操作時,dml語言被執行

增加新的一行到表中

修改表中已經存在的行

從表中刪除已經存在的行

乙個事務是由一組邏輯單元的dml語句所組成

insert語句語法

使用insert語句增加新的行到表中

insert into  table  [(column [,column…])]  values (value  [,value…]);

該語法一次只插入一行到表中

插入新的一行,每列都包含值

按照表中列的預設順序列出數值

在insert子句中列出列是可選的

insert into  departments(department_id,department_name,manager_id,location_id)

values (70,』public  relations』,100,1700);

將日期和字元數值放入單引號中

隱式方法:從列列表中將這些列忽略

insert into  departments  (department_id,department_name)  values(30,』purchsing』);

顯式方法:在values子句中指定null關鍵字

insert into  departments  values (100,』finance』,null,null);

sysdate函式記錄當前的日期和時間

insert into  employees(employee_id,first_name,last_name,email,phone_number,

hire_date,job_id,salary,commission_pct,manager_id,department_id)

values(113,』louis』,』popp』,』lpopp』,』515.124.4567』,sysdate,』ac_account』,6900,null,

205,100);

增加乙個新雇員

insert into  employees  values (114,』den』,』raphealy』,』drapheal』,』515.127.4561』,

to_date(『feb 3,1999』,』mon  dd,yyyy』),』ac_account』,11000,null,100,30);

從另外一張表拷貝行

在乙個子查詢中寫insert語句

insert into  sales_reps(id,name,salary,commission_pct)  select employee_id,

last_name,salary,commission_pct  from employees  where  job_id like 『%rep%』;

不要使用values子句

insert子句中插入列的數量要和子查詢中的數量相匹配

update語句語法

使用updata語句修改已經存在的行

update table  set  column = value  [,column = value,…]  [where condition];

如果需要,一次更新可以多於一行

如果你指定了where子句,指定你要修改的行

update employees  set  department_id = 70  where employee_id = 113;

如果你忽略了where子句,表中所有的行都被修改

update employees  set  department_id = 70;

更新雇員114的工作和工資記錄,以匹配雇員205

update employees  set  job_id  =  ( select   job_id   from  employees where  employee_id =205),salary =(select  salary  from employees  where  employee_id =

205) where  employee_id = 114;

在update語句中使用子查詢,基於另外一張表的值更新本表中的行

update copy_emp  set  department_id = (select  department_id from  employees

where employee_id = 100)  where  job_id  =  (select  job_id from  employees

where  employee_id = 200);

delete語句語法

你可以使用delete語句從乙個表中刪除已經存在的行

delete [from]  table  [where condition];

where子句中指定的行被刪除

delete from  departments  where department_name = 『finance』;

如果你忽略了where子句,表中所有的行都會被刪除

delete from  copy_emp;

在delete語句中使用子查詢,基於另外一張表的值刪除本表中的行

delete from  employees  where department_id  = ( select  department_id from

departments  where department_name  like  『%public%』);

在insert語句中使用子查詢

insert into  (select employee_id,last_name,email,hire_date,job_id,salary,

department_id  from employees  where  department_id =50)  values (99999,

『taylor』,』dtaylor』,to_date(』07-jun-99』,』dd-mon-rr』),』st_clerk』,5000,50);

Oracle資料安全的維護

oracle資料安全的維護 記得某位哲學家說過 事物的變化離不開內因和外因。那麼對於 oracle資料安全這個話題而言,也勢必分為 內 和 外 兩個部分。那麼好,我們就先從 內 開始說起 1.從oracle系統本身說起 我們先拋開令人聞風色變的 hacker 和其他一些外部的原因,先想一下我們的資料...

oracle維護服務

廣州賽姆科技資訊 sam 是一家本地化的 it服務外包 提供商,是 oracle 甲骨文 公司推薦的第三方oracle資料庫服務提供商。幫助客戶優化 oracle 資料庫 作業系統 網路系統,提高應用系統執行效率,保證基礎資料安全和顧客財產。廣州賽姆科技立足於廣州,業務輻射整個華南地區,客戶範圍主要...

Oracle 索引維護

一 索引的分析 根據oracle文件所描述,如下情況要考慮重建索引 1.analyze index your index name validate structure 2.查詢索引碎片 select name,del lf rows,lf rows,round del lf rows lf row...