• oracle基础学习


    sqlplus登陆oracle:
    法1:1.cmd -> 2.输入  sqlplus "sys/123 as sysdba"
    
    法2:打开oracle 运行sql命令:
    SQL> connect sys as sysdba
    输入口令:[输入密码,我此处为123]
    已连接。
    -------------------------------------------------
    SQL> 
    desc v$controlfile [控制文件]
    select * from v$controlfile;
    [数据文件]
    select name from v$datafile;
    select file#,status,name from v$datafile;
    [日志文件]
     select * from v$logfile;
    
    参数文件
    SPFILEXE.ORA
    oracle的物理结构:
    参数文件->控制文件->(数据文件/日志文件)
    ->=找到
    -------------------------------------------------
    内存结构
    实例的SGA(系统全局区域):
    包括:
    DB buffer,共享池,大共享区,Redo buffer,固定SGA;
    1.DB高速缓存池(默认缓存池,保持缓存池,再生缓存池)
    2.共享池:库缓存池(共享sql区,PL/SQL区),字典缓存区
    
    -------------------------------------------------
    oracle数据库逻辑结构:
    tablespace>segment>extent>block;
    [图]
    
    -------------------------------------------------
    sqlplus/nolog
    connect sys/test1234 as sysdba
    startup
    startup mount (启动实例,控制文件,但不启动数据文件,
    便于热备份)
    startup nomout (只启动实例,在控制文件丢失时)
    
    shutdown immediate 关闭
    shutdown
    shutdown transactional
    
    浏览器中使用isqlplus
    e.g.:
    http://machine-name:5560/isqlplus
    
    常用命令:
    help index
    ? @
    ? set
    
    list查看缓冲的命令
    / 执行缓冲区中的命令
    save c:\test.sql --保存缓冲区中的命令到磁盘文件
    @ c:\test.sql --执行sql文件
    
    SQL> show sga
    
    Total System Global Area  285212672 bytes
    Fixed Size                  1287016 bytes
    Variable Size             104860824 bytes
    Database Buffers          176160768 bytes
    Redo Buffers                2904064 bytes
    
    -------------chapter 3: sql basic-----------------------------
    1.DDL(create,alter,drop)
    2.DCL(grant,revoke)
    3.DML(select,insert,delete,update)
    
    grant select on dept to [user_name]
    revoke select on dept from tt;
    ------------------------------------------------------
    常用系统函数
    1.字符
    length,ltrim,replace,rtrim,substr,trim
    
    SQL>  select length('中国abc') from dual;
    SQL>  select lengthb('中国abc') from dual;	--字节数
    
    2.日期
    sysdate,current_date,next_day
    
    SQL> alter session set nls_date_format='dd-mon-yyyy hh:mi:ss';
    
    会话已更改。
    
    3.转换
    to_char,to_date,to_number
    
    4.聚集函数
    sum,avg,max,min,count
    
    5.其它
    user,decode,nvl
    
    select user from dual;--当前用户
    --decode使用方法:当字段为'x'值时,计数1,否则计数0
    select sum(decode(sex,'男',1,0)) 男人数,sum(decode(sex,'女',1,0)) 
    
    女人数 from e;
    nvl相当于sqlserver里的isnull(column_name,'')
    select a1,nvl(a2,'未输入') from table_name;
    select * from aa where a2 is null;
    
    --交集
    select id from e
    intersect
    select id form d;
    
    --从select 语句创建表
    create table t as 
    select eid,ename from e where eid='001';
    
    
    -------------chapter 4:pl/sql---------------------------------
    PL/SQL,oracle对sql语言的扩展.pl/sql借助于pasal的语法.不区分大小写
    pl/sql 块结构
    pl/sql块结构如下:
    
    declare
    ...
    begin
    ...
    exception
    ...
    end;
    /
    
    e.g.:
    
    set serveroutput on size 10000	-- 开启output
    
    --行注释
    /*块注释*/
    DECLARE
    X VARCHAR2(10);
    xxX VARCHAR2(10):='abcde';
    BEGIN
    X:='THIS IS ..';
    DBMS_OUTPUT.PUT_LINE('XX的值:'|| x);
    DBMS_OUTPUT.PUT_LINE('XxX的值:'|| xxx);
    END;
    /
    
    可以使用integer,string(10)
    
    -----------------------
    分支
    1.
    if .. then
    ...
    elsif .. then
    ...
    else
    ...
    end if
    
    2.case语句
    case
    when a=1 then ...;
    when a=2 then ...;
    when a=3 then ...;
    else
        ...;
    end case;
    
    
  • 相关阅读:
    .Net下的MSMQ(微软消息队列)的同步异步调用
    [收藏]JS获取网页中HTML元素的几种方法分析
    在FireFox下设为首页的解决方法
    如何创建和使用Web Service代理类
    [收藏]61条面向对象设计的经验原则
    [总结]DotNet中用到的加密算法总结
    如何把用SQL语句int型整数转换成二进制数
    彻底杜绝PHP的session,cookie,Cannot modify header错误
    MSN总是报80048820的错误,网上搜的一些资料解决不了,我找到了真正解决办法!
    [收藏]MD5加密的javascript实现
  • 原文地址:https://www.cnblogs.com/wucg/p/2099687.html
Copyright © 2020-2023  润新知