作为一合格的测试人员对数据库的单表查询、多表查询、分组查询、子查询等等这些基本查询方法还是要会的。不然到企业中,容易被一些人鄙视,或者说如果数据库学不好,表查不明白,那么对自己能力来说也是一种侮辱,因为你可以证明自己,你是可以的,尤其是你在面试的时候面对面试官的给你出的一道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 表名