Mybatis学习之路之Oracle增删改查以及常用函数

create table class 
(
   Cid                  NUMBER(10)           not null,
   Cname                VARCHAR2(100),
   teacherID            NUMBER(10),
   constraint PK_CLASS primary key (Cid)
); 

create table student 
(
   Sid                  NUMBER(20)           not null,
   Sname                VARCHAR2(100),
   Saddress             VARCHAR2(200),
   Sbirthday            DATE,
   constraint PK_STUDENT primary key (Sid)
);

插入数据的语句 INSERT INTO table_name (column1,column2,…) values ( value1,value2, …);

把 一个表中的数据插入另一个表中 INSERT INTO table_name SELECT 语句

更新 UPDATE table_name set column1=new value,column2=new value,… WHERE <条件>

DELETE FROM table_name WHERE <条件>

简单查询(这里不涉及子查询和联合查询 SELECT [DISTINCT] column1 [as newname] ,columns2,… FROM table1 WHERE 条件 (可选) GROUP BY column_list (可选) HAVING <条件> (可选) ORDER BY column_list (ASC|DESC) (可选)

DISTINCT –表示隐藏重复的行 WHERE –按照一定的条件查找记录 GROUP BY –分组查找(需要汇总时使用) HAVING –分组的条件 ORDER BY –对查询结果排序

Where运算符 where <条件1>AND<条件2> –两个条件都满足 where <条件1>OR<条件2> –两个条件中有一个满足即可

where NOT <条件> –不满足条件的

where IN(条件列表) –所有满足在条件列表中的记录

where BETWEEN .. AND ..  –按范围查找 where 字段 LIKE –主要用与字符类型的字段 ‘-’ 表示任意字符; ‘%’ 表示多字符的序列;

where 字段 IS [NOT] NULL –查找该字段是[不是]空的记录

GROUP BY 分组查找(可结合组函数) 注意:在SELECT 列表中所有未包含在组函数中的列都应该包含在 GROUP BY 子句中。where 语句中不能有组函数

例如这样就是错误的(因为salary没有在group by 的字句中) SELECT JOB,SALARY from COM GROUP BY JOB;

这样是对的 SELECT JOB from COM GROUP BY JOB;

SELECT JOB,AVG(SALARY) from COM GROUP BY JOB;

GROUP BY 的作用时依照某个条件进行分组 看下面运行结果

SELECT JOB,AVG(SALARY) from COM GROUP BY JOB;

由于按照job分组 那么相同的job就为一组 所以就出现了10组。Avg求平均值 这个函数就去每个组中计算然后返回结果 其他组函数还有 Sum 求和 MIN 求最小值 MAX 求最大值 Count 计算数量

目前为止学习的都是单表查询,下次学习一下多表查询。单表查询主要是记住where的条件,以及组函数与group by 的组合查询 多去敲几遍代码,就一目了然了。

水平有限 若有错误 欢迎指正

经验分享 程序员 微信小程序 职场和发展