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