java:LeakFilling (SQL,JDBC)
1.JDBC中的sql里面不能加 ;号,否则报错
2.Oracle数据必须提交后才可以使用JDBC进行操作,否则没有结果
3. JDBC插入序列:
首先在sequences建一个序列
insert into 表名(id,name) values(序列名.nextval,'hello')
4.oracle复制另外一张表结构到一张新表中
create table newtable as select * from oldtable where 1=2
这个sql只是把表结构copy过来 如果要把所有表结构和表数据都copy过来的话用下面的sql
create table newtable as select * from oldtable
5.创建存储过程
带(输出参数)返回值的存储过程:
--删除存储过程
DROP PROCEDURE IF EXISTS proc_employee_getCount
--创建存储过程
CREATE PROCEDURE proc_employee_getCount(out n int)
BEGIN
SELECT COUNT(*) FROM employee ;
END
--MYSQL调用存储过程
CALL proc_employee_getCount(@n);
带输入参数的存储过程:
--删除存储过程
DROP PROCEDURE IF EXISTS proc_employee_findById;
--创建存储过程
CREATE PROCEDURE proc_employee_findById(in n int)
BEGIN
SELECT * FROM employee where id=n;
END
--定义变量
SET @n=1;
--调用存储过程
CALL proc_employee_findById(@n);
6.批量插入与删除:
批量删除:
DELETE FROM MyTable WHERE ID IN (1,2);
批量插入:
第一种方法:
INSERT INTO MyTable(ID,NAME) VALUES(1,'123');
INSERT INTO MyTable(ID,NAME) VALUES(2,'456');
INSERT INTO MyTable(ID,NAME) VALUES(3,'789');
第二种方法,使用UNION ALL来进行插入操作:
INSERT INTO MyTable(ID,NAME)
SELECT 4,'000'
UNION ALL
SELECT 5,'001'
UNION ALL
SELECT 6,'002' ;
比第一种要快!
第三种方法
INSERT INTO MyTable(ID,NAME) VALUES(7,'003'),(8,'004'),(9,'005');
7.select case when then:
select id,name,
(case sex
when 1 than '男'
when 2 than '女'
else '空'
end) as '性别'
form s_students
update s_students
set name=(
select case
when sex>0 then 0 //性别大于0 则为0
when sex=0 then 1
end as pass
from s_students
where id=1
)
where id =1
8.提取DATE类型:
select count(1), extract(year from t.建档时间),extract(month from t.建档时间)
from 诊疗项目目录 t
group by extract(year from t.建档时间),extract(month from t.建档时间)
order by extract(year from t.建档时间)
9.查询一行字段类型占多少字节:
select sum(
(
case data_type
when 'DATE'
then 7*DATA_LENGTH
when 'VARCHAR2'
then 1*DATA_LENGTH
when 'NUMBER'
then floor((DATA_LENGTH+1)/2)+1
end
)
)
from all_tab_cols
where table_name = tableName
10.Oracle数据导入:
---oracle dmp文件导入 --创建表空间
create tablespace UFGOV datafile 'E:\tablespace\UFGOV_1.DBF'
size 200m
autoextend on
next 32m maxsize 2048m
extent management local; --创建临时表空间存储
create temporary tablespace UFGOV_TEMP tempfile 'E:\tablespace\UFGOV_TEMP_1.DBF'
size 50M autoextend ON next 10M maxsize 100M; --创建用户
create user HNGAT identified by 123456 default tablespace UFGOV Temporary TABLESPACE UFGOV_TEMP; --给所创建的用户赋予权限
grant connect,resource,dba to HNGAT; --dos命令导入oracle数据 ignore忽略错误信息 fromuser(FD)将用户FD下的表导入到touser=(HNKJ) HNKJ用户下
imp HNKJ/123456@127.0.0.1:1521/orcl file="C:\Users\lenovo\Desktop\河南科技学院\FD.expdp.dmp" fromuser=(FD) touser=(HNKJ) log=y ignore=y full=y impdp orcl/hnkj DIRECTORY=dir_dump DUMPFILE=FD.expdp.dmp
最新文章
- oracle数据库从入门到精通之三
- [转]Java 常用排序算法/程序员必须掌握的 8大排序算法
- VM Depot 新功能:直接通过 Windows Azure 管理门户部署虚拟机
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十六节--SignalR与ABP框架Abp.Web.SignalR及扩展
- Java快速排序算法
- Quill 富文本编辑器
- vue-router路由传参
- 列举spark所有算子
- Mybatis框架基础支持层——解析器模块(2)
- blfs(systemd版本)学习笔记-构建gnome桌面系统
- 【Hihocoder1413】Rikka with String(后缀自动机)
- Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现 【转】
- [Java in NetBeans] Lesson 11. While Loops
- matlab做聚类分析
- JS或AS中处理ARGB、RGBA颜色值时要小心
- php5.5过渡--mysql连接
- Day11 Java内部类
- Gcc对头文件与库文件的搜索路径
- 26 python 并发编程之多进程理论
- 浅析正则表达式模式匹配的 String 方法