이 페이지에서는 Spanner CLI에서 지원되는 명령어를 요약합니다.
| 명령어 문법 | 설명 |
|---|---|
SHOW DATABASES;
|
데이터베이스를 나열합니다. |
USE
|
데이터베이스를 전환합니다. 설정한 역할이 세분화된 액세스 제어에 사용됩니다. |
CREATE DATABASE
|
데이터베이스를 만듭니다. |
DROP DATABASE
|
데이터베이스를 삭제합니다. |
SHOW TABLES [
|
테이블을 나열합니다. 스키마를 제공하지 않으면 Spanner에서 기본 스키마를 사용합니다. |
SHOW CREATE TABLE
|
테이블 스키마를 표시합니다. |
SHOW COLUMNS FROM
|
열을 표시합니다. |
SHOW INDEX FROM
|
색인을 표시합니다. |
CREATE TABLE ...;
|
테이블 만들기 |
ALTER TABLE ...;
|
테이블 스키마를 변경합니다. |
DROP TABLE ...;
|
테이블을 삭제합니다. |
TRUNCATE TABLE
|
테이블을 자릅니다. 행만 삭제합니다. 이 명령어는 partitioned DML 문으로 실행되므로 비원자적입니다. |
CREATE INDEX ...;
|
색인을 만듭니다. |
DROP INDEX ...;
|
색인을 삭제합니다. |
CREATE ROLE ...;
|
역할을 만듭니다. 자세한 내용은 Spanner IAM 개요를 참조하세요. |
DROP ROLE ...;
|
역할을 삭제합니다. |
GRANT ...;
|
역할에 권한을 부여합니다. |
REVOKE ...;
|
역할에서 권한을 취소합니다. |
SELECT ...;
|
쿼리를 실행합니다. |
{ INSERT|UPDATE|DELETE } ...;
|
DML 문을 실행합니다. |
PARTITIONED { UPDATE|DELETE } ...;
|
Partitioned DML 문을 실행합니다. 이 명령어는 비원자적입니다. |
EXPLAIN SELECT ...;
|
쿼리 실행 계획을 표시합니다. 자세한 내용은 쿼리 실행 계획을 참조하세요. |
EXPLAIN {INSERT|UPDATE|DELETE} ...;
|
DML 실행 계획을 표시합니다. |
EXPLAIN ANALYZE SELECT ...;
|
옵티마이저 통계와 함께 쿼리 실행 계획을 표시합니다. 자세한 내용은 옵티마이저 통계 패키지를 참조하세요. |
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...;
|
옵티마이저 통계와 함께 DML 실행 계획을 표시합니다. 자세한 내용은 옵티마이저 통계 패키지를 참조하세요. |
DESCRIBE SELECT ...;
|
쿼리 결과 형태를 표시합니다. |
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...;
|
DML 결과 형태를 표시합니다. |
ANALYZE;
|
새 쿼리 옵티마이저 통계 패키지 생성을 시작합니다. |
START BATCH DDL;
|
DDL 일괄 처리를 시작합니다. |
RUN BATCH;
|
일괄 명령어를 실행합니다. |
ABORT BATCH;
|
일괄 명령어를 취소합니다. |
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG
|
읽기-쓰기 트랜잭션을 시작합니다. 자세한 내용은 트랜잭션 명령어를 참조하세요. |
COMMIT;
|
읽기-쓰기 트랜잭션을 커밋합니다. |
ROLLBACK;
|
읽기-쓰기 트랜잭션을 롤백(실행취소)합니다. |
BEGIN RO [{
|
읽기 전용 트랜잭션을 시작합니다. seconds 및 RFC 3339-formatted_time은 비활성 읽기에 사용됩니다. 자세한 내용은 트랜잭션 명령어를 참조하세요. |
CLOSE;
|
읽기 전용 트랜잭션을 종료합니다. |
EXIT;
|
Spanner CLI를 종료합니다. |
BATCH 명령어
Spanner CLI를 사용하면 일괄 모드에서 DDL 작업을 실행할 수 있습니다. 일괄 모드는 여러 DDL 문을 단일 작업으로 그룹화하여 스키마 변경 속도를 높입니다.
Spanner CLI는 다음 BATCH 명령어를 지원합니다.
START BATCH DDL;
이 명령어는 DDL 일괄 처리를 시작합니다. 이 세션 내에서 실행하는 모든 후속 DDL 문(예: CREATE TABLE, ALTER TABLE, DROP INDEX)은 대기 상태로 유지되며 데이터베이스에 즉시 적용되지 않습니다.
RUN BATCH;
START BATCH DDL 및 후속 DDL 문을 실행한 후 RUN
BATCH 명령어를 사용하여 대기 중인 모든 DDL 작업을 Spanner에 단일 요청으로 전송합니다. 이 명령어는 개별 DDL 문과 관련된 오버헤드를 줄여 스키마 수정 속도를 높입니다.
ABORT BATCH;
대기 중인 DDL 변경사항을 적용하지 않으려면 ABORT BATCH 명령어를 사용하세요. 이 명령어는 START BATCH DDL 명령어를 실행한 이후에 수집된 모든 DDL 문을 삭제하여 일괄 처리를 효과적으로 롤백하고 데이터베이스 스키마를 변경되지 않은 상태로 둡니다.
트랜잭션 명령어
Spanner CLI는 다음 트랜잭션 SQL 명령어를 지원합니다.
BEGIN [TRANSACTION] [RO] [seconds|RFC 3339-formatted_time ]
[ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name];
트랜잭션을 시작합니다. 다음 옵션을 구성할 수 있습니다.
- 트랜잭션 유형: 읽기-쓰기(파라미터 필요 없음) 또는 읽기 전용(
RO) 트랜잭션을 시작합니다. - 비활성 읽기 시간: 특정 타임스탬프에서 데이터를 읽을 시간을 초 또는 RFC 3339 형식으로 설정합니다.
- 격리 수준: 읽기-쓰기 트랜잭션의 격리 수준을 설정합니다. 기본적으로 직렬화 가능한 격리가 사용됩니다. 자세한 내용은 격리 수준 개요를 참조하세요.
- 우선순위: 트랜잭션의 요청 우선순위를 설정합니다. 기본적으로 중간 우선순위가 설정됩니다.
태그:
BEGIN명령어를 사용하여 트랜잭션 태그를 설정합니다.- 읽기-쓰기 트랜잭션에서
BEGIN TAG tag를 사용하여 태그를 추가합니다. Spanner CLI는 태그를 트랜잭션 태그로 추가합니다. 이 태그는 트랜잭션 내에서 요청 태그로도 사용됩니다. - 읽기 전용 트랜잭션에서
BEGIN RO TAG tag로 태그를 추가합니다. 읽기 전용 트랜잭션은 트랜잭션 태그를 지원하지 않으므로 Spanner는 태그를 요청 태그로 추가합니다.
- 읽기-쓰기 트랜잭션에서
COMMIT;
읽기-쓰기 트랜잭션의 모든 변경사항을 완료하고 영구적으로 만듭니다.
CLOSE;
읽기 전용 트랜잭션을 종료합니다.
ROLLBACK;
읽기-쓰기 트랜잭션을 롤백(실행취소)합니다.
다음 단계
- Spanner CLI 자세히 알아보기