當新增、更改或者刪除資料庫中的資料時需要使用dml語句。dml依據的乙個集合構成了乙個被稱之為事務的邏輯單元;
當完成以下操作是,dml語句被執行:
新增新的行到表中;
修改表中的行;
刪除表中的行;
一、新增乙個新行到表中insert語法(每次只能插入一行)
指定列新增(以hr使用者中的departments表為例)
例
向departments 表中新增一條資料。department_id=280,department_name = teaching,manager_id=180,location_id =2000;
insert into departments(department_id , department_name , manager_id , location_id) values(280,』teaching』,180,2000);
完全列新增(以hr使用者中的departments表為例)
例
向 departments 表中新增一條資料。 department_id=290,department_name = development,manager_id=149,location_id =2000;
insert into departments values(290,』development』,149,2000);
插入空值的行1.隱式方法省略字段列表中的列;
(以hr使用者中的departments表為例)
例
向 departments表中新增一條資料。department_id=300,department_name = youtuber,其他為空值;
insert into departments(department_id , department_name) values(300,』youtuber』);
2.顯示方法在values子句中指定null關鍵字;
(以hr使用者中的departments表為例)
例
向 departments表中新增一條資料。department_id=310,department_name = singer,其他為空值;
insert into departments(department_id , department_name , manager_id , location_id) values(310,』singer』,null,null);
插入日期值(以hr使用者中的departments表為例)
例
新增乙個新的雇員;
1.入職時間為當前系統時間;
insert into employees values(300,'pang','danfu','qq','187.343.9024',sysdate,'sa_rep',2500.00,null,149,null);
2.入職時間為預設格式時間;
insert into employees values(301,'pang','danfu','yahoo','080.4417.0816','20/12/12','sa_rep',7500.00,null,149,null);
3.入職時間為指定格式時間;
insert into employees values(302,'miwa','tetsu','gmail','070.2218.5391',to_date('2023年5月6日','yyyy"年"mm"月"dd"日"'),'it_prog',15000.00,null,102,300);
從另乙個表中複製行1.用乙個查詢寫insert語句;
2.不用values子句;
3.在查詢中列的數目要匹配insert子句中列的數目;
(以hr使用者中的employees表為例)
例
建立乙個空表emp,並將 employees 表中的 job_id 中含有 rep 的工作崗位的 資料插入到 emp 表中。
insert into emp select e.employee_id,e.last_name,e.salary,e.commission_pct from employees e where e.job_id like '%rep%' ;
使用預設值在insert中的default
(以hr使用者中的emp表為例)
例
1.在emp中的salary列中加入預設值1000,新增資料,id=302,name=hipi;
insert into emp(id,name) values(302,'hipi');
2.在emp中的salary列中加入預設值1000,新增資料,id=303,name=hibi;
insert into emp values(303,'hibi',default,null);
二、改變表中的資料
update語法用update語句修改已存在的行;
(以hr使用者中的emp表為例)
例
更新 emp 表中 id 為 155 的資料,將名字修改為 tetsuhisa,薪水修改 17500。
update emp set name = 『tesuhisa』 , salary = 17500 where id = 155;
用查詢更新列(以hr使用者中的emp表為例)
例
更新 emp 表中的雇員 165 的薪水,使其和雇員 156 相同。
update emp set salary = (select salary from emp where id = 156) where id = 165;
三、從表中刪除行
delete語句使用delete語句從表中刪除已存在的行;
(以hr使用者中的emp表為例)
例
刪除 emp 表中 id 為 301 的雇員。
delete emp where id = 301;
刪除基於另乙個表的行(以hr使用者中的emp表為例)
例
刪除 emp 表中薪水與 st_clerk 崗位相同的薪水。
delete emp where salary in(select salary from employees where job_id = 『st_clerk』);
刪除表中全部的資料;如果再刪除語句中沒有給定任何條件,那麼資料庫將會刪除該表中的所有資料;
(以hr使用者中的emp表為例)
例
刪除表中全部的資料;
delete emp;
刪除行:完整性約束錯誤SQL運算元據
1.sql的組成 dml 資料操作語言 插入 刪除和修改資料庫中的資料 insert update delete等 dcl 資料控制語言 用來控制儲存許可 儲存許可權等 grant revoke等 dql 資料查詢語言 用來查詢資料庫中的資料 select等 ddl 資料定義語言 用來建立資料庫 資...
運算元據 SQL
color red size large align center 使用sql從表中取記錄。align size color sql的主要功能之一是實現資料庫查詢。如果你熟悉internet 引擎,那麼你已經熟悉查詢了。你使用查詢來取得滿足特定條件的資訊。例如,如果你想找到有asp資訊的全部站點,你...
用SQL語句運算元據
語法 insert into 表名 列名列表 values 值列表 insert into 表名 列表名1,列表名2,列表名3,列表名4 select 值列表1,值列表2,值列表3,值列表4 from 插入的表名 select 列表名1,列表名2,列表名3,列表名4 into addresslist...