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:	ablespaceUFGOV_1.DBF' 
size 200m
autoextend on
next 32m maxsize 2048m
extent management local; 

--创建临时表空间存储
create temporary tablespace UFGOV_TEMP tempfile 'E:	ablespaceUFGOV_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:UserslenovoDesktop河南科技学院FD.expdp.dmp" fromuser=(FD) touser=(HNKJ) log=y ignore=y full=y

impdp orcl/hnkj DIRECTORY=dir_dump DUMPFILE=FD.expdp.dmp
原文地址:https://www.cnblogs.com/kuangzhisen/p/7191390.html