본문 바로가기

wif LiNoUz/Oracle,Sql

db2 기본 명령어


http://blog.naver.com/PostView.nhn?blogId=renovate&logNo=40135920236





DB2에 대해서 완전 맨땅에 헤딩하면서 찾아내는 정보들 정리 중..

 

1. 테이블정보(목록) 조회

    SELECT  *  FROM SYSIBM.SYSTABLES;  - 컬럼수  등 상세 정보가 나오네

    SELECT  *  FROM SYSIBM.TABLES;

 

2. 컬럼 정보(목록) 조회

   SELECT *  FROM SYSIBM.SYSCOLUMNS

 

3. 테이블 정보 만들때 참조

SELECT  ','
       ,NAME
       , (CASE  COLTYPE WHEN 'INTEGER' THEN 'NUMBER'
                            WHEN 'VARCHAR' THEN 'VARCHAR2'
              WHEN 'TIMESTMP' THEN 'DATE'
              ELSE COLTYPE END) AS NM_DATATYPE
      , (CASE COLTYPE WHEN 'VARCHAR' THEN '('||CHAR(LENGTH)||')'  END ) NM_LENGTH
      , (CASE NULLS WHEN 'N' THEN 'NOT NULL' ELSE '' END ) NM_NULL  
FROM SYSIBM.SYSCOLUMNS
WHERE TBNAME='테이블명'

ORDER BY COLNO

   

 

4. 오라클용 pk 생성할때 참조

  SELECT 'ALTER TABLE '|| TBNAME || ' ADD CONSTRAINT '|| TBNAME||'_PK PRIMARY KEY ('||REPLACE(SUBSTR(COLNAMES,2),'+',',')||');'
FROM SYSIBM.SYSINDEXES   
WHERE UNIQUERULE='P'
  AND TBNAME ='테이블명'

 

 

 

5.DB2의 버전 확인 

 SELECT *  FROM SYSIBM.SYSVERSIONS;

 

 

6. 칼럼정보 및 물리 DATATYPE 생성

SELECT A.CREATOR
     , A.REMARKS
     , A.NAME
     , A.TYPE
     , B.NAME
     , B.REMARKS
     , B.KEYSEQ
     , B.COLTYPE
     , B.LENGTH
     , B.SCALE
     , B.COLNO
     , CASE B.COLTYPE WHEN 'DECIMAL' THEN RTRIM(B.COLTYPE)||'('||RTRIM(CHAR(B.LENGTH))||','||RTRIM(CHAR(B.SCALE))||')'
                      WHEN 'VARCHAR' THEN RTRIM(B.COLTYPE)||'('||RTRIM(CHAR(B.LENGTH))||')'
                      WHEN 'CHAR'    THEN RTRIM(B.COLTYPE)||'('||RTRIM(CHAR(B.LENGTH))||')'
       ELSE RTRIM(B.COLTYPE)
       END DATA_TYPE
  FROM SYSIBM.SYSTABLES A
     , (
        SELECT * FROM SYSIBM.SYSCOLUMNS
         where tbcreator = 'MART'
         order by tbname, colno
       ) B
 WHERE A.CREATOR = B.TBCREATOR
   AND A.NAME    = B.TBNAME
   AND A.CREATOR = 'MART'
   AND A.TYPE    = 'T'
 ORDER BY A.NAME
        , B.COLNO;

'wif LiNoUz > Oracle,Sql' 카테고리의 다른 글

install oracle 11g on suse11 sp1  (0) 2013.03.07
SLSE 11에 오라클 설취  (0) 2013.03.07
DB2 접속  (0) 2013.02.22
SQL_LOADer로 db쳐박기 쉘 or bat  (0) 2013.02.15
울트라에디트 단축키  (0) 2012.12.09