Baza danych H2 - Utwórz

CREATE to ogólne polecenie SQL używane do tworzenia tabel, schematów, sekwencji, widoków i użytkowników na serwerze H2 Database.

Utwórz tabelę

Utwórz tabelę to polecenie używane do tworzenia tabeli zdefiniowanej przez użytkownika w bieżącej bazie danych.

Składnia

Poniżej przedstawiono ogólną składnię polecenia Utwórz tabelę.

CREATE [ CACHED | MEMORY ] [ TEMP | [ GLOBAL | LOCAL ] TEMPORARY ] 
TABLE [ IF NOT EXISTS ] name 
[ ( { columnDefinition | constraint } [,...] ) ] 
[ ENGINE tableEngineName [ WITH tableEngineParamName [,...] ] ] 
[ NOT PERSISTENT ] [ TRANSACTIONAL ] 
[ AS select ]

Używając ogólnej składni polecenia Utwórz tabelę, możemy tworzyć różne typy tabel, takie jak tabele buforowane, tabele pamięci i tabele tymczasowe. Poniżej znajduje się lista opisująca różne klauzule z podanej składni.

  • CACHED- Tabele w pamięci podręcznej są domyślnym typem zwykłych tabel. Oznacza to, że liczba wierszy nie jest ograniczona przez pamięć główną.

  • MEMORY- Tabele pamięci są domyślnym typem tabel tymczasowych. Oznacza to, że tabele pamięci nie powinny być zbyt duże, a dane indeksowe są przechowywane w pamięci głównej.

  • TEMPORARY- Tabele tymczasowe są usuwane podczas zamykania lub otwierania bazy danych. Zasadniczo tabele tymczasowe są dwojakiego rodzaju -

    • Typ GLOBALNY - dostępny dla wszystkich połączeń.

    • Typ LOKALNY - dostępny dla bieżącego połączenia.

    Domyślnym typem tabel tymczasowych jest typ globalny. Indeksy tabel tymczasowych są przechowywane w pamięci głównej, chyba że tabela tymczasowa jest tworzona za pomocą polecenia CREATE CACHED TABLE.

  • ENGINE - Opcja ENGINE jest wymagana tylko wtedy, gdy używane są niestandardowe implementacje tabel.

  • NOT PERSISTENT - Jest to modyfikator, który zachowuje pełne dane tabeli w pamięci, a wszystkie wiersze są tracone po zamknięciu bazy danych.

  • TRANSACTIONAL - Jest to słowo kluczowe, które zatwierdza otwartą transakcję, a to polecenie obsługuje tylko tabele tymczasowe.

Przykład

W tym przykładzie stwórzmy tabelę o nazwie tutorials_tbl, używając następujących danych.

Sr.No Nazwa kolumny Typ danych
1 ID Int
2 Tytuł Varchar Maszyny (50)
3 Autor Varchar Maszyny (20)
4 Termin składania Data

Poniższe zapytanie służy do tworzenia tabeli tutorials_tbl wraz z podanymi danymi kolumny.

CREATE TABLE tutorials_tbl ( 
   id INT NOT NULL, 
   title VARCHAR(50) NOT NULL, 
   author VARCHAR(20) NOT NULL, 
   submission_date DATE 
);

Powyższe zapytanie daje następujące dane wyjściowe.

(0) rows effected

Utwórz schemat

Utwórz schemat to komenda służąca do tworzenia schematu zależnego od użytkownika w ramach określonej autoryzacji (w ramach aktualnie zarejestrowanego użytkownika).

Składnia

Poniżej przedstawiono ogólną składnię polecenia Utwórz schemat.

CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]

W powyższej składni ogólnej AUTHORIZATION jest słowem kluczowym używanym do podania odpowiedniej nazwy użytkownika. To polecenie jest opcjonalne, co oznacza, że ​​jeśli nie podamy nazwy użytkownika, będzie ono uwzględniać bieżącego użytkownika. Użytkownik wykonujący polecenie musi mieć uprawnienia administratora, a także właściciel.

To polecenie zatwierdza otwartą transakcję w tym połączeniu.

Przykład

W tym przykładzie stwórzmy schemat o nazwie test_schema w ramach użytkownika SA, używając następującego polecenia.

CREATE SCHEMA test_schema AUTHORIZATION sa;

Powyższe polecenie daje następujący wynik.

(0) rows effected

Utwórz sekwencję

Sekwencja jest pojęciem używanym do generowania liczby poprzez śledzenie sekwencji dla id lub dowolnych losowych wartości kolumn.

Składnia

Poniżej znajduje się ogólna składnia polecenia tworzenia sekwencji.

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 ]

Ta ogólna składnia służy do tworzenia sekwencji. Typ danych sekwencji toBIGINT. W tej sekwencji wartości nigdy nie są ponownie używane, nawet jeśli transakcja jest wycofywana.

Przykład

W tym przykładzie stwórzmy sekwencję o nazwie SEQ_ID, używając następującego zapytania.

CREATE SEQUENCE SEQ_ID;

Powyższe zapytanie daje następujące dane wyjściowe.

(0) rows effected