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 的组合查询 多去敲几遍代码,就一目了然了。
水平有限 若有错误 欢迎指正