[CUBRID] - CSQL 인터프리터 0 0 3,088

by 문학청년 [CUBRID 노하우/팁/자료] CUBRID 큐브리드 인터프리터 CSQL [2009.11.13 18:11:00]


본 문서에서는 CUBRID(큐브리드)의 CSQL을 소개하고 간단하게 사용해보는 방법을 소개합니다.



CSQL 인터프리터



CSQL 인터프리터 소개


SQL 사용을 위한 도구

CSQL 인터프리터는 CUBRID와 함께 설치되는 대화형(interactive) 방식과 일괄 수행(batch) 방식으로 SQL 질의를 수행하고 수행 결과를 조회할 수 있는 프로그램이다. CSQL 인터프리터는 명령어 라인 입력 방식의 인터페이스를 제공하며, 입력된 SQL 문장과 그 결과는 나중에 사용하기 위해서 파일에 저장할 수도 있다.

CSQL 인터프리터는 CUBRID를 사용하는 가장 기본적이고 손쉬운 방법이다. CUBRID를 사용하는데 제공되는 다양한 API(JDBC, ODBC, PHP, CCI 등)를 활용하여 데이터베이스 응용 프로그램을 작성할 수 있다. 또한, CUBRID에서 제공하는 관리 및 질의 도구인 CUBRID 매니저를 사용할 수도 있다. 사용자는 CSQL 인터프리터가 제공하는 터미널 기반의 환경에서 SQL 질의를 생성하고, 수행 결과를 조회할 수 있다.

CSQL 인터프리터는 CUBRID 데이터베이스에 접속하여 SQL 문을 통해 다양한 작업을 수행한다. CSQL 인터프리터를 이용해 다음과 같은 작업을 수행할 수 있다.



  • SQL 문을 이용하여 데이터베이스 조회, 갱신, 삭제 등의 작업
  • 외부 셸 명령 실행
  • 조회 결과의 저장 혹은 출력
  • SQL 스크립트 파일의 작성 및 실행
  • 테이블 스키마 조회
  • 데이터베이스 서버 시스템 파라미터의 조회 및 변경
  • 다양한 데이터베이스 정보(스키마, 트리거, 지연 트리거, workspace, 잠금, 통계) 조회

DBA를 위한 도구

DBA(Database Administrator)는 일상적인 많은 관리 업무를 수행하기 위해서 CUBRID가 설치된 시스템에 접속해서 CUBRID가 제공하는 다양한 관리 유틸리티를 이용해서 작업을 수행한다. 따라서, 터미널 기반의 인터페이스를 제공하는 CSQL 인터프리터는 DBA가 데이터베이스 관리 업무를 수행하는데 유용하게 사용된다. 또한, CSQL 인터프리터는 DBA에게 필요한 다양한 데이터베이스 정보를 제공한다.

CSQL 인터프리터는 독립 모드(Standalone Mode)로 실행될 수도 있다. 독립 실행 모드는 CSQL 인터프리터가 서버 프로세스의 기능을 포함하여 직접 데이터베이스 파일에 접근하여 수행하는 방식이다. 즉 별도의 데이터베이스 서버 프로세스가 구동되어 있지 않은 상태에서 해당 데이터베이스를 대상으로 SQL 문을 실행할 수 있다. CSQL 인터프리터는 데이터베이스 서버나 브로커 등 어떠한 다른 프로그램의 도움 없이 csql 유틸리티 하나로 데이터베이스를 이용할 수 있는 강력한 수단이다.




CSQL 실행 모드


SQL 사용을 위한 도구

CSQL 인터프리터는 데이터베이스에서 스키마 또는 데이터를 다루기 위한 SQL 문을 입력하고 수행할 수 있다. csql 유틸리티를 실행하면 나타나는 프롬프트에 사용자는 구문을 입력한다. 구문을 입력한 후 실행하면 다음 라인에 결과가 표시되는데, 이를 대화형 모드라고 한다.




일괄 수행 모드(Batch Mode)

사용자는 원하는 SQL 문을 임의의 파일에 저장한 후 csql 유틸리티가 해당 파일을 읽도록 구문을 실행할 수 있다. 이를 일괄 수행(배치형) 모드라고 한다. 일괄 수행 모드에 대한 자세한 내용은 "CSQL 시작 옵션"을 참조한다.




독립 모드(Standalone Mode)

독립 실행 모드는 CSQL 인터프리터가 서버 프로세스의 기능을 포함하여 직접 데이터베이스 파일에 접근하여 수행하는 방식이다. 즉 별도의 데이터베이스 서버 프로세스가 구동되어 있지 않은 상태에서 해당 데이터베이스를 대상으로 SQL 문을 실행할 수 있다. 독립 모드는 동시에 한 사용자만이 접근이 가능하므로 DBA(Database Administrator)가 관리 작업을 위해 수행하는데 적합한 모드이다.




클라이언트/서버 모드(Client/Server Mode)

클라이언트/서버 모드는 일반적으로 해당 CSQL 인터프리터가 클라이언트 프로세스로 동작하여 데이터베이스 서버 프로세스에 접속하는 방식으로 사용되는 모드이다.




CSQL 사용법(구문)


로컬 호스트에서 실행

csql 유틸리티를 사용하여 CSQL 인터프리터를 실행한다. 이 때, 필요에 따라 옵션을 설정할 수 있으며, 옵션을 설정하려면 접속하려는 데이터베이스 이름을 인수로 지정한다. 다음은 로컬 서버에 위치한 데이터베이스에 접속하는 csql 유틸리티 구문이다.




구문

csql [ options ] database_name 


예제

 


원격 호스트에서 실행

다음은 원격 호스트에 위치한 데이터베이스에 접속하는 csql 유틸리티 구문이다.




구문

csql [ options ] database_name@remote_host_name 


  단, 원격 호스트에서 CSQL 인터프리터를 실행하려면 다음 사항이 선행되어야 한다.
  • 원격 호스트와 로컬 호스트에 설치된 CUBRID는 동일한 버전이어야 한다.
  • 원격 호스트와 로컬 호스트의 마스터 프로세스가 사용하는 포트 번호가 동일해야 한다.
  • -C 옵션을 사용하여 클라이언트/서버 모드로 원격 호스트에 접속해야 한다.

예제

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


csql -C demodb@192.168.1.3 


세션 명령어

CSQL 인터프리터에는 SQL 문 이외에 CSQL 인터프리터를 제어하는 특별한 명령어가 있으며 이를 세션 명령어라고 한다. 모든 세션 명령어는 반드시 세미콜론(;)으로 시작해야 한다.




CSQL 인터프리터 종료(;Exit)

csql> ;ex 


SQL 문 실행(;Run)

csql> ;ru 


SQL문 실행 후 명령어 버퍼 초기화(;Xrun)

csql> ;x 


자동 승인 모드 설정(;AUtocommit)

csql> ;au off 
AUTOCOMMIT IS OFF 


대상 데이터베이스 이름 출력(;DATAbase)

csql> ;sc event <?XML:NAMESPACE PREFIX = HELP /><?XML:NAMESPACE PREFIX = HELP /><?XML:NAMESPACE PREFIX = HELP />

 

 

         세션 명령어에 대한 자세한 정보는 아래 링크를 참조한다.

 

http://www.cubrid.com/online_manual/cubrid_820/csql/csql_sessioncommand.htm

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입