oracle數據庫中的對錶中字段的增刪改查
本文中的例子是在用戶以scott登錄scott賬戶後,纔可進行的操作
一、增 insert
語法:
INSERT INTO table [(column [, column...])] VALUES(value [, value...]);
例子:
插入一行:
insert into dept values(70,'PUBLIC','SHANGHAI');
insert into dept(deptno,dname,loc) values(70,'PUBLIC','SHANGHAI');
插入帶NULL值
insert into dept(deptno) values(80);
insert into dept values(90,null,null);
插入特殊的值:系統時間
insert into emp(empno,ename,hiredate) values(8000,'XXXX',sysdate);
insert into emp(empno,ename,hiredate) values(8001,'XXXX',to_date('20010506','yyyymmdd'));
插入其他表中的值
create table d as select * from dept where 1=2;//用dept表的字段作爲d表的字段創建表d
insert into d select * from dept;//將查詢結果插入到d表中
insert into d(deptno) select deptno from dept where deptno=40;
二、刪 delete
語法:
DELETE [FROM] table [WHERE condition];
例子:
delete d where deptno=40;
delete d ;//刪除整表的數據
三、改update
語法:
UPDATE table
SET column = value [, column = value, ...]
[WHERE condition];
例子:
update d set dname='XXX' where deptno=40;
update d set dname='YYY'
update d set dname='XXX',loc='YYYY' where deptno=40;
四、查select
select語法
:
SELECT [ ALL | DISTINCT ] <字段表達式1[,<字段表達式2[,…]
FROM <表名1>,<表名2>[,…]
[WHERE <篩選擇條件表達式>]
[GROUP BY <分組表達式> [HAVING<分組條件表達式>]]
[ORDER BY <字段>[ASC | DESC]]
sql各子句的執行順序:
1. FROM
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. ORDER B
五、oracle 行鎖
oracle允許單用戶多任務
oracle不保存髒數據,在commit之間的數據屬於髒數據,
另外的用戶看不到爲commit的數據
當進行insert和update和delete修改數據庫中的數據時,(DML)
在未commit前修改的數據行處於鎖定狀態,另一個用戶的其他操作不能操作
如果是DDL操作,則會commit前面執行的DML操作
行鎖在commit和exit後解除
如果是非正常關閉,則會執行rollback操作