Introduction à la base de données MySQL / MARIADB

Introduction à la base de données MySQL / MARIADB

Une vue de base de données n'est rien d'autre qu'une table virtuelle, qui ne contient pas de données elle-même, mais fait référence aux données contenues dans d'autres tables. Les vues sont essentiellement le résultat de requêtes stockées qui peuvent varier sur la complexité et peuvent être utilisées, par exemple, pour masquer les données aux utilisateurs, permettant d'accéder uniquement aux colonnes sélectionnées d'une table, ou simplement pour fournir un point de vue différent sur les données existantes. Dans ce tutoriel, nous verrons comment créer, mettre à jour, modifier et laisser une vue sur une base de données MySQL, MARIADB.

Dans ce tutoriel, vous apprendrez:

  • Qu'est-ce qu'une vue
  • Comment créer une vue
  • Comment mettre à jour une vue
  • Comment modifier une vue
  • Comment laisser tomber une vue


Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Indépendant du SO
Logiciel Une base de données MySQL / MARIADB en cours d'exécution
Autre Basic Knwoledge of MySQL / MARIADB et Concepts de bases de données relationnelles
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Création d'une base de données de test

Pour le bien de ce tutoriel, nous créerons une base de données de test intitulée "Films". Il contiendra deux tables: la première conservera des données sur les directeurs, le second contiendra des informations sur les titres et sera lié au premier via un clé étrangère. Pour créer notre base de données, nous pouvons émettre les commandes suivantes à partir du shell MySQL / MariADB:



MariaDB [(Aucun)]> Créer des films de base de données; MariaDB [(Aucun)]> Utiliser des films; La base de données a changé MariaDB [Films]> Créer un réalisateur de table (-> id smallInt Unsigned pas null auto_increment, -> first_name varchar (20) pas null, -> last_name varchar (20) pas null, -> date de naissance pas nul, -> primaire Key (id) ->); 
Copie

L'étape suivante consiste à insérer quelques entrées dans le tableau:

Mariadb [Films]> Insérer dans les valeurs du réalisateur (first_name, last_name, naissance) -> ('Stanley', 'Kubrik', '1928-07-26'), -> ('Jeffrey', 'Adams', '1966-- 06-27 '), -> (' Alfred ',' Hitchcock ',' 1899-08-13 ');
Copie

Nous pouvons maintenant créer la table «Title» et y insérer quelques entrées:

MARIADB [FILMS]> Créer un titre de table (-> id smallInt Unsigned pas null auto_increment, -> name varchar (30) pas nul Pas nul, -> clé primaire (id), -> clé étrangère (Director_ID) références directeur (id) ->); Mariadb [Films]> Insérer dans le titre (nom, genre, release_date, metteur_id) Valeurs -> ('2001: a Space Odyssey', 'Science Fiction', '1968-04-02', 1), -> ('The Force Awakens ',' Fantasy ',' 2015-12-14 ', 2), -> (' Psyco ',' Horror ',' 1960-06-16 ', 3); 
Copie

Maintenant que nous avons des tables sur lesquelles travailler, nous pouvons créer un voir.

Créer une vue

Une vue est simplement une table virtuelle qui nous a permis d'obtenir une autre «prospective» sur les données contenues dans les tables réelles. Nous pouvons facilement créer une vue en sélectionnant les colonnes que nous voulons y inclure à partir des tables existantes. Dites par exemple que nous voulons notre voir Pour inclure les colonnes «Nom» et «Genre» du tableau «Title» que nous avons créé dans notre base de données de test. Voici comment nous le créons:

MARIADB [FILMS]> Créer un exemple de vue comme nom sélectionné, genre From Title;
Copie

Avec la commande Créer une vue, Nous avons créé un voir Et appelez ça «exemple». La vue est créée en utilisant l'énoncé AS suivi par la requête nécessaire pour obtenir les données que nous souhaitons inclure. Le contenu de la vue sera le résultat de la requête:

MariaDB [Films]> Sélectionner * dans l'exemple; + ----------------------- + ----------------- + | Nom | genre | + ----------------------- + ----------------- + | 2001: A Space Odyssey | science-fiction | | La Force Awakens | fantasme | | PSYCO | Horreur | +-----------------------+-----------------+
Copie

Nous pouvons restreindre les données récupérées sur la vue comme nous le ferions sur un tableau standard, par exemple:

MariaDB [Films]> Sélectionnez * à partir de l'exemple où genre = "science-fiction"; + ----------------------- + ----------------- + | Nom | genre | + ----------------------- + ----------------- + | 2001: A Space Odyssey | science-fiction | +-----------------------+-----------------+ 
Copie

Fournir des noms spécifiques pour les colonnes de la vue

Par défaut, le nom des colonnes du créé voir correspondra au nom des colonnes incluses dans le SÉLECTIONNER déclaration utilisée pour le créer. Dans le cas où nous voulons spécifier des noms alternatifs, nous devons les fournir entre parenthèses. Le nombre de noms doit correspondre au nombre de colonnes sélectionnées. Voici un exemple:

MARIADB [FILMS]> Créer un exemple de vue (Movie_name, film_genre) comme nom sélectionné, genre from title; MariaDB [Films]> Sélectionner * dans l'exemple; + ----------------------- + ----------------- + | Film_name | film_genre | + ----------------------- + ----------------- + | 2001: A Space Odyssey | science-fiction | | La Force Awakens | fantasme | | PSYCO | Horreur | +-----------------------+-----------------+ 
Copie

Une vue peut être créée à l'aide de requêtes complexes et peut inclure des valeurs résultant des fonctions. Voici un exemple d'une vue créée en rejoignant les tables «titre» et «directeur» et en utilisant le Concat fonction:

MARIADB [FILMS]> Créer un exemple de vue (Movie_name, Movie_genre, Movie_Director) As -> SELECT -> Titre.nom ->, titre.Genre ->, Concat (réalisateur.First_name, "", directeur.Last_name) -> From -> Titre -> Rejoignez le réalisateur sur le titre.Director_id = directeur.identifiant; 
Copie

Voici le contenu complet de la vue résultante:

MariaDB [Films]> Sélectionner * dans l'exemple; + ----------------------- + ----------------- + ------- ----------- + | Film_name | film_genre | film_directeur | + ----------------------- + ----------------- + ------- ----------- + | 2001: A Space Odyssey | science-fiction | Stanley Kubrik | | La Force Awakens | fantasme | Jeffrey Adams | | PSYCO | Horreur | Alfred Hitchcock | +-----------------------+-----------------+------------------+
Copie

Mise à jour d'une vue

Si certaines conditions de détails sont remplies, il est possible de mettre à jour une vue: les modifications seront reflétées dans les tables sous-jacentes. Pour pouvoir mettre à jour une vue:



  • La vue doit être créée en interrogeant une seule table et doit y mapper directement;
  • La vue ne peut pas contenir des valeurs agrégées résultant de fonctions comme sum ();
  • Une opération sur la vue doit correspondre à une opération sur une seule ligne de la table d'origine;

Voyons un exemple. Supposons que nous travaillions sur la vue que nous avons créée auparavant:

+-----------------------+-----------------+ | Film_name | film_genre | + ----------------------- + ----------------- + | 2001: A Space Odyssey | science-fiction | | La Force Awakens | fantasme | | PSYCO | Horreur | +-----------------------+-----------------+
Copie

Étant donné que la vue respecte les conditions requises que nous avons mentionnées ci-dessus, si nous mettons maintenant à jour le genre du film "Psyco", en le passant de "l'horreur" à "Thriller", le changement sera reflété dans le tableau "Title". Vérifions-le:

MariaDb [Movies]> Mise à jour Exemple Set Movie_genre = "Thriller" où Movie_name = "PSYCO";
Copie

Si nous interrogeons maintenant le tableau «titre» sous-jacent, nous pouvons vérifier que le changement a été appliqué:

MariaDb [Films]> SELECT * From Title Where Name = "PSYCO"; + ---- + ------- + ---------- + -------------- + ---------- --- + | ID | Nom | genre | release_date | Director_id | + ---- + ------- + ---------- + -------------- + ---------- --- + | 3 | PSYCO | Thriller | 1960-06-16 | 3 | +----+-------+----------+--------------+-------------+
Copie

Modification d'une vue

Pour modifier la définition d'une vue, nous utilisons le Modifier la vue commande. Chaque fois que nous voulons changer la structure d'une vue, nous devons réécrire SÉLECTIONNER déclaration utilisée pour le créer. À titre d'exemple, supposons que nous voulons ajouter la colonne «release_date» de la table «Title» à notre vue: nous ne pouvons pas utiliser une commande comme Ajouter la colonne, Nous devons fournir une nouvelle requête qui comprend la colonne que nous voulons ajouter:

MARIADB [FILMS]> ALTER VIEW Exemple (film_name, film_genre, film_release_date) comme nom sélectionné, genre, release_date from title; Sélectionnez * dans l'exemple; + ----------------------- + ----------------- + ------- ------------- + | Film_name | film_genre | film_release_date | + ----------------------- + ----------------- + ------- ------------- + | 2001: A Space Odyssey | science-fiction | 1968-04-02 | | La Force Awakens | fantasme | 2015-12-14 | | PSYCO | Thriller | 1960-06-16 | +-----------------------+-----------------+--------------------+ 
Copie

Laisser tomber une vue

La suppression d'une vue est une opération très facile. La commande utilisée pour accomplir la tâche est Vue de dépôt. Dans ce cas, pour supprimer notre vue «exemple», nous exécuterons:

Exemple de vue de la vue;
Copie

Réflexions de clôture

Dans cet article, nous avons vu comment nous pouvons utiliser les vues MySQL / MARIADB pour rassembler un point de vue différent sur les données contenues dans un tableau de base de données. Nous avons vu comment créer une vue, comment modifier sa structure, comment la mettre à jour si certaines exigences sont satisfaites et comment le supprimer. Si vous êtes intéressé par d'autres sujets MySQL / MARIADB, vous pouvez jeter un œil à nos articles sur le sujet, par exemple, ceux sur le syndicat ou les déclarations.

Tutoriels Linux connexes:

  • Introduction aux moteurs de stockage MySQL
  • Comment changer le mot de passe de l'utilisateur de MariaDB
  • Choses à installer sur Ubuntu 20.04
  • Installez MySQL sur Ubuntu 20.04 LTS Linux
  • Comment installer MySQL sur Almalinux
  • Comment créer une pile de lampe basée sur Docker à l'aide de Docker sur…
  • Ubuntu 20.04 WordPress avec installation Apache
  • Comment correctement grep pour le texte dans les scripts bash
  • Ampache Raspberry Pi Installation
  • Ubuntu 20.04: WordPress avec l'installation de Nginx