數據庫的插入修改刪除操作


 

1、復制工作表(練習使用)

create table myemp as select * from emp where 1=1 -----1=1 1:1復制表

select * from myemp;

 

create table myyemp as select * from emp where 1=2----1=2 只復制表名

 

2、插入記錄

語法格式:

insert into 表名 (字段列表(列名))

value(值列表)

 

 insert into myemp (empno,ename,job,mgr,hiredate,sal,comm,deptno)

   values (7999,'小葵','前台',7369,'06-5-2019',2000,200,20);

 

 select * from myemp where empno=7999;--- 查詢員工信息

 

當插入的記錄部分信息為空值時--注:插入記錄時要注意插入的值和列名一一對應

方法一 

insert into myemp (empno,ename,job,hiredate,sal,deptno)

values (7993,'小葵111','后台','06-5-2019',2000,20);

select * from myemp

方法二

insert into myemp (empno,ename,job,mgr,hiredate,sal,comm,deptno)

values (7999,'小葵','前台',null,'06-5-2019',2000,null,20);

--1 若省略的字段列表,有空值時用 null 代替

--2 不省略時值列表的順序類型與字段列表順序一致

 

插入日期的格式

insert into myemp (empno,ename,job,mgr,hiredate,sal,comm,deptno)

values (7996,'張韶涵','音樂總監',null,to_date('20180823','yyyymmdd'),8000,200,30);

insert into myemp (empno,ename,job,mgr,hiredate,sal,comm,deptno)

values (7996,'張韶涵','音樂總監',null,to_date('2018-08-23','yyyy-mm-dd'),8000,200,30);

 

 

3、批量插入

語法格式

insert into 表名

select 字段列表 from 表名

where 條件   (empno,ename,job,mgr,hiredate,sal,comm,deptno)

 

create table lxy as select * from emp ---創建

insert into lxy select * from emp-----插入

insert into lxy select * from myemp where empno=7996---插入編號為7996一行信息

 

 

4、刪除

(1)delete from lx --刪除數據,保持表結構但可以回滾

(2)truncate table lx---刪除數據,保持表結構(字段列表),不可以回滾

(3)drop table lx; --直接刪除表,也把表結構刪除了,不可以回滾

 

語法格式

delete from 表名 where 條件

 

例:刪除員工7999的員工信息

delete from myemp where empno=7999---where用來指定刪除條件,否則會改變表中記錄

 

解釋

1事務,工作的一個邏輯單位,由一個或多個sql語句組成

2回滾,rollback 是撤銷未提交事務中sql語句中所做的數據修改

3提交,commit 事務提交之后就說明sql語句所執行的改變將永久化

 

5、數據更新

語法格式

update 表名 set 要修改的字段(列名)=新值,要修改的字段=新值......

where 條件                     -------where限定條件,一定不能忘用來指定修改條件

 

例:給員工7999獎金再加100

update myemp set comm=300

where empno=7998

 

關聯更新

update emp a set deptno=(select b.deptno from dept b where b.deptno=a.deptno)

where exists (select 1 from dept b where b.deptno=a.deptno)

 

6、merge:插入/更新

create database link link_zwz connect to scott identified by tiger using 'zwz'

grant create database link to scott

 

merge into 表名 a

using (select * from 表名@數據庫連接名) b

on (a.empno=b.empno)

when matched then 

  update  set a.ename=b.ename where a.ename!= b.ename

when not matched then

  insert (a.empno,a.ename) values (b.empno,b.ename)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM