zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    嵊州D1T2 圣女
    嵊州D1T1 总统先生,一路走好!
    第三节暑期信息奥赛课——图论
    并查集小结
    洛谷P1003 铺地毯 noip2011提高组day1T1
    洛谷p1216 IOI1994 Day1T1
    Title
    Title
    Title
    Title
  • 原文地址:https://www.cnblogs.com/kuangzhisen/p/7191390.html
Copyright © 2011-2022 走看看