쿼리 실행

쿼리 콘솔

저희 경험에 의하면 쿼리 콘솔은 일상적으로 사용하는 SQL을 작성하기에 가장 좋은 곳입니다. 모든 데이터 소스에는 저마다 고유한 기본 콘솔이 있습니다. 콘솔을 열려면 컨텍스트 메뉴로 이동해서 Open Console(콘솔 열기)을 클릭하거나 단축키 F4를 사용하세요.

여기서 SQL을 작성한 후, 실행하고 결과를 확인할 수 있습니다. 아주 간단하죠.

어떤 이유에서든 데이터 소스에 사용할 또 다른 콘솔을 생성하려면 컨텍스트 메뉴 → New(새로 만들기) → Console(콘솔)에서 이 작업을 수행할 수 있습니다

스키마 전환기

여러 콘솔을 만들어 수많은 쿼리를 동시에 관리하세요. 각 콘솔에는 데이터베이스/스키마 전환기가 하나씩 있습니다. PostgreSQL로 작업하는 경우 검색 경로를 여기에서 정의하세요.

선택 코드 실행

일부 코드를 선택한 후 해당 코드만 실행하세요. 선택한 쿼리는 그대로 실행되며 DataGrip은 해당 문자열을 데이터베이스로 전송해서 결과를 받기만 합니다. 이 기능은 IDE가 쿼리 오류를 올바르지 않게 탐지하는 경우 유용할 수 있습니다.

실행 옵션

DataGrip은 스마트한 쿼리 실행 옵션을 제공합니다. 커서가 쿼리 내부에 있는 경우, 몇 가지 이용 가능한 옵션을 사용해 실행을 사용자 지정할 수 있습니다. 의도한 실행 동작을 정의하세요. 가장 짧은 구문 또는 가장 긴 구문을 실행하거나 실행할 항목을 선택하도록 요청하거나 전체 스크립트를 실행하도록 정의할 수 있습니다.

 

또한 Execute(실행) 액션도 있습니다. 동작을 변경하고 단축키를 지정하면 해당 액션이 완전히 독립적으로 작동합니다. 예를 들어 스크립트에서 정확한 쿼리를 선택할 필요 없이 전체 스크립트를 실행하는 액션을 만들 수 있습니다.

아래는 실행 옵션이 작동되는 방식입니다.

읽기 전용 모드

Read-Only(읽기 전용)는 데이터 소스의 속성에서 사용 설정할 수 있습니다. 해당 옵션을 선택하면 실제로 해당 JDBC 드라이버IDE 수준 읽기 전용 모드 2가지가 동시에 사용 설정됩니다.

JDBC 드라이버 읽기 전용 모드는 MySQL, PostgreSQL, AWS Redshift, H2, Derby로 작성된 수정 쿼리를 실행하지 않습니다. 이는 다른 데이터베이스 관리 시스템(DBMS)에서도 마찬가지입니다.

이 때문에 JetBrains에서는 IDE 수준 읽기 전용 모드를 제공합니다. 이 모드는 JDBC 수준 모드와 함께 활성화되므로 읽기 전용 모드에서 모든 DDL 또는 DML 쿼리에 밑줄이 그어집니다. 이를 실행하면 경고가 표시됩니다. 지금 하려는 작업이 무엇인지 정확하게 알고 있는 경우 이 작업 표시줄에서 Execute(실행)을 누르세요.

또한 이제 함수 및 프로시저의 코드 소스가 색인 생성되고 호출 트리가 백그라운드에서 빌드됩니다. 즉, 함수가 DDL 또는 DML 문을 실행하는 다른 함수를 실행(n회 반복)하는 경우에도 경고가 표시됩니다.

트랜잭션 제어

특정 데이터 소스를 작업할 때 사용하려는 트랜잭션 제어의 유형을 정의하세요. 이 옵션은 데이터 소스 속성에서 이용할 수 있습니다. Auto(자동) 모드에서는 커밋 문을 실행하는 트랜잭션을 커밋할 필요가 없지만 Manual(수동) 모드에서는 반드시 커밋해야 합니다.

표현식 평가

이 기능을 이용하면 콘솔에 쿼리를 작성하지 않아도 데이터를 볼 수 있습니다. 다른 IntelliJ 기반 IDE에서는 객체 위에서 Ctrl+Alt+F8을 누르면 빠른 평가가 실행됩니다. DataGrip에서는 쿼리 내 테이블 위에서 해당 키를 눌러야 테이블 데이터가 표시됩니다. 열 이름 위에서 Ctrl+Alt+F8을 누르면 예상 결과 모음에 해당 열의 값이 표시됩니다. 빠른 평가를 쿼리 또는 하위 쿼리의 키워드에서 동일하게 실행하는 경우 팝업에 결과가 표시됩니다. Alt+클릭을 눌러도 똑같이 작동합니다.

쿼리 실행 기록

모든 콘솔의 도구 모음에는 버튼이 있습니다 . 이 버튼을 누르면 해당 데이터 소스에서 실행된 모든 쿼리 기록이 표시됩니다. 빠른 검색을 사용할 수도 있습니다.

모든 파일은 Local History(로컬 기록)이 있다는 사실도 잊지 마세요.

전체 SQL 로그

DataGrip의 모든 쿼리는 빠짐없이 텍스트 파일로 기록됩니다. 이 파일을 열려면 Help(도움말) | Show SQL log(SQL 로그 표시)로 이동하세요.

저장된 프로시저 실행

DataGrip은 저장된 프로시저를 실행하는 코드를 생성할 수 있습니다. 필요한 매개변수 값을 입력하고 OK(확인)를 클릭하세요.

이제 소스 코드를 열어 도구 모음에서 Run(실행) 버튼을 클릭하면 프로시저가 실행됩니다. 또는 간단히 데이터베이스 트리에 있는 프로시저의 컨텍스트 메뉴에서 Execute…(실행)를 사용하세요.

안전하지 않은 쿼리

DataGrip은 DELETE 또는 UPDATE 문을 WHERE 절 없이 사용할 경우 경고 알림을 표시합니다.

계획 설명

구문 실행 계획은 쿼리에서 요구하는 데이터를 반환하기 위해 데이터베이스에서 수행하는 작업을 시각적으로 표시합니다. 이 기능은 쿼리를 최적화하는 데 도움이 됩니다.

 

계획은 테이블이나 다이어그램 이미지로 표시됩니다.

사용자 매개변수

다른 애플리케이션에서 받은 SQL 쿼리를 매개변수로 만들 수 있습니다. DataGrip은 이러한 종류의 쿼리 실행을 지원합니다.

매개변수 패턴을 편집하기 위한 UI는 Settings(설정)/Preferences(환경 설정) → Database(데이터베이스) → User Parameters(사용자 매개변수)에서 이용할 수 있습니다. 정규 표현식이 강조 표시되므로 해당 패턴이 유효하게 작동하는 파생 언어를 선택할 수 있습니다.

Structure(구조) 뷰

각 콘솔 또는 SQL 파일에는 모든 구문이 구조로 제출되는 팝업이 있습니다. 이 Structure(구조) 팝업(Ctrl+F12)에서 바로 쿼리를 실행할 수 있으며 이 기능은 대규모 스크립트에서 몇 개 쿼리를 실행해야 할 경우 유용합니다.

쿼리 결과

결과 모음

DataGrip에서 결과 모음은 수정 가능하므로 쿼리를 실행한 후에 반환되는 데이터를 변경할 수 있습니다. 이러한 작동 방식은 자동 커밋, 행 추가/삭제, 텍스트 검색, 데이터 탐색 등의 동일한 옵션이 있는 데이터 에디터와 유사합니다.

결과 비교

Diff 뷰어에서 2개의 결과 모음을 비교할 수 있습니다. DataGrip에서 차이를 강조 표시하고 사용자가 Tolerance(공차) 매개변수를 이용한 비교 기준을 관리할 수 있도록 합니다. 예를 들어 2개 행에서 1개 열의 데이터만 다를 경우 둘 다 같다고 취급하려면 Tolerance(공차) 필드에 해당 값을 입력하세요. 필요에 따라 어떤 열이든 비교 대상에서 제외할 수 있습니다.

결과의 도구 모음에서 Compare(비교) 버튼 을 클릭하고 비교하려는 다른 결과 모음을 선택하세요.

결과 탭의 이름 지정 가능

결과 확인 시 유용한 기능인 탭 이름 지정을 이용할 수 있습니다. 간단히 쿼리 전에 주석을 사용하세요.

특정 주석만 탭 이름이 되도록 하려면 설정에서 Treat text as title after(이후 텍스트를 제목으로 취급) 필드를 사용해 접두어를 지정하세요. 그러면, 해당 단어 다음에 오는 단어만 제목으로 사용됩니다.

페이지 크기를 쉽게 변경

데이터베이스에서 검색하고 싶은 줄의 수를 정의하려면 결과 모음의 도구 모음에서 이 작업을 수행할 수 있습니다.