1、 课程名称:Java数据库编程
2、本课程与讲解
1、JDBC的分类
2、JDBC的基本使用,在使用的时候直接以Oracle数据库为准。 3、事务处理
3、具体内容
3.1、Oracle简介
3.2、Oracle的安装
现在使用的Oracle使用的是10g版本,Oracle中的主要版本分为以下几个:
3.3、SQLplus
基本上就是使用sqlplusw的运行方式完成操作。 在sqlplusw中存在大量的可用命令。
在sqlplusw中因为灭法修改输入的内容,所以一般会使用本机的记事本程序进行编辑,直接在命令窗口中输入“ed文件名称”即可
编辑完成之后,就可以通过@文件名称的方式执行命令。
除了可以再sqlplusw中建立这个文件之外,也可以通过@找到磁盘上的文件。现在在d盘上有一个demo.txt的文件,文件中也是查询命令。
执行的时候要指定文件的路径:@路径 如果文件的后缀名称是“*.sql”的话,则不用输入后缀名称也可以找到。默认找到文件的后缀就是“*.sql”。 在sqlplusw中也可以使用其他用户连接,例如:之前了解过的sys或system用户: conn 用户名/密码[as sysdba|sysoper] ·如果现在连接的是超级管理员(sys):则在连接的最后必须写上 as sysdba。以系统管理员的身份进行登录。
conn sys/oracle as sysdba; 那么这个时候再次发出之前的查询命令,会提示错误 此错误表示emp不存在。因为emp表是属于scott用户下的表,而sys用户本身没有,如果现在在不同用户下想访问emp表的话,则必须加上用户名,即:表的完整名称:“scott.emp”。 如果现在希望知道当前连接的用户时哪一个? show user; //显示当前正在连接的用户时哪一个 那么现在如果一个数据库中会存在多张表,那么可以通过以下的命令得到一个数据库中全部表名称: 在开发中使用最多的就是查看表的结构,例如:可以使用desc 表名称的形式查看一个表的完整结构。 select * from tab;
在列的类型中主要有以下的几种类型: ·NUMBER(4):表示是数字,长度为4 ·VARCHAR2(10):表示的是字符串,只能容纳10个长度 ·DATE:表示日期 ·NUMBER(7,2):表示的是数字,其中小数占2位,整数占5位,总共是7位。 在sqlplusw中可以输入一个“/”表示重复执行上一条语句的操作。
3.3、SQL语句
在所有的讲解中所要使用到的表全部都是scott用户下的表,所以必须了解在此用户下有那几张表,以及每张表的作用是什么。
3.3.1、雇员表(emp)
雇员表中记录的是一个个的雇员的基本信息。
3.3.2、部门表(dept)
表示一个个具体的部门信息
3.3.3、工资等级表(salgrade)
一个公司工资是有等级制度的,那么用此表表示一个工资的等级
3.3.4、奖金表(bonus)
3.4、简单查询语言
一个新的要求: 要求查询出雇员的编号,姓名,工作,但是显示的格式: ·编号是:7369的雇员,姓名是:SMITH,工作是:CLERK 要想实现此功能,则可以使用Oracle中提供的字符串连接操作,使用“||”表示。如果要加入一些显示信息的话,所有的其他的固定信息要使用“’”括起来。 select ‘编号是:’||empno||’的雇员,姓名是:’||ename||’,工作是:’||job from emp;
3.5、限定查询(WHERE子句)
范例:要求查询出,基本工资不大于1500,同时不可以领取奖金的雇员信息。 ·此时相当于是整体的条件取反。 select * from emp where not (sal>1500 and comm is not null);
不等于符号:在SQL中如果要想使用不等于符号,可以使用两种形式:“<>”“!=” 范例:查询雇员编号不是7369的雇员信息 ·使用“<>”完成 select * from emp where empno<>7369;
·使用“!=”完成 select * from emp where empno!=7369; 3.6、对结果进行排序(ORDER BY)
在SQL中可以使用ORDER BY 子句对查询的结果进行排序,现在使用查询全部的语句: select * from emp;
此时,从查询的记过可以发现,是按照雇员的编号进行排序的,那么此时如果要对使用指定的列进行排序,则就必须使用ORDER BY 语句。 范例:要求按照工资由低到高排序 select * from emp order by sal; 范例:要求按照工资由高到低排序 select * from emp order by sal desc;