oracle数据库中的对表中字段的增删改查

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操作

sql练习见附件

 

你可能感兴趣的:(oracle)