H2 데이터베이스-생성
CREATE는 H2 데이터베이스 서버에서 테이블, 스키마, 시퀀스, 뷰 및 사용자를 생성하는 데 사용되는 일반 SQL 명령입니다.
테이블 생성
테이블 만들기는 현재 데이터베이스에서 사용자 정의 테이블을 만드는 데 사용되는 명령입니다.
통사론
다음은 테이블 만들기 명령의 일반 구문입니다.
CREATE [ CACHED | MEMORY ] [ TEMP | [ GLOBAL | LOCAL ] TEMPORARY ]
TABLE [ IF NOT EXISTS ] name
[ ( { columnDefinition | constraint } [,...] ) ]
[ ENGINE tableEngineName [ WITH tableEngineParamName [,...] ] ]
[ NOT PERSISTENT ] [ TRANSACTIONAL ]
[ AS select ]
테이블 생성 명령의 일반 구문을 사용하여 캐시 된 테이블, 메모리 테이블 및 임시 테이블과 같은 다양한 유형의 테이블을 생성 할 수 있습니다. 다음은 주어진 구문에서 다른 절을 설명하는 목록입니다.
CACHED− 캐시 된 테이블은 일반 테이블의 기본 유형입니다. 이는 행 수가 주 메모리에 의해 제한되지 않음을 의미합니다.
MEMORY− 메모리 테이블은 임시 테이블의 기본 유형입니다. 이것은 메모리 테이블이 너무 커지지 않아야하고 인덱스 데이터가 메인 메모리에 보관된다는 것을 의미합니다.
TEMPORARY− 데이터베이스를 닫거나 여는 동안 임시 테이블이 삭제됩니다. 기본적으로 임시 테이블은 두 가지 유형이 있습니다.
GLOBAL 유형-모든 연결에서 액세스 할 수 있습니다.
LOCAL 유형-현재 연결로 액세스 할 수 있습니다.
임시 테이블의 기본 유형은 전역 유형입니다. 임시 테이블의 인덱스는 CREATE CACHED TABLE을 사용하여 임시 테이블을 생성하지 않는 한 메인 메모리에 보관됩니다.
ENGINE − ENGINE 옵션은 사용자 정의 테이블 구현이 사용되는 경우에만 필요합니다.
NOT PERSISTENT − 전체 테이블 데이터를 메모리에 유지하는 수정 자이며 데이터베이스가 닫히면 모든 행이 손실됩니다.
TRANSACTIONAL − 오픈 트랜잭션을 커밋하는 키워드로 임시 테이블 만 지원합니다.
예
이 예에서는 주어진 다음 데이터를 사용하여 tutorials_tbl이라는 테이블을 생성 해 보겠습니다.
Sr. 아니요 | 열 이름 | 데이터 형식 |
---|---|---|
1 | 신분증 | Int |
2 | 표제 | 바르샤 르 (50) |
삼 | 저자 | 바르샤 르 (20) |
4 | 제출 날짜 | 데이트 |
다음 쿼리는 테이블을 만드는 데 사용됩니다. tutorials_tbl 주어진 열 데이터와 함께.
CREATE TABLE tutorials_tbl (
id INT NOT NULL,
title VARCHAR(50) NOT NULL,
author VARCHAR(20) NOT NULL,
submission_date DATE
);
위의 쿼리는 다음 출력을 생성합니다.
(0) rows effected
스키마 생성
스키마 생성은 특정 권한 (현재 등록 된 사용자 아래)에 따라 사용자 종속 스키마를 생성하는 데 사용되는 명령입니다.
통사론
다음은 Create Schema 명령의 일반 구문입니다.
CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
위의 일반 구문에서 AUTHORIZATION은 각 사용자 이름을 제공하는 데 사용되는 키워드입니다. 이 명령은 선택 사항입니다. 즉, 사용자 이름을 제공하지 않으면 현재 사용자를 고려합니다. 명령을 실행하는 사용자는 소유자뿐 아니라 관리자 권한이 있어야합니다.
이 명령은이 연결에서 열린 트랜잭션을 커밋합니다.
예
이 예에서는 다음과 같은 스키마를 생성하겠습니다. test_schema SA 사용자에서 다음 명령을 사용합니다.
CREATE SCHEMA test_schema AUTHORIZATION sa;
위의 명령은 다음 출력을 생성합니다.
(0) rows effected
시퀀스 생성
시퀀스는 id 또는 임의의 열 값에 대한 시퀀스를 따라 숫자를 생성하는 데 사용되는 개념입니다.
통사론
다음은 create sequence 명령의 일반 구문입니다.
CREATE SEQUENCE [ IF NOT EXISTS ] newSequenceName [ START WITH long ]
[ INCREMENT BY long ]
[ MINVALUE long | NOMINVALUE | NO MINVALUE ]
[ MAXVALUE long | NOMAXVALUE | NO MAXVALUE ]
[ CYCLE long | NOCYCLE | NO CYCLE ]
[ CACHE long | NOCACHE | NO CACHE ]
이 일반 구문은 시퀀스를 만드는 데 사용됩니다. 시퀀스의 데이터 유형은 다음과 같습니다.BIGINT. 이 시퀀스에서는 트랜잭션이 롤백 된 경우에도 값이 재사용되지 않습니다.
예
이 예에서는 다음과 같은 시퀀스를 생성하겠습니다. SEQ_ID, 다음 쿼리를 사용합니다.
CREATE SEQUENCE SEQ_ID;
위의 쿼리는 다음 출력을 생성합니다.
(0) rows effected