'sqlplus'에 해당되는 글 2건

  1. 2010/08/06 boyo sqlplus 명령어 히스토리(방향키로 이전 명령어 사용)
  2. 2010/08/06 boyo 06.23 / sqlplus & function

 파일을 다운 받아

# rpm -Uvh rlwrap-0.30-1.el4.i386.rpm

설치 후

오라클 접속 계정 홈디렉토리의 .bashrc 파일을 수정

alias sqlplus='rlwrap sqlplus'

수정 후

$ . .bashrc

$ sqlplus / as sysdba

sqlplus 접속하여 사용하면 잘 사용이 된다.

2010/08/06 16:47 2010/08/06 16:47
  1. 질의의 기본 절차
    1. 접속
       conn scott/tiger
    2. 테이블 리스트 확인
       select * from tab;
    3. 테이블 컬럼 리스트
       desc dept;
    4. 질의 확인
      select * from table_name;
  2. sqlplus 명령어
    list : 마지막 실행 명령어
    run : 마지막으로 실행시킨(버퍼에 있는) 명령 실행
    conn : 접속
    show user : 접속한 유저명 보기
    save t : 버퍼에 있는 명령 저장
    @t : 실행(확장자 sql로 자동) t는 파일명
    ! : command 창으로 나가기
    exit : 다시 들어오기
    get t : 해당 파일 불러오기
    ed t : 해당 파일 수정하기
    ed : 버퍼를 편집 - sql명령 1개만 편집가능
    sav t replace : 덮어 씌기
    show all : 설정사항 확인
    set command : 설정 사항 변경
    set linesize : 라인 크기
    /u01/app/oracle/product/10.2.0/db_1/sqlplus/admin/glogin.sql : 세팅 파일
  3. isqlplus : 웹버전 sqlplus
  4. SQL

    select
    * 모든 컬럼
    distinct 중복제거
    expression : 계산식 계산
    alias : 컬럼의 heading을 지정

sql는 대소문자(case-sensitive) 구별 안함. 단 따옴표("')안에서는 구분
' : 문자열
" : 객체명, 비번 컬럼 alias

select 300*3 from dual; dual 가상 테이블 1개만 나오게 함
null값 연산은 null 값

concatenation operator : 문자열 더하기 ||


EX)

select 1+'1', '1'+'1', 1||1, '1'||'1' from dual;

     1+'1'    '1'+'1' 1| '1
---------- ---------- -- --
         2          2 11 11

  1. literal character strings
    select 'Mr. '||ename from emp;

    'MR.'||ENAME
    --------------
    Mr. SMITH
    Mr. ALLEN
    Mr. WARD

  2. alternative quote(q) operator
    select 'Mr. '||ename||'''s salary is '||sal from emp

    'MR.'||ENAME||'''SSALARYIS'||SAL
    -------------------------------------------------------------------
    Mr. SMITH's salary is 800
    Mr. ALLEN's salary is 1600


    select 'i''m a boy.' from dual; //9i버전
    select q'-i'm a boy.-' from dual; //10g 버전

  3. distinct : duplicate rows

  4. isqlplus (익스플로러 영문으로 해야 깨지지 않음)

  5. append sql

    EX)
    SQL> select * from
      2
    SQL>
    SQL> a  emp
      1* select * from emp
    SQL> r
      1* select * from emp

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20

where 은 로우 마다 비교

정규표현식 검색

is null
is not null

rules of precedence (연산자 우선순위)
(), */+-, ||(문자열 더하기) , < =, like, is null, between, between, not, and, or

&변수 정의 / 매번 실행 물어봄
&&변수 / 처음 한번만 물어봄 , define 변수에 등록함
define 환경 변수 셋팅
undefine sortcolumn 환경변수 지우기
set verify off

  1. Function
    1. user defined function : pl/sql 로 만든 함수
    2. built-in function
      1.  single function :
          ex)
          select power(2,10) from dual;,
          select ename, sal+nvl(comm, 0) from emp;
          select ename from emp where ename like upper('%bl%')
        1. character : lower, upper, initcap
             concat ||
             substr 뽑아내기
             length 길이
             instr 몇번째 있는가?
             lpad | rpad 채우기
             trim 양끝단 '' 없애기
             replace 치환
        2. number
             round : 반올림 round(11.2111, 2)
             trunc : 내림
             mod : 나머지 mod(1600,300)
        3. date function : sysdate(시스템 날짜)
              alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
             1일(시간) = 숫자 1
             시각 + 시간 = 시각
             시각 - 시각 = 시간
             하루 1440분 / 86400초
        4. conversion
        5. general
      2.  group function : count(*), sum(sal)
    3. function의 arg는 n개 result는 1개
2010/08/06 14:07 2010/08/06 14:07