oracle学习笔记2



to_date('1988-11-11','yyyy-mm-dd') //指定格式的日期
insert into kkk (myid,myname,mydept) select empno,ename,deptno from emp where deptno=10;//行迁移
update emp set(job,sal,comm) (select job,sal,comm from emp where ename='SMITH') where ename='SCOTT';//更新多个字段
savepoint a1;  //保存点个数不受限制
rollback to a1; //回滚到a1保存点
commit; //commit之后保存点将会消失,如果exit则会自动的commit,没有commit之前数据不会生效,


conn.setAutoCommit(false); //设定事务,暂时不提交
sm.executeUpdate("update emp set sal=sal-100 where ename='SCOTT'");
sm.executeUpdate("update emp set sal=sal+100 where ename='SMITH'");
conn.commit(); //提交事务
conn.rollback(); //如果发生意外,则回滚


set transaction read only //只读事务




//函数
lower()  select lower(ename), sal form emp; //小写
upper()  select upper(ename), sal form emp; //大写
select * from emp where length(ename)=5; //名字长度为5的
select substr(ename,1,3) form emp; //取名字的第一个开始的三个字符


select upper(substr(ename,1,1)) from emp;
select lowwer(substr(ename,2,length(ename)-1)) from emp;
select upper(substr(ename,1,1)) || lowwer(substr(ename,2,length(ename)-1)) from emp; //首字母大写,其余小写,拼接字符串


select replace(ename,'A','IAMA') from emp; //使用IAMA来替换A,ename字段中
数学函数:  floor, trunc, mod, round, ceil, cos, cosh, exp, ln, log, sin, sinh, sqrt, tan,
round(sal,1) //四舍五入, 到小数点后一位,默认四舍五入到整数,如果是负数,则截取整数位
tranc(sal,1)  //截取到小数点后第一位,默认截取到整数
tranc(sal,-1) //截取个数位
floor(sal) //向下取整
ceil(sal)  //向上取整
dual   // 哑元表,oracle用来在做测试
mod(m,n) //取模




一、java 访问数据库, jdbc_odbc 桥连接
1、加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
2、获取连接
Connection con=DriverManager.getConnection("jdbc:odbc:testsp","scott","tigger");//testsp 本机的数据源管理工具
3、
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(); //??
while(rs.next()){}
4、关闭资源
二、jdbc方式连接,需要引入oracle的jar包
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:myora1","scott","m123");


分页显示:
int pageNow=Integer.parseInt((String)request.getParameter("pageNow)); //获取当前客户请求的页码
int pageCount=0, pageSize=3,rowCount=0;
ResultSet rs=st.executeQuery("select * from emp;");
while(rs.next()){
rowCount=Integer.parseInt(rs.getInt(1));
}
if(rowCount%pageCount==0){
pageCount=rowCount/pageCount;
}else{
pageCount=rowCount/pageCount+1;//获取总页数
}
rs=st.executeQuery("select * from (select a1.*,rownum rn from (select * from emp) a1 where rn<="+pageSize*pageNow+") where rn>="+(pageNow-1)*pageSize-1+"/""); //查询分页

for(int i=0;i<pageCount;i++){
out.println("<a href=myTest.jsp?pageNow="+i+">["+i+"]</a>");//打印页数、页码
}

out.println("<tr>");
out.println("</tr>");

while(rs.next()){
out.println("<tr>");
out.println("<td>");
out.println(rs.getString(1)); //名字
out.println("</td>");

out.println("<td>");
ount.println(rs.getString(6)); //工资
out.println("</td>");
out.println("</tr>");
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值