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




猜你喜欢

转载自blog.csdn.net/qq_36437446/article/details/80551525
今日推荐