oracle数据库之单表查询

Posted 测试老兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库之单表查询相关的知识,希望对你有一定的参考价值。

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

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

我们在看看studentinfo表

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

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

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

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

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

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

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

classid ,classname ---表中的列名

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

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

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

insert into studentinfo
  (studentid,
   studentname,
   studentsex,
   studentage,
   studenttel,
   studentaddress,
   classid)
values (1, \'张山\', \'\', 15, \'13789895566\', \'北京\',1);

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

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表,我就不给大家演示了,一样的套路。

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

--修改某列数据

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

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

查询结果:

--修改某几列数据

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

查询结果:

 

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

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

查看结果:

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

update studentinfo set studentsex=\'\';
commit;

查看结果:

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

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

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

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

查看结果:

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

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

查看结果:

--删除表中的数据

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

查看结果:

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

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

查看结果:

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

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

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

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

知识点总结:

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

以上是关于oracle数据库之单表查询的主要内容,如果未能解决你的问题,请参考以下文章

Oracle之单表查询及常用函数

MySQL之单表查询

MySQL之单表查询

MySQL数据库篇之单表查询

MySQL之单表查询

mysql之单表查询