bboks.net™

오라클 초보 사용자를 위한 팁 본문

Database/Oracle

오라클 초보 사용자를 위한 팁

bboks.net 2007. 11. 24. 18:40
TABLE 구조 보기

SQL>DESC TABLE_NAME
 

테이블 존재 여부 알아보기

SQL>SELECT TABLE_NAME
        FROM USER_TABLES
        WHERE TABLE_NAME = '찾을 테이블 이름'
        -->찾을 테이블 이름은 대문자여야 됩니다.
 

모든 유저 보기

SQL>SELECT username FROM ALL_USERS
 

테이블 제약조건의 확인

SQL>SELECT table_name, constraint_name, constraint_type
        FROM   USER_CONSTRAINTS
       
WHERE TABLE_NAME ='STORM_CONTENT';
 

선택한 Row만큼만 보여주기

SQL>SELECT name
        FROM storm_board
        WHERE rownum <= 10
---> 이렇게 하면 데이터가 1000건이 있더라도, 1~10건만 보여주게 된다.
 
 
'LIKE' 연산자를 사용하여 case insensitive search를 할 수 있는 방법
 
필드에 'UPPER' 함수를 사용하시면 됩니다
SQL>SELECT name
        FROM storm_board
        WHERE UPPER(name) like '%K%'
 

잠시 host상태로 나가고 싶을 때.

SQL>host
다시 sqlplus로 들어오려면 exit명령어로 들어오시면 됩니다.
 

테이블에 새로운 컬럼의 추가

SQL>ALTER TABLE table_name ADD ( column_name DATATYPE );
 
ex)SQL>ALTER TABLE storm_board ADD(ip_addr VARCAHR2(15) not null)


테이블 컬럼의 삭제

SQL>ALTER TABLE table_name DROP COLUMN column_name

ex)SQL>ALTER TABLE storm_board DROP COLUMN ip_addr
-->컬럼의 삭제는 오라클 8i버전부터 되는것으로 알고 있습니다.  
 
 
SQLPLUS에서 SQL문의 실행 속도 알아보기
 
SQL>SET TIMING ON

을 한 후 SELECT문을 수행하면 경과 시간이 나옵니다.
 
SQL> SELECT COUNT(name) FROM storm_board;
 
COUNT(NAME)
-----------
        286
 
경   과: 00:00:00.10


SQLPLUS에서 SELECT문 사용시 데이타만 출력되고 HEADER는 안나오게 하는 방법
 
SQL>SET HEADING OFF
한후 SELECT문을 수행하면 아래와 같은 결과가 나옵니다.
 
SQL> SELECT empno, ename, mgr
         FROM emp
         WHERE rownum < 6;

7369  SMITH            7902
7499  ALLEN            7698
7521  WARD             7698
7566  JONES            7839
7654  MARTIN           7698