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