Background Image
기타
2016.03.03 01:04

CSQL 인터프리터 사용방법

조회 수 16513 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CUBRID에서 SQL 문을 실행하는 방법은 GUI(Graphical User Interface) 기반의 CUBRID Query Browser를 이용하거나, 콘솔 기반의 CSQL 인터프리터를 이용방법이 있다, CSQL CUBRID 설치한 계정으로 로그인하여 콘솔에서 명령어 방식으로 SQL 문을 사용할 수 있는 프로그램으로 이 문서에서는 CSQL 인터프리터의 간단한 사용법과 자주 사용되는 옵션을 설명하고자 한다.



1, CSQL 인터프리터 소개

CSQL 인터프리터는 CUBRID와 함께 설치되며, 대화형(interactive) 방식과 일괄 수행(batch) 방식으로 SQL 질의를 수행하고 수행 결과를 조회할 수 있는 프로그램이다.

CSQL 인터프리터는 CUBRID 데이터베이스에 접속하여 SQL 문을 통해 다양한 작업을 수행이 가능한데 예를들면 테이블 스키마 조회, SQL 문을 이용하여 데이터베이스 조회, 갱신, 삭제 등의 작업과 조회 결과의 저장 혹은 출력, SQL 기반으로 만들어진 파일 실행, 다양한 데이터베이스 정보(스키마, 트리거, 지연 트리거, workspace, 잠금, 통계) 조회등이 가능하다.

 

2, CSQL 인터프리터 모드

CSQL 인터프리터는 독립 모드(Standalone Mode), 클라이언트/서버 모드(Client/Server Mode), 시스템 관리자 모드(System admin Mode)를 제공한다.

2-1, 독립 실행 모드는 데이터베이스 서버 프로세스 정지된 상태에서 해당 데이터베이스를 대상으로 SQL 문을 실행할 수 있는데 독립 모드는 한 사용자만이 접근이 가능하므로 DBA (Database Administrator)가 관리 작업을 위해 수행하는데 적합한 모드이다,

Ex) csql –S –u dba demodb

2-2, 클라이언트/서버 모드는 데이터베이스 서버 프로세스 구동된 상태에서 해당 데이터베이스 서버 프로세스에 접속하는 방식으로 여러 사용자가 같이 사용할 수 있는 모드이다.

Ex) csql –C –u dba demodb

2-3, 시스템 관리자 모드는 CSQL 인터프리터를 통해 특별한 관리 작업을 수행하기 위해 사용되는 모드로 데이터베이스 서버 프로세스가 구동 상태에서 서버 접속 개수(max_clients)가 값을 초과하더라도 CSQL 인터프리터에서 시스템 관리자 모드로 접속하면 추가로 단 하나의 연결을 허용한다. (체크 포인트를 수행하거나 트랜잭션 모니터링을 종료 등의 작업을 수행할 수 있다.)

Ex) csql –C -u dba --sysadm demodb

 

3, CSQL 옵션과 접속방법

csql 유틸리티는 필요에 따라 옵션을 설정할 수 있고 접속하고자 하는 데이터베이스 이름을 인수로 지정한다.

Syntax: csql [options] database_name

Options: 프롬프트 상에서 옵션 목록을 보려면, 다음과 같이 옵션을 적용할 데이터베이스를 지정하지 않고 csql 유틸리티를 실행한다.

Ex) cubrid$>csql

-S, --SA-mode

-C, --CS-mode

-u, --user=ARG

-p, --password=ARG

-e, --error-continue

-i, --input-file=ARG

-o, --output-file=ARG

-s, --single-line

-c, --command=ARG

-l, --line-output

-r, --read-only

--string-width

--no-auto-commit

--no-pager

--no-single-line

--no-trigger-action

DB 프로세스 정지 시 사용(독립 실행 모드)

DB 프로세스 구동 시 사용(클라이언트/서버 모드)

DB 접속 계정 정보

DB password 정보

SQL 문장에 오류가 있어도 무시하고 수행

배치 모드에서 입력파일 이름 지정하여 수행

질의 수행 결과를 파일로 저장

여러 개의 SQL문을 하나씩 수행(-i 옵션과 같이 사용)

CSQL 명령 시 SQL문을 직접 입력해 수행

질의 수행 결과를 라인 단위로 출력

읽기 전용으로 CSQL 접속

출력 길이를 제한하는 옵션

CSQL 접속 시 auto commit off

질의 수행 결과를 일괄적으로 출력

질의문 여러 개를 ;xr or ;r 세션 명령어로 한번에 수행

트리거를 비활성화로 동작

 

4, CSQL 접속방법

4-1, 내부(로컬) 호스트 접속

다음은 로컬 서버에 위치한 데이터베이스에 접속하는 csql 유틸리티 구문이다.

Ex) csql –C –u public database_name@localhost

4-2, 외부(원격) 호스트 접속

다음은 192.168.0.111 위치의 원격 호스트에 존재하는 demodb 에 접속하여 csql 유틸리티를 호출하는 예제이다.

Ex) csql –C –u public database_name@192.168.0.111

4-3, CSQL 접속 제약

- 원격 호스트와 로컬 호스트에 설치된 CUBRID는 동일한 버전이어야 한다.

- 원격 호스트와 로컬 호스트의 마스터 프로세스가 사용하는 포트 번호가 동일해야 한다.

 

5, CSQL 옵션 사용 방법

CSQL 접속 시 -u는 접속할 사용자 계정을 지정하는 옵션이고 -p는 계정 비밀번호를 입력하는 옵션으로 -p 옵션이 생략된 경우는 CSQL 실행 후 Password를 직접 입력하면 된다.

5-1, -i 옵션 사용방법은 수행할 질의를 파일명(infail)로 만들어 사용하는데 질의별로 마지막은 세미콜론(;) 붙여 입력한다. 

Ex) csql –C –u db_user –p ‘password’ -i infile demodb

5-2, -o 옵션을 이용하여 CSQL에서 질의 수행한 결과를 파일로 저장할 수 있다.

Ex) csql –C –u db_user –p ‘password’ -o outfile demodb

5-3, -s 옵션은 -i 옵션과 함께 사용하는 옵션으로, -s 옵션을 지정하면 파일에 입력된 여러 개의 SQL 문을 하나씩 나누어 수행한다.

Ex) csql –C –u db_user –p ‘password’ -s -i infile demodb

5-4, -c 옵션을 이용하여 셸 상에서 하나 이상의 SQL 문을 직접 수행한다. 이 때, 각 문장은 세미콜론(;)으로 구분한다.

Ex) csql –C –u db_user –p ‘password’ -c 'select * from olympic;select * from stadium' demodb

5-5, -l 옵션을 이용하여 SQL 문을 실행한 결과 레코드의 SELECT 리스트 값들을 CSQL 인터프리터에서 라인 단위로 나누어서 출력한다.

Ex) csql –C –u db_user –p ‘password’ -l demodb

5-6 --no-auto-commit 옵션을 지정하지 않으면 기본적으로 CSQL 인터프리터는 자동 커밋 모드로 작동되고, 입력된 SQL 문이 실행될 때마다 자동으로 커밋 되는데, 자동 커밋을 방지하기가 필요하면 --no-auto-commit 옵션을 사용해 CSQL을 접속한다.

Ex) csql –C –u db_user –p ‘password’ --no-auto-commit demodb

 

6, CSQL 세션 명령어

CSQL 인터프리터에 접속 이후 제어하는 명령어가 있는데 이를 세션 명령어라고 한다. 모든 세션 명령어는 반드시 세미콜론(;)으로 시작해야 한다, CSQL 세션 명령어들은 아래와 같이 ;help를 수행하면 세션 명령어를 확인할 수 있고 SQL 마지막에 세미콜론(;)을 붙이면 질의가 수행된다.

Ex) csql –C –u dba –p ‘password’ demodb

Csq>;help

=== <Help: Session Command Summary> ===

:.

   ;EXit                        - exit program.

   ;CLear                       - clear command buffer.

   ;EDIT                        - invoke system editor with command buffer.

   ;LISt                         - display the content of command buffer.

   ;RUn                         - execute sql in command buffer.

   ;Xrun                        - execute sql in command buffer,

:

csql> select * from event where rownum < 5; à SQL 마지막에 세미콜론(;)
=== <Result of SELECT Command in Line 1> ===
         code  sports                name                  gender                    players
=========================================================
        20421  'Wrestling'           'Greco-Roman 97kg'    'M'                             1
        20420  'Wrestling'           'Greco-Roman 96kg'    'M'                             1
        20419  'Wrestling'           'Greco-Roman 90kg'    'M'                             1
        20418  'Wrestling'           'Greco-Roman -90 kg'  'M'                             1

csql> ;sc event à 테이블 스키마 정보 확인
=== <Help: Schema of a Class> ===
 <Class Name>
     event
 <Attributes>
     code                 INTEGER NOT NULL
     sports               CHARACTER VARYING(50)
     name                 CHARACTER VARYING(50)
     gender               CHARACTER(1)
     players              INTEGER
 <Constraints>
     PRIMARY KEY pk_event_code ON event (code)

csql> ;exit à CSQL 종료/나가기

 


  1. 멀티미디어 데이터 관리를 위한 CUBRID GLO Method 활용

    Date2009.12.11 Category기타 Byjanus Views16191
    Read More
  2. QTADO를 이용하여 CUBRID접속하기

    Date2009.12.10 CategoryODBC/OLEDB Bycubebridge Views21489
    Read More
  3. CUBRID 개발 가이드

    Date2009.12.09 Category기타 Byjanus Views18368
    Read More
  4. 서비스 오픈을 위한 CUBRID 구성 가이드

    Date2009.11.28 Category기타 By손승일 Views23204
    Read More
  5. CUBRID R2.0 ISV(Independent Software Vendor)설치방법

    Date2009.11.20 CategoryInstall Bycubebridge Views27920
    Read More
  6. CUBRID 2008 R2.0의 CM변경사항

    Date2009.11.20 Category기타 Byjanus Views17045
    Read More
  7. CUBRID Java Stored Procedure와 DB Server Memory 관계

    Date2009.10.31 CategoryJava By손승일 Views40190
    Read More
  8. QuantumDB Eclipse Plugin을 사용하여 CUBRID연동하기

    Date2009.10.06 CategoryJava Bycubebridge Views28920
    Read More
  9. windows 환경에서 여러버젼의 CUBRID 설치하여 사용하기

    Date2009.09.16 CategoryWindows By남재우 Views26187
    Read More
  10. CUBRID HA introduction

    Date2009.08.28 Category기타 Byjanus Views20862
    Read More
  11. CUBRID2008 R2.0 실행계획 분석하기

    Date2009.08.27 Category기타 Bycubebridge Views21917
    Read More
  12. CUBRID 2008 + XE 설치 가이드 [R2.0]

    Date2009.08.27 Category기타 ByPrototype Views16573
    Read More
  13. CUBRID 설치 및 매니저 구동하기(CUBRID 2008 R2.0)

    Date2009.08.18 CategoryInstall ByCUBRID_DEV Views30039
    Read More
  14. DB의 스키마와 데이터를 파일로 내려받기

    Date2009.08.17 Category기타 Byseongjoon Views20008
    Read More
  15. CUBRID 주요 명령 요약 정리

    Date2009.08.17 Category기타 By정만영 Views17187
    Read More
  16. CUBRID Manager login 안내

    Date2009.08.17 Category기타 Byseongjoon Views16200
    Read More
  17. CUBRID2008_보안설정[R2.0]

    Date2009.08.17 Category기타 Byseongjoon Views16272
    Read More
  18. CUBRID2008R1.x to 2.0 마이그레이션 가이드 (32bit 기준)

    Date2009.08.17 CategoryLinux By정만영 Views27200
    Read More
  19. CUBRID Tutorial (Unix/Linux)

    Date2009.08.17 CategoryLinux By정만영 Views27884
    Read More
  20. CUBRID2008R2.0 Windows BACKUP 자동화 설정하기

    Date2009.08.17 CategoryWindows By정만영 Views27942
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales