oracle学习笔记(九)Oracle数据的基本操作

一、数据增加

语法:

INSERT INTO 表名称 (字段名称,字段名称,......) VALUES(数据,数据,......);

注意点:

字符串:使用单引号 声明。例如:你好。 数值:直接编写。例如:100。 日期:有3种方式可以选择 可以设置为当前日期:SYSDATE。 根据日期的保存结构编写字符串:天-月-年。 可以利用TO_DATE()函数将字符串转换为DATE型数据。

1、增加数据的两种方法:

(1)使用完整语法书写:

(表名:STUDENT_TABLE,name, class, sex, birthday为表中的字段,小古 , 5年4班, 男 , TO_DATE( 1997 - 10 - 15 , yyyy - mm - dd )为他们对应的值)

INSERT INTO STUDENT_TABLE
  (name, class, sex, birthday)
VALUES
  (小古 , 5年4班,
   男 , TO_DATE(1997-10-15,yyyy-mm-dd));

(2)简化语法格式:

INSERT INTO STUDENT_TABLE VALUES
 (小古 , 5年4班,男 , 
TO_DATE(1997-10-15,yyyy-mm-dd));

注:使用简化的语法格式时,一定要注意VALUES中数据内容的顺序一定要和数据表中字段的顺序一致。

二、数据修改

语法:

UPDATE 表名称 SET 字段=内容,字段=内容,......WHERE 更新条件

示例1:将员工编号的7639的员工工资修改为810,佣金为100

UPDATE emp SET sal = 810,comm = 100 WHERE empno = 7369

这个示例,使用WHERE子句限制修改的记录为 empno = 7369。

示例2:将工资最低的员工工资修改为公司的平均工资

UPDATE emp SET sal = (SELECT AVG(sal) FROM emp) WHERE sal=(SELECT MIN(sal) FROM emp);

三、数据删除:

语法:

DELETE FROM 表名称 H=WHERE 删除条件 

示例1:删除员工编号为7369的员工信息

DELETE FROM emp WHERE empno = 7369;

示例2:删除若干个数据

DELETE FROM emp WHERE empno IN (7566,7788,7899);

上面代码中,在 WHERE 子句中使用 IN 运算符指定多个删除记录。此外删除操作本身也可以结合子查询完成。

示例3:删除公司中工资最高的员工

DELETE FROM emp WHERE sal = (SELECT MAX(sal) FROM emp);

三、事务处理

1、事务概念:

事务是保证数据完整性的一种手段。事务具备ACID原则(包括原子性、一致性、独立性及持久性),保证一个人在更新数据的时候,其他人不能更新。在Oracle中,SQL Plus是一个客户端。但是对于Oracle服务而言,每个SQL Plus客户端是独立的,都使用一个session描述。如图所示,所有的更新都暂存在缓冲区,直到提交为止。在没有提交之前,还可以使用回滚操作恢复数据的状态。

原子性(Atomicity) 事务的原子性是指事务中包含的所有操作要么全做,要么不做,也就是说所有的活动在数据库中要么全部反映,要么全部不反映,以保证数据库的一致性。 一致性(Consistency) 事务的一致性是指数据库在事务操作前和事务处理后,其中数据必须满足业务的规则约束。 隔离性(Isolation) 隔离性是指数据库允许多个并发的事务同时对其中的数据进行读写或修改的能力,隔离性可以防止多个事务的并发执行时,由于它们的操作命令交叉执行而导致数据的不一致性。 持久性(durability) 事务的持久性是指在事务处理结束后,它对数据的修改应该是永久的。即便是系统在遇到故障的情况下也不会丢失,这是数据的重要性决定的。

2、事务处理的两个核心命令:

    提交事务:COMMIT 回滚事务:ROLLBACK

真正使用COMMIT提交后才表示更新已经正常完成。所有的事务操作都需要被事务所保护。

经验分享 程序员 微信小程序 职场和发展