H2-Datenbank - Erstellen

CREATE ist ein generischer SQL-Befehl zum Erstellen von Tabellen, Schemas, Sequenzen, Ansichten und Benutzern auf dem H2-Datenbankserver.

Tabelle erstellen

Tabelle erstellen ist ein Befehl zum Erstellen einer benutzerdefinierten Tabelle in der aktuellen Datenbank.

Syntax

Im Folgenden finden Sie die generische Syntax für den Befehl "Tabelle erstellen".

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

Mithilfe der generischen Syntax des Befehls "Tabelle erstellen" können verschiedene Tabellentypen wie zwischengespeicherte Tabellen, Speichertabellen und temporäre Tabellen erstellt werden. Im Folgenden finden Sie eine Liste, in der verschiedene Klauseln aus der angegebenen Syntax beschrieben werden.

  • CACHED- Die zwischengespeicherten Tabellen sind der Standardtyp für reguläre Tabellen. Dies bedeutet, dass die Anzahl der Zeilen nicht durch den Hauptspeicher begrenzt ist.

  • MEMORY- Die Speichertabellen sind der Standardtyp für temporäre Tabellen. Dies bedeutet, dass die Speichertabellen nicht zu groß werden sollten und die Indexdaten im Hauptspeicher gespeichert werden.

  • TEMPORARY- Temporäre Tabellen werden beim Schließen oder Öffnen einer Datenbank gelöscht. Grundsätzlich gibt es zwei Arten von temporären Tabellen:

    • GLOBAL-Typ - Zugänglich für alle Verbindungen.

    • LOKALER Typ - Zugriff über die aktuelle Verbindung.

    Der Standardtyp für temporäre Tabellen ist der globale Typ. Indizes temporärer Tabellen werden im Hauptspeicher gespeichert, es sei denn, die temporäre Tabelle wird mit CREATE CACHED TABLE erstellt.

  • ENGINE - Die Option ENGINE ist nur erforderlich, wenn benutzerdefinierte Tabellenimplementierungen verwendet werden.

  • NOT PERSISTENT - Es ist ein Modifikator, um die vollständigen Tabellendaten im Speicher zu halten, und alle Zeilen gehen verloren, wenn die Datenbank geschlossen wird.

  • TRANSACTIONAL - Es ist ein Schlüsselwort, das eine offene Transaktion festschreibt, und dieser Befehl unterstützt nur temporäre Tabellen.

Beispiel

In diesem Beispiel erstellen wir eine Tabelle mit dem Namen tutorials_tbl unter Verwendung der folgenden angegebenen Daten.

Sr.Nr. Spaltenname Datentyp
1 ICH WÜRDE Int
2 Titel Varchar (50)
3 Autor Varchar (20)
4 Abgabetermin Datum

Die folgende Abfrage wird zum Erstellen einer Tabelle verwendet tutorials_tbl zusammen mit den angegebenen Spaltendaten.

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

Die obige Abfrage erzeugt die folgende Ausgabe.

(0) rows effected

Schema erstellen

Schema erstellen ist ein Befehl zum Erstellen eines benutzerabhängigen Schemas unter einer bestimmten Berechtigung (unter dem aktuell registrierten Benutzer).

Syntax

Im Folgenden finden Sie die generische Syntax des Befehls "Schema erstellen".

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

In der obigen generischen Syntax ist AUTHORIZATION ein Schlüsselwort, mit dem der jeweilige Benutzername angegeben wird. Dieser Befehl ist optional. Wenn wir den Benutzernamen nicht angeben, wird der aktuelle Benutzer berücksichtigt. Der Benutzer, der den Befehl ausführt, muss über Administratorrechte sowie den Eigentümer verfügen.

Dieser Befehl schreibt in diesem Zusammenhang eine offene Transaktion fest.

Beispiel

In diesem Beispiel erstellen wir ein Schema mit dem Namen test_schema Verwenden Sie unter SA-Benutzer den folgenden Befehl.

CREATE SCHEMA test_schema AUTHORIZATION sa;

Der obige Befehl erzeugt die folgende Ausgabe.

(0) rows effected

Sequenz erstellen

Sequenz ist ein Konzept, das verwendet wird, um eine Zahl zu generieren, indem einer Sequenz für ID oder zufällige Spaltenwerte gefolgt wird.

Syntax

Es folgt die generische Syntax des Befehls 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 ]

Diese generische Syntax wird zum Erstellen einer Sequenz verwendet. Der Datentyp einer Sequenz istBIGINT. In dieser Sequenz werden Werte niemals wiederverwendet, selbst wenn die Transaktion rückgängig gemacht wird.

Beispiel

In diesem Beispiel erstellen wir eine Sequenz mit dem Namen SEQ_IDmit der folgenden Abfrage.

CREATE SEQUENCE SEQ_ID;

Die obige Abfrage erzeugt die folgende Ausgabe.

(0) rows effected