2015.01.30 11:44

Select 문 정리.

※ Oracle SID 확인
SQL> select instance from v$thread;
 
※ Oracle DB_NAME 확인
SQL> select name from v$database;
 
※ Oracle User 확인
SQL> select * from all_users;
 
※ 등록된 User 목록 보기
SQL> select username, user_id from dba_users order by username;
 
※ User가 소유한 모든 테이블 보기
SQL> select table_name from user_tables;
 
※ 사용자 정보 확인
SQL> select username, default_tablespace,temporary_tablespace from dba_users;
 
※ 오브젝트 조회
SQL> select * from all_objects where object_name like '명';
 
※ 테이블 조회
SQL> select * from all_tables where table_name like '명';
 
※ 시퀀스 정보 보기
SQL> select * from user_sequences;
 
※ 시노님 조회
SQL> select * from all_synonyms where synonym_name='명';
 
※ 테이블 인덱스 정보 조회
SQL> select * from all_ind_columns where table_name='테이블명';
 
※ 테이블의 컬럼 정보 조회
SQL> select * from all_tab_columns where table_name='테이블명';
 
※ table comment 쿼리
SQL> select * from all_tab_comments where table_name='테이블명';
 
※ column comment 쿼리
SQL> select * from all_col_comments where table_name='테이블명';
 
※ TABLE 구조 보기
SQL> DESC 테이블명;
 
※ 테이블 존재 여부 확인
SQL> select 테이블명
          from USER_TABLES
          where 테이블명='찾을 테이블 이름' 
                                                     ┗ 대문자
 
※ 모든 유저 보기
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%’


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

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

Trackback 0 Comment 0