马士兵java数据库部分学习笔记
玉面小白熊
这个作者很懒,什么都没留下…
展开
-
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
程序执行一个update语句:update table1 set BATCH_ID = BATCH_ID+1 where ID='ID2018112900000046';报错:SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]找原因发现ba...原创 2018-11-30 11:42:15 · 787 阅读 · 0 评论 -
数据字典表/dictionary学习笔记(msb32)
--当前用户下的表、视图、约束,放在数据字典表中user_tablesuser_viewsuser_constraints--dictionary存储数据字典表原创 2018-12-30 23:47:11 · 728 阅读 · 0 评论 -
索引indexes/views学习笔记(msb33)
--索引indexcreate index xxx on tablexx (rowxx);可以在一个字段或若干个字段的组合上建drop index;加主键或唯一约束时,oracle会自动建立该字段或该组合的索引访问效率会更高,插数据进去的效率则不会,因为同时还要插索引**不能轻易建索引,修改效率会变低,占用大量空间--视图view相当于一个子查询create v...原创 2018-12-31 23:43:45 · 165 阅读 · 0 评论 -
PLSQL学习笔记(msb38-46)
--oracle内部编程语言 pl语言(过程语言)补充sql语言分支、条件判断、循环分四块:1.DECLARE做变量声明(可选)2.BEGIN开始(必须有)3.EXCEPTION(catch到时执行)4.END;(必须有) e.g.begindbms_output.put_line('helloworld!');end;标准命令行输出,相当于Syst...原创 2019-01-11 00:12:55 · 163 阅读 · 0 评论 -
三范式学习笔记(msb35-37)
--数据库设计三范式 数据库设计规则共有五范式,第四、第五基本不常用具体问题具体分析,不能盲目遵循范式。追求目标:不存在冗余数据 --第一范式:1.要有主键2.列不可分 --第二范式应用于多对多表的设计1.不能存在部分依赖。当一张表有多个字段组合作为主键,非主键字段不能依赖于部分主键,必须依赖于整个主键组合,否则会产生数据冗余。解决方案:拆分为三...原创 2019-01-07 00:28:47 · 131 阅读 · 0 评论 -
游标cursor学习笔记(msb47-48)
--游标select产生结果集,游标就是该结果集上的指针,类似java迭代器Iteratordeclarecursor c is select ...;xx(变量) c%rowtype;beginopen c;fetch c into xx(变量);close c;--循环取游标f for循环最简单不容易出错loopexit when(c%notfoun...原创 2019-01-11 20:20:26 · 196 阅读 · 0 评论 -
序列sequence学习笔记(msb34)
--序列sequence用来产生唯一的不间断的数字的序列,递增用途:主键create sequence xx;select xx.nextval from dual;drop sequence xx;原创 2019-01-02 17:44:39 · 173 阅读 · 0 评论 -
stored procedure存储过程/函数/触发器学习笔记(msb49-50)
--存储过程,带有名字的程序块create or replace procedure p is 替代declare创建成功不等于执行exec p;或者begin;p;end;--带参数的存储过程in传入参数,out传出过程传出参数到调用环境,默认是in,也可以既in又out--建立时有问题不会明确报错,要show error来查看,并且有错误依然会创建 ...原创 2019-01-14 00:16:41 · 1148 阅读 · 0 评论 -
触发器trigger学习笔记(msb50-51)
--触发器triggercreate or replace trigger namexx(触发条件)after/before insert or delete or update on tablexx for each rowbeginif inserting thenelse if updating thenelse if deleting then end if;e...原创 2019-01-14 00:36:52 · 252 阅读 · 0 评论 -
修改表结构、修改约束学习笔记(msb31)
--修改表结构alter 增加alter tablexx add(rowxx varchar2(100));删除alter tablexx drop(rowxx);修改alter tablexx modify(rowxxvarchar2(150));不能比已有数据精度小,要保证容纳--删除约束条件alter tablexx drop constraint x...原创 2018-12-28 00:25:50 · 136 阅读 · 0 评论 -
多表连接子查询学习笔记(msb16-23)
--每个部门平均薪水的薪水等级是多少。要先求avg(sal),再和另外一张表做连接。select deptno,avg(sal) avg_sal from emp group by deptno;将结果视作一张表。select deptno,avg_sal,grade from (select deptno,avg(sal) avg_sal from emp group by d...原创 2018-12-11 01:41:54 · 160 阅读 · 0 评论 -
dml语句学习笔记(msb25)
--搜索数字效率更高--dml语句 数据操作语言(insert delete update)--表空间 用户--cascade 级联--exp导出1.backup userxx备份exp2.create user创建create user xx identified by xx default tablespace xxx quota(配额) 10M on xxx ...原创 2018-12-20 00:03:58 · 152 阅读 · 0 评论 -
update/delete||transaction学习笔记(msb27)
--updateupdate xx set rowxx = xxx,rowxx=rowxx||'-';--||连接符--deletedelete from tablexx where...;--ddl语句,数据定义语言,建表建视图create table xx(rowx varchar2(10));--drop user/table--事务控制事务transac...原创 2018-12-26 14:53:42 · 404 阅读 · 0 评论 -
子查询学习笔记(msb13)
查询里面套查询。--按照部门分组,部门挣钱最多的人的名字,部门名称select deptno,ename,sal from emp a where sal=max(sal) group by deptno;报错,单行子查询返回多个行,先group得到多个值,max(sal)存在多个值,where sal=应该只匹配一个值。select deptno,ename,sal fro...原创 2018-12-10 01:10:11 · 160 阅读 · 0 评论 -
自连接self_table_connection学习笔记(msb14)
--一个人的名字和他的经理人的名字select avg(sal),deptno from emp group by deptno;select empno,ename,mgr from emp;select e1.ename ,e2.ename from emp e1,emp e2 where e1.mgr= e2.empno;把本身的表当作另一张表。...原创 2018-12-10 01:44:41 · 535 阅读 · 0 评论 -
创建表、常用数据类型学习笔记(msb28)
--数据库常用对象(可创建的)--表create table xx (字段 数据类型(长度),...,...)常用类型:varchar2-->变长字符串,跟长度,只有最长的上界,最多4k(4096)char-->定长字符串,效率较高,空间浪费num-->num(8,3)一共8位,小数点三位date-->年月日时分秒long-->变长,...原创 2018-12-26 16:36:13 · 107 阅读 · 0 评论 -
rownum学习笔记(msb26 )
--默认最后有隐藏的一列 rownum,行号select * from emp where rownum<=5;前五行--注意:取第几行到第几行,不能用rownum大于几,小于几rownum只能用<或者<=--解决方案:将select rownum r,ename from emp当作一张表select ename from (select rownum ...原创 2018-12-21 16:44:23 · 100 阅读 · 0 评论 -
oracle约束条件非空唯一学习笔记(msb29)
5个约束条件:--非空 not nullconstraint tablexx_rowxx_nn,不起约束名则系统自动创建--唯一 unique每个值都不能重复,null值不认为是重复-------------------------------以上两个是字段级约束两个字段的组合不能重复,加表级约束constraint xxx unique(rowxx,rowxxx...原创 2018-12-27 15:47:06 · 673 阅读 · 0 评论 -
SQL1999_table_connections学习笔记(msb15)
--1999新标分离过滤条件和连接条件,连接条件不写在where中。在1992的标准中不分离。 --cross join交叉连接产生笛卡尔乘积 --join等值连接table a join table b on(...)select ename,dname from emp join dept on(emp.deptno = dept.deptno); ...原创 2018-12-11 00:09:07 · 90 阅读 · 0 评论 -
树状结构recursion学习笔记(msb52-53)
--树状结构recursion使用递归,字段:id,content,pid(父节点),isleaf(是否叶子结点,叶子结点下没有子节点了),alevel存储过程调存储过程原创 2019-01-14 01:02:51 · 580 阅读 · 0 评论