注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员小站

J2EE丨Spring | JVM | Scala

 
 
 

日志

 
 

数据的更新操作和事务  

2012-02-11 23:09:21|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

数据的更新操作(重点)

DML操作语法中,出查询还有更新操作:插入、修改、删除

oracle复制数据库表:create table myemp as select * from emp; 

 数据增加

INSERT INTO 表名【(字段1,字段2,····)】 VALUES(值1,值2···);

数字直接写,字符串用“’”引起来 ,时间用TO_DATE()函数

简便写法:INSERT INTO 表名 VALUES (1,值2,···);

要求值跟数据库表中的字段一一对应,如果没有值,用null

不建议使用,不便于维护。

 数据更新

UPDATE 表名 SET 更新字段1=1,更新字段2=2,··· where ···

如果没有where字句 则表示更行全部,不建议使用,速度慢。

所有人工资上涨50%

 update myemp set sal=sal*1.5;

 数据删除

DELETE FROM 表名 [WHERE 删除条件]

如果没有删除条件表示删除所有记录。

简化版:DELETE 表名 [WHERE 删除条件好像mysql不支持,但在oracle执行成功。最好不要用。

mysql环境下:

mysql> select * from aa;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
+----+
3 rows in set (0.07 sec)

mysql> delete aa where id=2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'where
id=2' at line 1
mysql> delete from aa where id=2;
Query OK, 1 row affected (0.04 sec)


oracle环境下:

数据的更新操作和事务 - 湘雅之梦 - nbsp爱的天空
 


事务处理

所有的事物都是针对一个每一个session进行的,在oracle中,把每一个用户都成为一个session,每一个session彼此独立,不会有任何通讯,而每一个session独享自己的事物控制,主要有两个命令

事务的回滚:ROLLBACK,更新操作到原点。

事务的提交:COMMIT,真正发出更新操作,一旦提交无法回滚。

一个session更新还没有提交线程会死锁,提交之后锁才会释放

锁有很多种,这些与开发者没有太大关系,是DBA负责的。

所有的数据更新都一定会受到事务的控制。

  评论这张
 
阅读(194)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017