• oracle一些简单的语法


    oracle 是通过先创建一个实例 再创建一个数据库   - 一个实例智只能对应一个数据库。 
    
    -- 创建数据库 
    create   database  database_name  --创建数据库
    --- 备份数据库 
    USE master 
    
    EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'
    BACKUP DATABASE pubs TO testBack
    
    ---删除数据库
    drop database  database_name 
    
    ---创建表  
    
    create table tableName 
    (
     col1 type [not  null],
     col2 type [not null]
    )
    ------根据旧的表格创建新的表格
    select *  into nowtableName from oldtableName 
    create table nowbavlename as select col1,col2,col3 from oldtablename definition only <只能在oracle中使用>
    
    -----删除表格 
    drop table tablename 
    ----------添加列--删除列---------------------------------
    alter table tablename add  column colname  type    
    alter able tablename  drop column colname 
    -----------添加主键------------------------------
    alter table tablename add primary key  (columnName)
     
    alter table tablename drop primary key  (columnNma)
    -----------创建视图-------------------------------------
    create view  viewname 
    as 
    select *from tablenamej 。。。。
    
    drop view viewname 
    -------------简单增删修查------------------------------------------
    选择:select * from table1 where  条件
    插入:insert into table1(field1,field2) values(value1,value2) 
    
    删除:delete from table1 where 范围
    
    更新:update table1 set field1=value1 where 范围
    
    查找:select * from table1 where field1 like %value1%---like的语法很精妙,
     
    
    排序:select * from table1 order by field1,field2 [desc] 
    
    总数:select count as totalcount from table1 
    
    求和:select sum(field1) as sumvalue from table1 
    
    平均:select avg(field1) as avgvalue from table1 
    
    最大:select max(field1) as maxvalue from table1 
    
    最小:select min(field1) as minvalue from table1
    -------------------------------


     select * from v$sql t  
        where t.LAST_ACTIVE_TIME>(sysdate - interval '1' MINUTE)  --执行1分钟内的SQL语句  
             -- and t.PARSING_SCHEMA_NAME = 'ORCL' --数据库  
              and (t.MODULE is null or t.MODULE not like '%PL/SQL%') --不是在某些终端里的执行  
            --  and lower(t.SQL_TEXT) like '%select%' --查询某类SQL语句  
                    
        order by   t.LAST_ACTIVE_TIME  desc  


    oracle 插入数据是判断ID是否存在 存在就不插入 不存在就插入

    INSERT INTO DealerInfo
    (OrgId, DealerOrgId,DealerName,DealerNum,DealerRemarkName,AuditState,Address,Contact,ContactPhone,AuditResult )
    SELECT'1100500001','1100802082','罗浮塔测试客户3','0111','罗浮塔测试客户3','1','','FK','16890008777','审核通过'
    FROM dual
    WHERE not exists 
    (select * from DealerInfo where DealerOrgId = '1100802082');--判断条件

     --oracle 的魂环语句

    declare v_num number(2) := 0;
    begin 
      while v_num < 10 loop
         v_num := v_num + 1;
             
         dbms_output.put_line(v_num);
             
      end loop;  
    end;

     Oracle獲取前100條數據 

       使用關鍵字  rownum <=100

    (+)就是连接
    譬如
    SELECT a.*, b.* from a(+) = b就是一个右连接,等同于select a.*, b.* from a right join b
    SELECT a.*, b.* from a = b(+)就是一个左连接,等同于select a.*, b.* from a left join b
    即" (+)"所在位置的另一侧为连接的方向,通常将全量集合与部分集合连接时,在部分集合的列后面带上(+),以达到没有匹配时,也要显示出一个null的效果

    SELECT * from barcode_component_expand a , bas_flow_info b
    where b.flow_id = a.flow_id(+)

    SELECT * from barcode_component_expand a , bas_flow_info b
    where b.flow_id(+) = a.flow_id

  • 相关阅读:
    Mysql主从同步延迟问题及解决方案
    elasticsearch 查询过程
    RPC(Remote Procedure Call):远程过程调用
    windows
    设计模式
    Linux Safe
    AS
    开机启动
    springboot打包部署
    【Linux】Linux 常用命令汇总
  • 原文地址:https://www.cnblogs.com/cl1006/p/7466592.html
Copyright © 2020-2023  润新知