SQL基础整理(四) 数据的插入,删除和更新,以及事物

一.关于数据的插入  INSERT INTO 语句

1. 关于insert 的基本语法为 insert into 表名(需要插入的属性也就是列名) values(具体的值),其中多个列名之间用逗号分隔,多个values之间也用逗号分隔,如果是对表中全部的列名插入,那么则不需要指定列名

比如表中有一列叫做name,有一列叫做number,那么如果只对name进行插入,则应该写为

insert into 表名(name) values ('WE');

如果是说是对所有的列进行插入,则应该写为

insert into 表名 values('IG',20); 或者是  insert into(name,number) values('WE',20);

2. 原则上,执行一次insert语句向表中插入一行数据,但是在实际操作中,你要插入很多行数据,就需要写很多insert 语句,这是一个很麻烦的过程,那么下面介绍一个插入多行的方法,还是以前面提到的表为示例

insert into 表名 values('we',20),('ig',21),('edg',22),('rng',23);

但是 如果是在oracle中,则应该写成insert all into 表名values('we',20)

                                                                  into 表名values('edg',22)

                                                                  into 表名values('rng',23)

3.从其他表中复制数据

如果之前提过表名叫做student,现在有一张和他一模一样的表叫做student_2,两个表中的字段完全一样,我们想要把student中的数据复制到student_2中,语法如下

insert into student_2(name,number)

select name,number from student;

 

 二.数据的删除 DELETE语法

1. 删除整张表 drop table student; 删除之后,数据库中就没有叫做student的表了

2. 删除表中的数据 delete from student where 条件; 如果不指定条件,则删除表中所有数据

3.介绍一种效率更高的删除整张表的语法 TRUNCATE 表名

 

三.数据的更新 UPDATE语法

1.首先 update是对表中已有的数据进行更新的操作

2. 基本语法 update student set name='SKT ' where 条件  同样的不写条件,则对表中所有行进行更新

3.多列更新-->两种语法,但是只对最通用的语法进行介绍

update student set name='SKT', number=4396 where 条件

 

四.事物

1. 事物这个概念和操作系统中的 原语 类似,对于一件事 要么不做 要么全做

2. 大家如果使用Oracle  中的sql plus 进行花式操作之后,直接关闭sql plus,那么当你再次打开的时候会发现,数据库中什么都没有,这就是因为 你退出之前忘记了保存,这就需要在最后写一个  commit;表示进行提交处理

3. 数据库对于事物是怎么看待的呢,首先 你需要指定出 事物的包含范围,即哪些语句算作一次事物

对于 MySQL 来说  START TRANSACTION 表示你开始了一个事物,当你打算结束这次事物的时候,可以写commit 或者是rollback

对于 Oracle,DB2 来说 不需要指定事物何时开始,只需要当你在事物结束的时候写commit 或者是 rollback

对于 SQL Sever 用 BEGIN TRANSACTION 表示事物的开始

4. 在上面提到了 commit 和rollback ,那么这两个是什么意思呢???

commit: 是提交事物包含的全部更新出来的结束指令,相当于文件处理中的覆盖保存,一旦提交无法回复

rollback: 是取消事物包含的全部更新出来的结束指令,相当于文件处理中的放弃保存,一旦确定 之前做的所有操作全部付之东流

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巴塞罗那的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值