Oracle数据库之数据增删改

 作为一合格的测试人员对数据库的单表查询、多表查询、分组查询、子查询等等这些基本查询方法还是要会的。不然到企业中,容易被一些人鄙视,或者说如果数据库学不好,表查不明白,那么对自己能力来说也是一种侮辱,因为你可以证明自己,你是可以的,尤其是你在面试的时候面对面试官的给你出的一道sql语句题目,你能马上用你的套路把这道题做出了,那么恭喜你过了第一个小关卡。ok,我们今天学习一下数据库中的第一个查询,也是最简单,容易入门的查看----表的一些操作。

我们在上一篇中创建了一个classinfo和studentinfo表,这两个表都是没有任何数据的。如下图所示:

Oracle数据库之数据增删改

我们在看看studentinfo表

Oracle数据库之数据增删改

select * from classinfo;   --用于查询班级表的sql 

select * from studentinfo;   --用于查询学生表的sql

--向数据中插入数据 insert into用法

那么我们接下来往表中插入数据,插入数据的套路有两种比较常用的方法,我们先看第一种方法,请看 insert into关键字的正确使用姿势。我们先向classinfo表中插入如下数据:01,测试1班     02,测试2班   03,测试3班 , 04 测试4班(插入数据时,一定要注意插入数据的类型和约束,不要违背我们创建表时的约束,具体可以看我的上一篇介绍---oracle创建表操作) ,好继续看表演:

Oracle数据库之数据增删改
insert into classinfo(classid,classname) values(01,‘测试一班‘);
insert into classinfo(classid,classname) values(02,‘测试二班‘);
insert into classinfo(classid,classname) values(03,‘测试三班‘);
insert into classinfo(classid,classname) values(04,‘测试四班‘);
commit;

--commit  是一次性提交到数据库保存,不commit就不会真正存储到数据库中。
--rollback 是回滚操作,代表的意思就是不commit就可以回滚到上一次操作
Oracle数据库之数据增删改

我们向classinfo表中插入了4条数据,看一下sql解析:

insert into ---插入表的sql关键字

classinfo ---插入数据的表的名字 

classid ,classname ---表中的列名

values ---插入数据的 sql 关键字 

我们看一下插入后的结果,插入运行完成后,需要select * from classinfo这个表来看一下,有没有成功。如下图:

Oracle数据库之数据增删改

很完美,插入完成了,插入成功以后,如果我们向提交到数据库中,需要commit一下,不然只是临时创建成功,没有真正保存到数据库中。然后我们继续往studentinfo表中插入一些数据,看表演:

Oracle数据库之数据增删改
insert into studentinfo
  (studentid,
   studentname,
   studentsex,
   studentage,
   studenttel,
   studentaddress,
   classid)
values (1, ‘张山‘, ‘男‘, 15, ‘13789895566‘, ‘北京‘,1);
Oracle数据库之数据增删改

 我们看一下插入后的结果:

Oracle数据库之数据增删改

OK,我们在看第二种插入方式,第二种的方式比第一种更加的方便,如果明确要往表中插入数据,可以省掉values前面的列名。我们来看一下插入的sql语句:

insert into studentinfo values(2,‘李四‘,‘男‘,18,‘1325655563‘,‘南昌‘,2);
insert into studentinfo values(3,‘王五‘,‘男‘,‘25‘,‘13855223322‘,‘深圳‘,3);
insert into studentinfo values(4,‘丽丽‘,‘女‘,‘23‘,‘13256232236‘,‘*‘,4);

查看一下插入后的结果。是不是很完美呢?那classinfo表,我就不给大家演示了,一样的套路。

Oracle数据库之数据增删改

2.修改表中的数据 update  set用法 

--修改某列数据

我们现在呢,有需求了,比如我要修改studeninfo表中的数据呢?那么我们细化一下需求,比如修改某几行?修改某几列数据或者清空数据呢?

--修改张山的性别为女
update  studentinfo set  studentsex=‘女‘ where studentid=1;
select * from studentinfo;

查询结果:

Oracle数据库之数据增删改

--修改某几列数据

update studentinfo set studentname=‘李五‘,studentsex=‘女‘,studentage=15 where studentid=2;
commit;
select * from studentinfo;

查询结果:

 Oracle数据库之数据增删改

--清空某几个数据 比如张山的sex 

update studentinfo set studenttel=null where studentid=1;
commit;
select * from studentinfo;

查看结果:

Oracle数据库之数据增删改

--将所有数据中的age设置为女

update studentinfo set studentsex=‘女‘;
commit;

查看结果:

Oracle数据库之数据增删改

update studentsex后面不接条件,默认修改所有数据。

同样的,我们可以对表中的数据进行相加、相乘

--对表中的数据进行想加运算

--将张山的年龄增加10岁
update studentinfo set studentage=studentage+10 where studentid=1;
commit;

查看结果:

Oracle数据库之数据增删改

--对表中的数据进行相乘运算

--将王五的年龄乘3岁
update studentinfo set studentage=studentage*3 where studentid=3;
commit;
select * from studentinfo;

查看结果:

Oracle数据库之数据增删改

--删除表中的数据

--删除表中的数据  关键字 delete from 表名 where 筛选条件
--删除张山的数据
delete from studentinfo where studentid=1;
commit;

查看结果:

Oracle数据库之数据增删改

--删除李五和王五的信息
delete from studentinfo where studentid=2 or studentid=3;
commit;

--我们使用的是or链接2个条件,使用and是不符合条件的,因为or是或的关系。

查看结果:

Oracle数据库之数据增删改

删除后只剩下丽丽的数据在这里,那如果我们想要把所有的数据都删除呢?换句话说就是把表删除了。看表演姿势:

--删除studentinfo表 即删除整个表中所有的数据
drop table studentinfo;

删除后,在查询studentinfo表,提示该表不存在。

Oracle数据库之数据增删改

OK,到此关于数据库中的插入/修改/删除等等基本操作就给大家分享完了。下一篇我们介绍单表查询。

知识点总结:

--插入数据 insert into     表名(列名) values(插入的数据)
--修改数据 update         表名 set   where (筛选条件)
--删除数据 delete from 表名 where(筛选条件)
--删除表   drop table     表名 

Oracle数据库之数据增删改

上一篇:mysql出现“mysql不是内部或外部命令也不是可运行”


下一篇:MongoDB之术语解析