Oracle学习笔记20150823java程操作数据库与部分常见函数的使用
2015-08-24 19:58
525 查看
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发音相同的字符串.
(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发音相同的字符串.
相关文章推荐
- Oracle学习笔记20150822分页查询sql语句分类和集合运算
- Oracle的分页查询语句优化
- 学习笔记——Java调用Oracle存储过程
- oracle学习笔记一:用户管理(3)用户口令管理
- oracle函数trunc的使用
- oracle数据库tns配置方法详解
- ora-28002:the password will exprire n days 解决方法
- Oracle学习笔记1
- 查看ORACLE中正在运行的存储过程 kill
- Oracle文本函数简介
- oracle 初学者最常见到的12505 错误 和12514错误
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- SQL-Oracle游标
- oracle 对现有的表进行列表分区
- 不安装oracle客户端,用plsql连接oracle
- linux下oracle 10g的sqlplus无法使用
- oracle恢复删除数据
- ssma for oracle
- Oracle数据库启动和关闭方式
- ORACLE sql 判断字段中某个字符出现次数