Oracle学习笔记20150823java程操作数据库与部分常见函数的使用

来源:互联网 发布:linux系统命令 编辑:程序博客网 时间:2024/05/21 13:05
 java连接Oracle的方法有两种
 (1)JDBC直连:java中提供了连接Oracle的API放在java.sql包中.(sql developer看到的数据库可能与java程序中看到的数据不一样,这是由于事务控制导致的.后面会详细分析.)
 jdbc写法Class.forName("oracle.jdbc.driver.OracleDriver");
ct=DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.23:1521:ORCL","scott","tiger");
 (2)JDBC-ODBC桥连接
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:hsporc","scott","tiger");
 (3)JDBC与JDBC-ODBC使用场景:如果java程序与db不在同一台电脑上选用JDBC,如果在一台电脑上则两种都可以用.目前用JDBC的比较多.
 sql函数使用
  (1)to_date(string,'format')[把字符串转成指定格式日期]
  (2)使用子查询完成行迁移的需求create table temp as select empno,ename from emp where ename like 'S%'
  (3)使用子查询完成多列的更新update emp set (job,sal,comm)=(select job,sal,comm fromemp where ename='SMITH') where ename='SCOTT'
 函数的常见分类
 单行函数是指例如length(ename)对每一行进行统计返回多个结果
 多行函数是指例如max(sal),例如min(),avg()是对多行进行统计返回一个结果.
 (4)单行函数的小分类
 ①字符函数replace(char1,search_string,replace_string)[这个函数并没有替换数据库中的数据,只是替换了搜索结果]
 ②instr('s1','s2',i,j)[s1代表被处理的字符串,s2代表要搜索的关键字字符串,i代表起始搜索的位置,j代表要搜索第几次出现关键字的位置]
 ③SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;


         A          A       ZERO      SPACE
      ---------- ---------- ---------- ----------
        65         97         48         32
ascii()函数用来返回相应参数所对应的ascii码.
 ④chr()给出整数参数返回相应的字符.(也用虚表实现)
 ⑤concat函数用来连接两个字符串例如select concat(ename,'是好人') from emp这个函数的作用等同于||
 ⑥initcap('string')返回第一个字母大写的后面都小写的字符串
 ⑦lower()与upper()例如select lower(substr(ename,1,1))||upper(substr(ename,2,length(ename)-1)) from emp;返回ename首字母小写其余大写的结果.
 ⑧lpad()与rpad()作用是向指定方向添加指定填充字符到达所需要字符数.
 SQL> select lpad('page 1',15,'*.') from dual;
 LPAD('PAGE1',15
 ---------------
 *.*.*.*.*page 1
 ⑨ltrim('      gao   zhi   lai',' ')与rtrim()删除左边或者右边的指定字符(但是最右边或者最左边要是所指定的字符否则处理结果和原先一样)
 10 substr('string',start,count)
 11 replace('string','s1','s2')其中s1是被替换的字符串.
 12 soundex()返回一个与给定字符串发音相同的字符串例如select xm from table1 where soundex(xm)=soundex('weather');
    返回table1表中的xm列下的与weather发音相同的字符串.
0 0