Copyright HébergementWebs.com - License GPL

Base de données H2 - Guide rapide

Tutoriel sur la base de données h2   2021-01-04 12:14:44

Base de données H2 - Guide rapide Base de données H2 - Introduction H2 est un base de données Java légère et open source. Il peut être intégré dans des applications Java ou s"exécuter en mode client-serveur. Principalement, la base de données H2 peut être configurée pour s"exécuter en tant que base de données en mémoire, ce qui signifie que les données ne persisteront pas sur le disque. En raison de la base de données intégrée, elle n"est pas utilisée pour le développement de production, mais principalement pour le développement et les tests. Cette base de données peut être utilisée en mode intégré ou en mode serveur. Voici les principales fonctionnalités de la base de données H2 - Extrêmement rapide, open source, API JDBC Disponible en modes embarqué et serveur; bases de données en mémoire Application console basée sur un navigateur Faible encombrement - Taille de fichier jar d"environ 1,5 Mo Caractéristiques de la base de données H2 Les principales fonctionnalités de H2 Database sont les suivantes - C"est un moteur de base de données extrêmement rapide. H2 est open source et écrit en Java. Il prend en charge les API SQL et JDBC standard. Il peut également utiliser le pilote ODBC PostgreSQL. Il a intégré le mode serveur. H2 prend en charge le clustering et simultanéité multi-version . Il possède de solides fonctionnalités de sécurité. Fonctionnalités supplémentaires Voici quelques fonctionnalités supplémentaires de la base de données H2 - H2 est une base de données sur disque ou en mémoire et tables, prise en charge de base de données en lecture seule, tables temporaires. H2 fournit une prise en charge des transactions (lecture validée), des connexions multiples à validation en 2 phases, un verrouillage au niveau de la table. H2 est un optimiseur basé sur les coûts, utilisant un algorithme génétique pour les requêtes complexes, zeroadministration. H2 contient un ensemble de résultats déroulant et modifiable prise en charge, grand ensemble de résultats, tri externe des résultats, les fonctions peuvent renvoyer un ensemble de résultats. H2 prend en charge la base de données cryptée (AES), le cryptage de mot de passe SHA-256, en fonctions de cryptage et SSL. Composants de la base de données H2 Pour utiliser la base de données H2, vous devez avoir les composants suivants - Un navigateur Web Un serveur de console H2 Ceci est une application client / serveur, donc à la fois serveur et le client (un navigateur) sont nécessaires pour l"exécuter. Base de données H2 - Installation H2 est une base de données écrite en Java. Nous pouvons facilement intégrer cette base de données à notre application en utilisant JDBC. Nous pouvons l"exécuter sur de nombreuses plates-formes différentes ou sur n"importe quelle version de Java Runtime Environment. Cependant, avant d"installer la base de données, Java doit être installé sur le système. Vérifier l"installation de Java Si JDK est installé sur le système, essayez la commande suivante pour vérifier la version de Java . java –version Si JDk est installé avec succès dans le système, alors nous obtiendrons la sortie suivante. version java "1.8.0_91 " Java (TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot (TM) 64 bits Server VM (build 25.91-b14, mode mixte ) Si JDK n"est pas installé dans le système, visitez le lien suivant pour Base de données H2 à partir du lien donné. Dans ce lien, vous obtiendrez la dernière version de la base de données H2 en deux types. L"un est de type Windows Installer (c"est-à-dire le fichier .exe) et le second est le fichier zip indépendant de la plate-forme pour les autres systèmes d"exploitation. Cliquez sur le programme d"installation de Windows pour télécharger la base de données H2 compatible Windows après avoir téléchargé le fichier .exe. Dans ce cas, nous utilisent la base de données H2 avec la version 1.4.192. Étape 2: Installez la base de données H2 Après le téléchargement, nous obtenons le fichier d"installation H2 Windows (c.-à-d. L"écran suivant est la première étape du processus d"installation. Fournissez un chemin où nous voulons installer le serveur de base de données H2 comme indiqué dans la capture d"écran suivante. Comme le montre la capture d"écran ci-dessus, par défaut, elle prendra C: ProgramFiles (x86) H2 comme dossier de destination. Cliquez sur suivant pour passer à l"étape suivante. L"écran suivant apparaît. Dans la capture d"écran ci-dessus, cliquez sur le bouton Installer pour démarrer le processus d"installation. Après l"installation, nous obtenons la capture d"écran suivante. Cliquez sur Terminer pour terminer le processus d"installation. Étape 3: Vérifier l"installation de la base de données H2 Après l"installation, vérifions l"installation de la base de données dans le système. Cliquez sur Windows → tapez H2 Console → Cliquez sur l"icône de la console H2. Connectez-vous à l"URL http://localhost:" 8082 . Au moment de la connexion, la base de données H2 demandera l"enregistrement de la base de données comme indiqué dans la capture d"écran suivante. Remplissez tous les détails dans la boîte de dialogue ci-dessus, tels que les paramètres enregistrés, le nom des paramètres, la class du pilote, l"URL JDBC, le nom d"utilisateur et Mot de passe. Dans l"URL JDBC, indiquez que la base de données est localisée et le nom de la base de données. Le nom d"utilisateur et le mot de passe sont les champs pour le nom d"utilisateur et le mot de passe du base de données. Cliquez sur Se connecter. La page d"accueil de la base de données apparaît comme illustré dans la capture d"écran suivante. Base de données H2 - Sélectionner La commande Sélectionner est utilisée pour récupérer les données d"enregistrement d"une table ou de plusieurs tables . Si nous concevons une requête de sélection, elle renvoie des données sous la forme d"une table de résultats appelée jeux de résultats . Syntaxe La syntaxe de base de l"instruction SELECT est comme suit - SELECT [TOP term] [DISTINCT | ALL] selectExpression [, ...] FROM tableExpression [, ...] [WHERE expression] [GROUP BY expression [, ...]] [HAVING expression] [{UNION [ALL] | MINUS | EXCEPT | INTERSECT} sélectionnez] [ORDER BY order [, ...]] [[LIMIT expression] [OFFSET expression] [SAMPLE_SIZE rowCountInt]] [FOR UPDATE] Pour récupérer tous les champs disponibles, utilisez ce qui suit syntaxe. SELECT * FROM nom_table; Exemple Considérons que la table CUSTOMER contient les enregistrements suivants - + ---- + ----- ----- + ----- + ----------- + ---------- + | ID | NOM | AGE | ADRESSE | SALAIRE | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000,00 | | 2 | Khilan | 25 | Delhi | 1500,00 | | 3 | kaushik | 23 | Kota | 2000,00 | | 4 | Chaitali | 25 | Mumbai | 6500,00 | | 5 | Hardik | 27 | Bhopal | 8500,00 | | 6 | Komal | 22 | MP | 4500,00 | | 7 | Muffy | 24 | Indore | 10000,00 | + ---- + ---------- + ----- + ----------- + ---------- + Pour obtenir la table client avec les données données, exécutez les requêtes suivantes. CREATE TABLE CUSTOMER (id number, name varchar (20), age number, adresse varchar (20), numéro de salaire); INSÉRER dans les valeurs CLIENT (1, "Ramesh ", 32, "Ahmedabad ", 2000); INSÉRER dans les valeurs CUSTOMER (2, "Khilan ", 25, "Delhi ", 1500); INSÉRER dans les valeurs CLIENT (3, "kaushik ", 23, "Kota ", 2000); INSÉRER dans les valeurs CLIENT (4, "Chaitali ", 25, "Mumbai ", 6500); INSÉRER dans les valeurs CLIENT (5, "Hardik ", 27, "Bhopal ", 8500); INSÉRER dans les valeurs CLIENT (6, "Komal ", 22, "MP ", 4500); INSÉRER dans les valeurs CLIENT (7, "Muffy ", 24, "Indore ", 10000); La commande suivante est un exemple, qui récupère les champs ID, Nom et Salaire des clients disponibles dans la table CUSTOMER. SELECT ID, NOM, SALAIRE DES CLIENTS; La commande ci-dessus produit le résultat suivant. + ---- + ---------- + --- ------- + | ID | NOM | SALAIRE | + ---- + ---------- + ---------- + | 1 | Ramesh | 2000,00 | | 2 | Khilan | 1500,00 | | 3 | kaushik | 2000,00 | | 4 | Chaitali | 6500,00 | | 5 | Hardik | 8500,00 | | 6 | Komal | 4500,00 | | 7 | Muffy | 10000,00 | + ---- + ---------- + ---------- + Utilisez la requête suivante pour récupérer tous les champs de la table CUSTOMERS. p> SELECT * FROM CUSTOMERS; La requête ci-dessus produit le résultat suivant - + ---- + ---------- + --- - + ----------- + ---------- + | ID | NOM | AGE | ADRESSE | SALAIRE | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000,00 | | 2 | Khilan | 25 | Delhi | 1500,00 | | 3 | kaushik | 23 | Kota | 2000,00 | | 4 | Chaitali | 25 | Mumbai | 6500,00 | | 5 | Hardik | 27 | Bhopal | 8500,00 | | 6 | Komal | 22 | MP | 4500,00 | | 7 | Muffy | 24 | Indore | 10000,00 | + ---- + ---------- + ----- + ----------- + ---------- + Base de données H2 - Insertion L"instruction SQL INSERT est utilisée pour ajouter de nouvelles lignes de données à une table de la base de données. Syntaxe Voici la syntaxe de base de l"instruction INSERT INTO. INSERT INTO tableName {[(columnName [, ...])] {VALUES {({DEFAULT | expression} [, ...])} [, ...] | [DIRECT] [SORTED] select} } | {SET {columnName = {DEFAULT | expression}} [, ...]} En utilisant cette instruction INSERT, nous pouvons insérer un nouvel enregistrement ou de nouvelles lignes dans une table. Lors de l"utilisation de la clause DIRECT, les résultats sont directement affectés à la table cible sans aucune étape intermédiaire. Cependant, lors de l"ajout de valeurs pour toutes les colonnes de la table, assurez-vous que l"ordre des valeurs est dans le même ordre que les colonnes de la table. Exemple Prenons un exemple et essayons d"insérer les enregistrements suivants dans la table Customer. ID Nom Âge Adresse Salaire 1 Ramesh 32 Ahmedabad20002Khilan25 Delhi 1500 3 Kaushik 23 Kota 2000 4 Chaitail 25 Mumbai 6500 5 Hardik 27 Bhopal 8500 6Komal22MP 4500 7 Muffy 24 Indore 10000 Nous pouvons obtenir tous les enregistrements donnés dans la table client en exécutant les commandes suivantes. INSERT INTO CUSTOMER VALUES (1, " Ramesh ", 32, " Ahmedabad ", 2000); INSÉRER DANS LES VALEURS CLIENT (2, "Khilan ", 25, "Delhi ", 1500); INSÉRER DANS LES VALEURS CLIENT (3, "kaushik ", 23, "Kota ", 2000); INSÉRER DANS LES VALEURS CLIENT (4, "Chaitali ", 25, "Mumbai ", 6500); INSÉRER DANS LES VALEURS CLIENT (5, "Hardik ", 27, "Bhopal ", 8500); INSÉRER DANS LES VALEURS CLIENT (6, "Komal ", 22, "M P ", 4500); INSÉRER DANS LES VALEURS CLIENT (7, "Muffy ", 24, "Indore ", 10000); Base de données H2 - Mise à jour La requête UPDATE est utilisée pour mettre à jour ou modifier les enregistrements existants dans une table. Nous pouvons utiliser la clause WHERE avec la requête UPDATE pour mettre à jour les lignes sélectionnées, sinon toutes les lignes seraient affectées. Syntaxe Voici la syntaxe de base de la requête UPDATE. UPDATE tableName [[AS] newTableAlias] SET {{columnName = {DEFAULT | expression}} [, ...]} | {(columnName [, ...]) = (select)} [WHERE expression] [ORDER BY order [, ...]] [LIMIT expression] Dans cette syntaxe UPDATE, nous pouvons combiner plus à une condition en utilisant des clauses AND ou OR. Exemple Considérez la table CUSTOMER ayant les enregistrements suivants. + ---- + ---------- + ----- + ----------- + ---------- + | ID | NOM | AGE | ADRESSE | SALAIRE | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000,00 | | 2 | Khilan | 25 | Delhi | 1500,00 | | 3 | kaushik | 23 | Kota | 2000,00 | | 4 | Chaitali | 25 | Mumbai | 6500,00 | | 5 | Hardik | 27 | Bhopal | 8500,00 | | 6 | Komal | 22 | MP | 4500,00 | | 7 | Muffy | 24 | Indore | 10000,00 | + ---- + ---------- + ----- + ----------- + ---------- + Si vous souhaitez obtenir la table client avec les données fournies, exécutez les requêtes suivantes. CREATE TABLE CUSTOMER (id number, name varchar (20), numéro d"âge, adresse varchar (20), numéro de salaire); INSÉRER dans les valeurs CLIENT (1, "Ramesh ", 32, "Ahmedabad ", 2000); INSÉRER dans les valeurs CLIENT (2, "Khilan ", 25, "Delhi ", 1500); INSÉRER dans les valeurs CLIENT (3, "kaushik ", 23, "Kota ", 2000); INSÉRER dans les valeurs CLIENT (4, "Chaitali ", 25, "Mumbai ", 6500); INSÉRER dans les valeurs CLIENT (5, "Hardik ", 27, "Bhopal ", 8500); INSÉRER dans les valeurs CLIENT (6, "Komal ", 22, "MP ", 450 0); INSÉRER dans les valeurs CLIENT (7, "Muffy ", 24, "Indore ", 10000); La commande suivante est un exemple, qui mettrait à jour ADDRESS pour un client dont l"ID est 6 - UPDATE CUSTOMERS SET ADDRESS = "Pune «WHERE ID = 6; Désormais, la table CUSTOMERS aurait les enregistrements suivants. Nous pouvons vérifier les enregistrements de la table client en exécutant la requête suivante. SELECT * FROM CUSTOMERS; La requête ci-dessus produit le résultat suivant. + ---- + ---------- + --- - + ----------- + ---------- + | ID | NOM | AGE | ADRESSE | SALAIRE | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000,00 | | 2 | Khilan | 25 | Delhi | 1500,00 | | 3 | kaushik | 23 | Kota | 2000,00 | | 4 | Chaitali | 25 | Mumbai | 6500,00 | | 5 | Hardik | 27 | Bhopal | 8500,00 | | 6 | Komal | 22 | Pune | 4500,00 | | 7 | Muffy | 24 | Indore | 10000,00 | + ---- + ---------- + ----- + ----------- + ---------- + Pour modifier toutes les valeurs des colonnes ADDRESS et SALARY dans la table CUSTOMERS, nous n"avons pas besoin d"utiliser la clause WHERE. La requête UPDATE serait la suivante - UPDATE CUSTOMERS SET ADDRESS = "Pune ", SALARY = 1000.00; Désormais, la table CUSTOMERS aurait les enregistrements suivants. Nous pouvons vérifier les enregistrements de la table client en exécutant la requête suivante. SELECT * FROM CUSTOMERS; La requête ci-dessus produit le résultat suivant - + ---- + ---------- + --- - + --------- + --------- + | ID | NOM | AGE | ADRESSE | SALAIRE | + ---- + ---------- + ----- + --------- + --------- + | 1 | Ramesh | 32 | Pune | 1000,00 | | 2 | Khilan | 25 | Pune | 1000,00 | | 3 | kaushik | 23 | Pune | 1000,00 | | 4 | Chaitali | 25 | Pune | 1000,00 | | 5 | Hardik | 27 | Pune | 1000,00 | | 6 | Komal | 22 | Calembour e | 1000,00 | | 7 | Muffy | 24 | Pune | 1000,00 | + ---- + ---------- + ----- + --------- + --------- + Base de données H2 - Supprimer La requête SQL DELETE est utilisée pour supprimer les enregistrements existants d"une table. Nous pouvons utiliser la clause WHERE avec la requête DELETE pour supprimer les enregistrements sélectionnés, sinon tous les enregistrements seront supprimés. Syntaxe Voici la syntaxe de requête générique de la commande de suppression. DELETE [TOP term] FROM tableName [WHERE expression] [LIMIT term] La syntaxe ci-dessus supprime les lignes d"une table. Si TOP ou LIMIT est spécifié, tout au plus le nombre de lignes spécifié est supprimé (aucune limite si nul ou inférieur à zéro). Exemple Considérons que la table CUSTOMER contient les enregistrements suivants . + ---- + ---------- + ----- + ----------- + ---------- + | ID | NOM | AGE | ADRESSE | SALAIRE | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000,00 | | 2 | Khilan | 25 | Delhi | 1500,00 | | 3 | kaushik | 23 | Kota | 2000,00 | | 4 | Chaitali | 25 | Mumbai | 6500,00 | | 5 | Hardik | 27 | Bhopal | 8500,00 | | 6 | Komal | 22 | MP | 4500,00 | | 7 | Muffy | 24 | Indore | 10000,00 | + ---- + ---------- + ----- + ----------- + ---------- + La commande suivante supprimera les détails du client, dont l"ID est 6. DELETE FROM CUSTOMERS WHERE ID = 6; Après l"exécution de la commande ci-dessus, vérifiez la table Customer en exécutant la commande suivante. SELECT * FROM CUSTOMERS; La commande ci-dessus produit la sortie suivante - + ---- + ---------- + --- - + ----------- + ---------- + | ID | NOM | AGE | ADRESSE | SALAIRE | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000,00 | | 2 | Khilan | 25 | Delhi | 1500,00 | | 3 | kaushik | 23 | Kota | 2000,00 | | 4 | Chaitali | 25 | Mumbai | 6500,00 | | 5 | Hardik | 27 | Bhopal | 8500,00 | | 7 | Muffy | 24 | Indore | 10000,00 | + ---- + ---------- + ----- + ----------- + ---------- + Si nous voulons SUPPRIMER tous les enregistrements de la table CUSTOMERS, nous n"utilisons pas la clause WHERE. La requête DELETE serait la suivante. DELETE FROM CUSTOMER; Après avoir exécuté la commande ci-dessus, aucun enregistrement ne sera disponible dans la table Client. Base de données H2 - Sauvegarde BACKUP est la commande utilisée pour effectuer la sauvegarde de la base de données dans un fichier .zip séparé. Les objets ne sont pas verrouillés et lors de la sauvegarde, le journal des transactions est également copié. Les droits d"administrateur sont nécessaires pour exécuter cette commande. Syntaxe Voici la syntaxe générique de la commande de sauvegarde. BACKUP TO fileNameString; Exemple Dans cet exemple, prenons une sauvegarde de la base de données actuelle dans le fichier backup.zip . Utilisez la commande suivante pour la même chose. BACKUP TO "backup.zip "; En exécutant la commande ci-dessus, vous obtiendrez le fichier backup.zip dans votre système de fichiers local. Base de données H2 - Appel CALL est une commande SQL qui appartient au serveur de base de données H2. Cette commande est utilisée pour calculer une expression simple. Il renvoie le résultat de l"expression donnée dans un champ de colonne unique. Lorsqu"il renvoie un tableau de résultats, chaque élément du tableau est affiché sous forme de valeur de colonne. Syntaxe Voici la syntaxe générique de la commande CALL. expression CALL; Nous pouvons utiliser l"expression arithmétique dans cette syntaxe. Exemple Prenons un exemple et exécutons une expression arithmétique (15 * 25) en utilisant la commande call . CALL 15 * 25; La commande ci-dessus produit la sortie suivante. 375 375 Base de données H2 - Expliquer La commande EXPLAIN affiche le plan d"exécution d"une instruction. Lorsque nous exécutons une instruction à l"aide de la commande EXPLAIN ANALYZE, la requête plan inclura le nombre réel de balayages de lignes pour chaque table. Syntaxe Voici la syntaxe générique de la commande EXPLAIN. EXPLAIN {[PLAN FOR] | ANALYZE} {select | insert | update | delete | merge} Parallèlement à cette syntaxe, nous pouvons utiliser sélectionner, insérer, supprimer et fusionner. Exemple Cet exemple explique les détails du plan de requête du client avec l"ID 1. EXPLAIN SELECT * FROM CUSTOMER WHERE ID = 1; La commande ci-dessus produit la sortie suivante - Base de données H2 - Mer ge La commande MERGE est utilisée pour mettre à jour les lignes existantes et insérer de nouvelles lignes dans une table. La colonne de clé primaire joue un rôle important lors de l"utilisation de cette commande; il est utilisé pour trouver la ligne. Syntaxe Voici la syntaxe générique de la commande MERGE. MERGE INTO tableName [(columnName [, ...])] [KEY (columnName [, ...])] {VALUES {({DEFAULT | expression} [, ...])} [, ...] | select} Dans la syntaxe ci-dessus, la clause KEY est utilisée pour spécifier le nom de la colonne de clé primaire. Avec la clause VALUES, nous pouvons utiliser des valeurs primitives pour insérer ou nous pouvons récupérer et stocker d"autres valeurs de table dans cette table à l"aide de la commande select. Exemple Dans cet exemple, laissez-nous essayez d"ajouter un nouvel enregistrement dans la table Clients. Voici les détails du nouvel enregistrement dans le tableau. Nom de la colonne Valeur ID 8 NOM Lokesh AGE 32 ADRESSE Hyderabad SALAIRE 2500 En utilisant la requête suivante, insérons l"enregistrement donné dans le H2 requête de base de données. FUSION DANS LES VALEURS DE LA CLÉ CLIENT (ID) (8, "Lokesh ", 32, "Hyderabad ", 2500); La requête ci-dessus produit la sortie suivante. Nombre de mises à jour: 1 Vérifions les enregistrements de la table Customer en exécutant ce qui suit requête. SELECT * FROM CUSTOMER; La requête ci-dessus produit la sortie suivante. ID Nom Âge Adresse Salaire 1 Ramesh 32 Ahmedabad 2000 2 Khilan 25 Delhi 1500 3 Kaushik 23 Kota 2000 4 Chaitali 25 Mumbai 6500 5Hardik27Bhopal 8500 6 Komal 22 MP 4500 7 Muffy 24 Indore 10000 8 Lokesh 32 Hyderabad 2500 Maintenant essayons de mettre à jour l"enregistrement en utilisant la commande Fusionner . Voici les détails de l"enregistrement à mettre à jour. Nom de la colonne Valeur ID 8 NOM Loki AGE 32 ADRESSE Hyderabad SALAIRE 3000 Utilisez la requête suivante pour insérer l"enregistrement donné dans la requête de la base de données H2. MERGE INTO CUSTOMER KEY (ID) VALEURS (8, "Loki ", 32, "Hyderabad ", 3000); La requête ci-dessus produit le résultat suivant. Nombre de mises à jour: 1 Vérifions les enregistrements de la table Customer en exécutant la requête suivante. SELECT * FROM CUSTOMER; La requête ci-dessus produit la sortie suivante - ID Nom Âge Adresse Salaire 1 Ramesh 32 Ahmedabad 2000 2 Khilan 25 Delhi 1500 3 Kaushik 23 Kota 2000 4 Chaitali 25 Mumbai 6500 5 Hardik27Bhopal85006 Komal 22 MP 4500 7 Muffy 24 Indore 10000 8 Loki 32 Hyderabad 3000 Base de données H2 - Afficher SHOW est une commande utilisée déplaire ay la liste des schémas, tables ou colonnes de la table. Syntaxe Voici la syntaxe générique de la commande SHOW. SHOW {SCHEMAS | TABLES [FROM schemaName] | COLUMNS FROM tableName [FROM schemaName]} Example La commande suivante peut être utilisée pour obtenir la liste des tables de la base de données courante. AFFICHER LES TABLES; T La commande ci-dessus produit la sortie suivante. TABLE_NAME TABLE_SCHEMA CUSTOMER PUBLIC EMP PUBLIC 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 Créer une table est une commande utilisée pour créer une table définie par l"utilisateur table dans la base de données actuelle. Syntaxe Voici la syntaxe générique de la commande Create Table. CREATE [CACHED | MÉMOIRE] [TEMP | [GLOBAL | LOCAL] TEMPORARY] TABLE [SI NOT EXISTS] nom [({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 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 mémoire ne doivent pas devenir trop volumineuses et que les données d"index sont conservées dans la mémoire principale. TEMPORAIRE - Les tables temporaires sont supprimées lors de la fermeture ou ouvrir 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 c créé à 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. PAS PERSISTANT - 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. TRANSACTIONNEL - 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 la colonne Type de données 1 ID Int 2 Titre Varchar (50) 3 Auteur Varchar(20)4Submission_dateDate Ce qui suit query 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, auteur VARCHAR (20) NOT NULL, date de soumission DATE); La requête ci-dessus produit la sortie suivante. (0) lignes effectuées 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 Create Schema commande. CREATE SCHEMA [IF NOT EXISTS] nom [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 une plate-forme d"administration hts, 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 l"utilisateur SA, en utilisant la commande suivante. CREATE SCHEMA test_schema AUTHORIZATION sa; La commande ci-dessus produit la sortie suivante. (0) lignes effectuées 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 | PAS DE 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 est BIGINT . 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) lignes effectuées H2 Database - Alter ALTER est une commande utilisée pour changer la structure de la table en ajoutant différentes clauses à la commande alter . Sur la base du scénario, nous devons ajouter une clause respective à la commande alter. Dans ce chapitre, nous discuterons de Alter Table Add Alter Table Add est une commande utilisée pour ajouter une nouvelle colonne à une table avec les données respectives type. Cette commande valide la transaction dans cette connexion. Syntaxe Voici la syntaxe générique de la commande Alter Table Add comm et. ALTER TABLE [IF EXISTS] tableName ADD [COLUMN] {[IF NOT EXISTS] columnDefinition [{BEFORE | APRÈS} nom_colonne] | ({columnDefinition} [, ...])} Example Dans cet exemple, nous allons ajouter une nouvelle colonne start_date au tableau tutorials_tbl . Le type de données pour start_date est Date. Voici la requête pour ajouter une nouvelle colonne. ALTER TABLE tutorials_tbl ADD start_date DATE; La requête ci-dessus produit la sortie suivante. (6) lignes effectuées Alter Table Add Constraint Alter table add constraint est une commande utilisée pour ajouter différentes contraintes à la table telles que la clé primaire, la clé étrangère, non nulle, etc. Les index requis sont créés automatiquement s"ils n"existent pas encore. Il n"est pas possible de désactiver la vérification de la contrainte unique. Cette commande valide une transaction ouverte dans cette connexion. Syntaxe Voici la syntaxe générique de la commande Alter table add constraint. ALTER TABLE [IF EXISTS] tableName ADD contrainte [CHECK | NOCHECK] Exemple Dans cet exemple, ajoutons une contrainte de clé primaire (tutorials_tbl_pk) à l"id de colonne de la table tutorials_tbl , en utilisant la requête suivante. ALTER TABLE tutorials_tbl ADD CONSTRAINT tutorials_tbl_pk PRIMARYKEY (id); La requête ci-dessus produit la sortie suivante. (6) ligne (s) effectuée (s) Alter Table Rename Constraint Cette commande est utilisée pour renommer le nom de contrainte d"une table de relations particulière. Cette commande valide une transaction ouverte dans cette connexion. Syntaxe Voici la syntaxe générique de la commande Alter Table Rename Constraint. ALTER TABLE [IF EXISTS] tableName RENAME oldConstraintName TO nouveau ConstraintName Lorsque vous utilisez cette syntaxe, assurez-vous que l"ancien nom de contrainte doit exister avec la colonne correspondante. Exemple Dans cet exemple, nous allons modifier le nom de contrainte de clé primaire de la table tutorials_tbl de tutorials_tbl_pk à tutorials_tbl_pk_constraint . Voici la requête pour ce faire. ALTER TABLE tutorials_tbl RENAME CONSTRAINT tutorials_tbl_pk TO tutorials_tbl_pk_constraint; La requête ci-dessus produit la sortie suivante. (1) ligne (s) effectuée (s) Alter Table Alter Column Cette commande est utilisée pour changer la structure et les propriétés de la colonne d"une table particulière. Changer les propriétés signifie changer le type de données d"une colonne, renommer une colonne, changer la valeur d"identité ou changer la sélectivité. Syntaxe Voici la syntaxe générique de Alter Table Alter Commande de colonne. ALTER TABLE [IF EXISTS] tableName ALTER COLUMN columnName {{dataType [DEFAULT expression] [[NOT] NULL] [AUTO_INCREMENT | IDENTITÉ]} | {RENAME TO name} | {REDÉMARRER AVEC long} | {SELECTIVITY int} | {SET DEFAULT expression} | {SET NULL} | {SET NOT NULL}} Dans la syntaxe ci-dessus - RESTART - la commande change le valeur suivante d"une colonne à incrémentation automatique. SELECTIVITY - la commande définit la sélectivité (1-100) pour une colonne. Sur la base de la valeur de sélectivité, nous pouvons représenter la valeur de la colonne. SET DEFAULT - change la valeur par défaut d"une colonne. SET NULL - définit la colonne pour autoriser NULL. SET NOT NULL - définit la colonne pour autoriser NOT NULL. Exemple Dans cet exemple, nous renommerons la colonne du tableau tutorials_tbl du Title au Tutorial_Title en utilisant la requête suivante. ALTER TABLE tutorials_tbl ALTER COLUMN title RENAME TO tutorial_title; La requête ci-dessus produit la sortie suivante. (0) row (s ) effectué De la même manière, nous pouvons effectuer différents scénarios avec la commande ALTER. H2 Database - Drop DROP est une commande tirée du générique Grammaire SQL. Cette commande est utilisée pour supprimer un composant de base de données et sa structure de la mémoire. Il existe différents scénarios avec la commande Drop que nous aons dans ce chapitre. Drop Table Drop Table est une commande qui supprime la table respective et sa structure. Syntaxe Voici la syntaxe générique de la commande Drop Table. DROP TABLE [IF EXISTS] tableName [, ...] [RESTRICT | CASCADE] La commande échouera si nous utilisons RESTRICT et la table ayant des vues dépendantes existe. Toutes dépendantes les vues sont supprimées lorsque nous utilisons le mot-clé CASCADE. Exemple Dans cet exemple, nous allons supprimer une table nommée test en utilisant la requête suivante. DROP TABLE test; La requête ci-dessus produit la sortie suivante. (6) ligne (s) effectuée (s) Supprimer le schéma Drop Schema est une commande qui supprime un schéma respectif du serveur de base de données. Cela ne fonctionnera pas à partir du schéma actuel. Syntaxe DROP SCHEMA [IF EXISTS] schemaName Exemple Dans cet exemple, nous allons supprimer un schéma nommé test_schema en utilisant la requête suivante. DROP SCHEMA TEST_SCHEMA; La requête ci-dessus produit la sortie suivante. (0) ligne (s) effectuée (s) Drop Sequence Drop Sequence est une commande utilisée pour supprimer une séquence de la structure de la table. Syntaxe Voici la syntaxe générique de la commande Drop Sequence. cla ss = "result notranslate "> DROP SEQUENCE [IF EXISTS] sequenceName Cette commande valide une transaction ouverte dans cette connexion. Exemple Dans ce exemple, nous allons supprimer une séquence nommée sequence_id . Voici la commande. DROP SEQUENCE sequence_id; La commande ci-dessus produit la sortie suivante. (0) ligne (s) effectuée (s) Drop View Drop View est une commande utilisée pour supprimer la vue existante. Toutes les vues dépendantes sont également supprimées si la clause CASCADE est utilisée. Syntaxe Voici la syntaxe générique de la commande Drop View. DROP VIEW [IF EXISTS] viewName [RESTRICT | CASCADE] Exemple Dans cet exemple, nous allons supprimer une vue nommée sample_view en utilisant la requête suivante. DROP VIEW sample_view; La requête ci-dessus produit la sortie suivante. (0) ligne (s) effectuée (s) Base de données H2 - Tronquer TRUNCATE est une commande utilisée pour supprimer les données de la table. Contrairement à DELETE FROM sans clause WHERE, cette commande ne peut pas être annulée. Cette commande valide une transaction ouverte dans cette connexion. Syntaxe Voici la syntaxe générique de la commande truncate. TRUNCATE TABLE tableName Example Dans cet exemple, nous tronquerons une table nommée test en utilisant la requête suivante. test TRUNCATE TABLE; La requête ci-dessus produit la sortie suivante. (6) ligne (s) effectuée (s) H2 Database - Commit COMMIT est une commande de la grammaire SQL utilisée pour valider la transaction. Nous pouvons soit valider la transaction spécifique, soit valider la transaction actuellement exécutée. Syntaxe Il existe deux syntaxes différentes pour COMMIT comman d. Voici la syntaxe générique de la commande commit pour valider la transaction en cours. COMMIT [WORK] Voici la syntaxe générique de la commande commit pour valider la transaction spécifique. COMMIT TRANSACTION transactionName Exemple 1 In cet exemple, validons la transaction en cours en utilisant la commande suivante. COMMIT La commande ci-dessus produit la sortie suivante. Validation réussie Exemple 2 Dans cet exemple, nous allons valider la transaction nommée tx_test en utilisant la commande suivante . COMMIT TRANSACTION tx_test; La commande ci-dessus produit la sortie suivante. Validation réussie Base de données H2 - Accorder Grant est une commande issue de la grammaire SQL utilisée pour accorder les droits à une table, à un utilisateur ou à un rôle. Des droits d"administrateur sont requis pour exécuter cette commande. Cette commande valide une transaction ouverte dans cette connexion. Dans ce chapitre, nous allons discuter des différents scénarios de la commande Grant. Accorder le droit Accorder le droit est une commande pour fournir des droits d"administrateur à une table, à un utilisateur ou à un rôle. Syntaxe Voici la syntaxe générique de la commande Grant. GRANT {SELECT | INSERT | UPDATE | DELETE | ALL} [, ...] ON {{SCHEMA schemaName} | {tableName [, ...]}} TO {PUBLIC | userName | roleName} Example Dans cet exemple, nous allons accorder la table de test en lecture seule à l"aide de la commande suivante. GRANT SELECT ON TEST TO READONLY La commande ci-dessus produit la sortie suivante. Accorder avec succès Accorder Alter Any Schema Grant Alter Any Schema est une commande à gr ant schema modifiant les droits d"un utilisateur respectif. Syntaxe Voici la syntaxe générique de la commande Grant Alter Any Schema. GRANT ALTER ANY SCHEMA TO userName Example Dans cet exemple, nous allons accorder des privilèges de modification d"un schéma à un utilisateur nommé test_user . Assurez-vous que test_user existe. Voici la requête pour accorder des privilèges de modification. GRANT ALTER ANY SCHEMA TO test_user; La requête ci-dessus produit le résultat suivant. Accordé avec succès à test_user H2 Database - Savepoint SAVEPOINT est une commande utilisée pour sauvegarder temporairement la transaction. Il est préférable de conserver des points de sauvegarde dans votre transaction car il est utile de restaurer la transaction vers le point de sauvegarde respectif chaque fois que nécessaire. Syntaxe Voici la syntaxe générique de la commande Savepoint. SAVEPOINT savepointName Example Dans cet exemple, nous allons créer un Savepoint nommé Half_Done en utilisant la commande suivante. SAVEPOINT Half_Done; La commande ci-dessus produit la sortie suivante. Savepoint créé H2 Database - Rollback ROLLBACK est une commande de la grammaire SQL utilisée pour restaurer la transaction vers un point de sauvegarde ou vers la transaction précédente. En utilisant cette commande, nous pouvons soit revenir au point de sauvegarde spécifique, soit revenir à la transaction précédente exécutée. Syntaxe Il existe deux syntaxes différentes pour la commande ROLLABCK. Voici la syntaxe générique de la commande rollback. ROLLBACK [TO SAVEPOINT savepointName] Voici la syntaxe générique de la commande Rollback à la transaction spécifique. ROLLBACK TRANSACTION transactionName Exemple 1 Dans cet exemple, nous restaurons la transaction actuelle vers un point de sauvegarde nommé sp1_test en utilisant la commande suivante. ROLLBACK sp1_test; La commande ci-dessus produit la sortie suivante. Rollback avec succès Exemple 2 Dans le exemple suivant, nous annulerons la transaction complète nommée tx_test en utilisant la commande donnée. ROLLBACK TRANSACTION tx_test; La commande ci-dessus produit la sortie suivante. Restauration réussie Base de données H2 - Connexion JDBC H2 est une base de données JAVA. Nous pouvons interagir avec cette base de données en utilisant JDBC. Dans ce chapitre, nous verrons comment créer une connexion JDBC avec la base de données H2 et les opérations CRUD avec la base de données H2. Généralement, il y a cinq étapes pour créer une connexion JDBC. Étape 1 - Enregistrement du pilote de base de données JDBC. Class.forName ( "org.h2.Driver "); Étape 2 - Ouverture de la connexion. Connexion conn = DriverManager.getConnection ( "jdbc: Étape 3 - Création d"une instruction. Statement st = conn.createStatement (); Étape 4 - Exécution d"une instruction et réception de l"ensemble de résultats. Stmt.executeUpdate ( "instruction sql ") ; Étape 5 - Fermeture d"une connexion. conn.close (); Avant de passer à la création d"un programme complet, nous devons ajouter le fichier à CLASSPATH. Nous pouvons obtenir ce jar dans le dossier C: Program Files (x86) H2 bin . Créer une table Dans cet exemple, nous allons écrire un programme pour créer une table. Considérez une table nommée Inion contenant les champs suivants. S.Non Nom de la colonne Type de données NOT NULL Clé primaire 1 ID Numéro Oui Oui 2 Premier Varchar (255) Non Non 3 Dernier Varchar (255) Non Non 4 Âge Numéro Non Non Voici un exemple de programme nommé H2jdbcCreateDemo . import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class H2jdbcCreateDemo {// nom du pilote JDBC et URL de la base de données statique final String JDBC_DRIVER = "org.h2.Driver static final String DB_URL = "jdbc: Enregistrez le programme ci-dessus dans H2jdbcCreateDemo.java. Compilez et exécutez le programme ci-dessus en exécutant les commandes suivantes dans l"invite de commande. > javac H2jdbcCreateDemo.java > java H2jdbcCreateDemo La commande ci-dessus produit la sortie suivante. Connexion à la base de données ... Création d"une table dans une base de données donnée ... Table créée dans une base de données donnée ... Au revoir! Après cette exécution, nous pouvons vérifier la table créée à l"aide de l"interface SQL H2. Insérer des enregistrements Dans cet exemple, nous allons écrire un programme d"insertion records. Insérons les enregistrements suivants dans la table Registration. ID Premier Dernier Âge 100 Zara Ali 18101MahnazFatma 25 102 Zaid Khan 30 103 Sumit Mital 28 Voici un exemple de programme nommé H2jdbcInsertDemo . import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class H2jdbcInsertDemo {// Nom du pilote JDBC et URL de la base de données statique final String JDBC_DRIVER = "org.h2.Driver static final String DB_URL = "jdbc: Enregistrez le programme ci-dessus dans H2jdbcInsertDemo.java. Compilez et exécutez le programme ci-dessus en exécutant les commandes suivantes dans l"invite de commande. > javac H2jdbcInsertDemo.java > java H2jdbcInsertDemo La commande ci-dessus produit la sortie suivante. Connexion à une base de données sélectionnée ... Base de données connectée avec succès ... Enregistrements insérés dans la table ... Au revoir! Lire l"enregistrement Dans cet exemple, nous allons écrire un programme de lecture d"enregistrements. Essayons de lire tous les enregistrements de la table Registration . Voici un exemple Le programme nommé H2jdbcRecordDemo . import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class H2jdbcReadDemo {// nom du pilote JDBC et URL de la base de données statique final String JDBC_DRIVER = "org.h2.Driver static final String DB_URL = "jdbc: Enregistrez le programme ci-dessus dans H2jdbcReadDemo.java. Compilez et exécutez le programme ci-dessus en exécutant le f ollowing commandes dans l"invite de commande. > javac H2jdbcReadDemo.java > java H2jdbcReadDemo La commande ci-dessus produit la sortie suivante. Connexion à une base de données sélectionnée ... Base de données connectée avec succès ... ID: 100, Âge: 18, Premier: Zara, Dernier: Ali ID: 101, Âge: 25 , Premier: Mahnaz, Dernier: Fatma ID: 102, Âge: 30, Premier: Zaid, Dernier: Khan ID: 103, Âge: 28, Premier: Sumit, Dernier: Mittal Goodbye! Mettre à jour les enregistrements Dans cet exemple, nous allons écrire un programme pour mettre à jour les enregistrements. Essayons de lire tous les enregistrements de la table Registration. Voici un exemple de programme nommé H2jdbcUpdateDemo . import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class H2jdbcUpdateDemo {// nom du pilote JDBC et URL de la base de données statique final String JDBC_DRIVER = "org.h2.Driver static final String DB_URL = "jdbc: Enregistrez le programme ci-dessus dans H2jdbcUpdateDemo.java. Compilez et exécutez le programme ci-dessus en exécutant les commandes suivantes dans l"invite de commande. > javac H2jdbcUpdateDemo.java > java H2jdbcUpdateDemo La commande ci-dessus produit la sortie suivante. Connexion à une base de données sélectionnée ... Base de données connectée avec succès ... ID: 100, Âge: 30, Premier: Zara, Dernier : Ali ID: 101, Âge: 30, Premier: Mahnaz, Dernier: Fatma ID: 102, Âge: 30, Premier: Zaid, Dernier: Khan ID: 103, Âge: 28, Premier: Sumit, Dernier: Mittal Goodbye! Supprimer des enregistrements Dans cet exemple, nous allons écrire un programme pour supprimer des enregistrements. Essayons de lire tous les enregistrements de la table Registration. Voici un exemple de programme nommé H2jdbcDeleteDemo . import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class H2jdbcDeleteDemo {// nom du pilote JDBC et URL de la base de données statique final String JDBC_DRIVER = "org.h2.Driver static final String DB_URL = "jdbc: Enregistrez le programme ci-dessus dans H2jdbcDeleteDemo.java. Compilez et exécutez le programme ci-dessus en exécutant les commandes suivantes dans l"invite de commande. > javac H2jdbcDeleteDemo.java > java H2jdbcDeleteDemo La commande ci-dessus produit la sortie suivante. Connexion à une base de données sélectionnée ... Base de données connectée avec succès ... ID: 100, Âge: 30, Premier: Zara, Dernier : Ali ID: 102, Âge: 30, Premier: Zaid, Dernier: Khan ID: 103, Âge: 28, Premier: Sumit, Dernier: Mittal Goodbye!