Base de données H2 - Créer

CREATE est une commande SQL générique utilisée pour créer des tables, des schémas, des séquences, des vues et des utilisateurs dans le serveur de base de données H2.

Créer une table

Create Table est une commande utilisée pour créer une table définie par l'utilisateur dans la base de données actuelle.

Syntaxe

Voici la syntaxe générique de la commande Créer une table.

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

En utilisant la syntaxe générique de la commande Create Table, nous pouvons créer différents types de tables telles que les tables mises en cache, les tables mémoire et les tables temporaires. Voici la liste pour décrire les différentes clauses de la syntaxe donnée.

  • CACHED- Les tables mises en cache sont le type par défaut pour les tables régulières. Cela signifie que le nombre de lignes n'est pas limité par la mémoire principale.

  • MEMORY- Les tables mémoire sont le type par défaut pour les tables temporaires. Cela signifie que les tables de mémoire ne doivent pas devenir trop volumineuses et que les données d'index sont conservées dans la mémoire principale.

  • TEMPORARY- Les tables temporaires sont supprimées lors de la fermeture ou de l'ouverture d'une base de données. Fondamentalement, les tables temporaires sont de deux types -

    • Type GLOBAL - Accessible par toutes les connexions.

    • Type LOCAL - Accessible par la connexion actuelle.

    Le type par défaut des tables temporaires est le type global. Les index des tables temporaires sont conservés dans la mémoire principale, sauf si la table temporaire est créée à l'aide de CREATE CACHED TABLE.

  • ENGINE - L'option ENGINE n'est requise que lorsque des implémentations de table personnalisées sont utilisées.

  • NOT PERSISTENT - C'est un modificateur pour conserver les données complètes de la table en mémoire et toutes les lignes sont perdues lorsque la base de données est fermée.

  • TRANSACTIONAL - C'est un mot-clé qui valide une transaction ouverte et cette commande ne prend en charge que les tables temporaires.

Exemple

Dans cet exemple, créons une table nommée tutorials_tbl en utilisant les données données suivantes.

Sr.Non Nom de colonne Type de données
1 ID Int
2 Titre Varchar (50)
3 Auteur Varchar (20)
4 Date de soumission Date

La requête suivante est utilisée pour créer une table tutorials_tbl avec les données de colonne données.

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

La requête ci-dessus produit la sortie suivante.

(0) rows effected

Créer un schéma

Create Schema est une commande utilisée pour créer un schéma dépendant de l'utilisateur sous une autorisation particulière (sous l'utilisateur actuellement enregistré).

Syntaxe

Voici la syntaxe générique de la commande Créer un schéma.

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

Dans la syntaxe générique ci-dessus, AUTHORIZATION est un mot clé utilisé pour fournir le nom d'utilisateur respectif. Cette commande est facultative, ce qui signifie que si nous ne fournissons pas le nom d'utilisateur, elle considérera l'utilisateur actuel. L'utilisateur qui exécute la commande doit avoir des droits d'administrateur, ainsi que le propriétaire.

Cette commande valide une transaction ouverte dans cette connexion.

Exemple

Dans cet exemple, créons un schéma nommé test_schema sous utilisateur SA, en utilisant la commande suivante.

CREATE SCHEMA test_schema AUTHORIZATION sa;

La commande ci-dessus produit la sortie suivante.

(0) rows effected

Créer une séquence

La séquence est un concept utilisé pour générer un nombre en suivant une séquence pour id ou toute valeur de colonne aléatoire.

Syntaxe

Voici la syntaxe générique de la commande 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 ]

Cette syntaxe générique est utilisée pour créer une séquence. Le type de données d'une séquence estBIGINT. Dans cette séquence, les valeurs ne sont jamais réutilisées, même lorsque la transaction est annulée.

Exemple

Dans cet exemple, créons une séquence nommée SEQ_ID, en utilisant la requête suivante.

CREATE SEQUENCE SEQ_ID;

La requête ci-dessus produit la sortie suivante.

(0) rows effected