Maison  >  Article  >  développement back-end  >  Embarquez pour votre voyage MySQL

Embarquez pour votre voyage MySQL

WBOY
WBOYoriginal
2023-09-02 14:09:071359parcourir

Malgré l'émergence de bases de données NoSQL modernes telles que MongoDB, Firebase et Redis ces dernières années, les bases de données SQL restent extrêmement populaires parmi les développeurs.

SQL (Structured Query Language) est un langage utilisé pour interagir avec les données de diverses bases de données, y compris des bases de données populaires telles que MySQL, PostgreSQL, Oracle et MS SQL Server.

Dans cet article, vous apprendrez tout ce que vous devez savoir pour démarrer avec MySQL, la base de données open source qui alimente les systèmes de gestion de contenu comme WordPress, les plateformes de commerce électronique comme Shopify et les plateformes de médias sociaux comme Twitter.

Vous apprendrez comment fonctionne MySQL, les bases de données relationnelles et certains de ses concepts clés, comment installer et interagir avec une base de données MySQL à l'aide de la ligne de commande et la syntaxe SQL moderne pour créer, lire, mettre à jour et supprimer des données dans MySQL.

En savoir plus sur le mappeur relationnel objet (ORM)

La plupart des développeurs travaillant avec des bases de données relationnelles n'écrivent pas réellement du SQL brut. Le plus souvent, ils utilisent des bibliothèques qui effectuent un mappage objet-relationnel, ou ORM.

Ces bibliothèques font essentiellement ressembler vos tables de base de données à des objets côté serveur de votre site, afin que vous puissiez facilement manipuler les données à l'aide de n'importe quel langage de programmation orienté objet de votre choix.

Des exemples d'ORM incluent Sequelize (JavaScript), Eloquent (Laravel), SQLAlchemy (Python) et Active Record (Ruby on Rails).

ORM élimine le besoin d'écrire du code SQL brut. Au lieu de cela, vous pouvez utiliser vos connaissances en programmation orientée objet pour créer, lire, mettre à jour et supprimer des données sur une base de données SQL. ORM rend l'utilisation des bases de données relationnelles plus facile et plus intuitive.

Système de gestion de bases de données relationnelles (RDMS)

Essentiellement, un système de gestion de base de données relationnelle se compose de deux composants principaux : une base de données et un langage de requête.

La base de données elle-même n'est qu'une collection de tables. Dans chaque tableau, vos données réelles sont organisées en colonnes et en lignes, tout comme une feuille de calcul. Les tables d'une base de données relationnelle peuvent être liées ou liées en fonction des données communes à chaque table.

Le langage de requête est utilisé pour manipuler et lire les données dans la base de données. Pour la plupart des bases de données relationnelles, le langage de requête utilisé pour manipuler les données est une variante de SQL.

Quelques concepts clés dans la base de données SQL

Si vous souhaitez apprendre à utiliser MySQL, nous devons d'abord comprendre quelques concepts de base afin d'expliquer les concepts de base de données SQL suivants de manière visuelle, j'utiliserai un outil de visualisation de base de données appelé DrawSQL. Tout d’abord, nous découvrirons les schémas et les types de données.

Schéma et types de données

Vous pouvez considérer un schéma comme un plan qui définit la structure globale d'une table et ses relations avec d'autres tables.

Par exemple, considérons le schéma de la table Users suivante :

踏上您的 MySQL 之旅
Tableau des utilisateurs

Dans le diagramme du tableau ci-dessus, vous remarquerez que chaque ligne est un dictionnaire où les clés représentent les colonnes de la base de données et les valeurs représentent les types de données qui peuvent y être stockées.

Il existe plusieurs types de données dans MySQL, et les différents types de données de base de données SQL sont également différents.

Vous remarquerez également que id 键前面也有一个键。这表明 id qui accepte des valeurs entières est défini à l'aide d'une contrainte de clé primaire.

Donc la valeur de id dans chaque colonne ne peut pas être vide et doit être unique. Par conséquent, deux utilisateurs ou plus ne peuvent jamais partager la même clé primaire et chaque ligne peut être identifiée par sa clé primaire.

Ces règles forment ensemble la structure de la table users.

Examinons de plus près les contraintes de la base de données MySQL.

Contraintes

Nous avons vu plus tôt la contrainte de clé primaire, qui garantit que la valeur d'une clé spécifiée est unique pour chaque colonne du tableau.

Dans MySQL, les contraintes sont des règles qui autorisent ou restreignent les valeurs stockées dans une table. Ils aident à limiter le type de données qui seront insérées dans le tableau, garantissant ainsi l'exactitude et l'exhaustivité des données contenues dans le tableau.

Les contraintes suivantes sont couramment utilisées dans MySQL :

  • NOT NULL : Assurez-vous que la colonne ne peut pas avoir de valeurs NULL
  • UNIQUE : Assurez-vous que toutes les valeurs de la colonne sont différentes les unes des autres
  • 主键 : Combinaison de NOT NULL et UNIQUE - identifie de manière unique chaque ligne du tableau
  • 外键 : Utilisé pour relier deux tables entre elles
  • CREATE INDEX : Utilisé pour créer rapidement des bases de données et récupérer des données à partir de bases de données
  • CHECK : Assurez-vous que les valeurs de la colonne remplissent les conditions spécifiées
  • DEFAULT : Si aucune valeur n'est spécifiée, définissez une valeur par défaut pour la colonne

Normalisation de la base de données

Pour ajouter plus de contexte, supposons que la table Users soit utilisée pour stocker les utilisateurs enregistrés sur un site Web d'achat en ligne.

Habituellement, un site d'achat en ligne doit avoir une table Produit et une table Panier dans sa base de données. Les Produits contiendront tous les produits disponibles pour l'utilisateur et le Panier contiendra les articles spécifiques que l'utilisateur spécifique a l'intention d'acheter ainsi que la quantité de chaque article. p>

Tous les tableaux créés jusqu'à présent sont les suivants :

踏上您的 MySQL 之旅

Toutes ces tables sont des entités uniques. Cela signifie, par exemple, que la table carts n'a pas besoin de stocker d'informations sur l'utilisateur.

Techniquement, rien ne nous empêche de fusionner les données du panier dans le tableau Utilisateurs. Après tout, les deux ensembles d’informations sont liés (l’utilisateur dispose d’un panier). Cependant, cette approche conduit finalement à une table bondée et très difficile à gérer.

Au lieu de cela, nous avons adopté une approche plus durable et créé une table Panier distincte pour stocker toutes les données liées au panier. Nous créons ensuite une référence à l'autre table en plaçant la clé étrangère user_idproduct_id dans la table carts.

De cette façon, le panier peut accéder à toutes les informations sur l'utilisateur propriétaire du panier et les produits présents dans le panier, bien qu'aucune information de ce type n'y soit réellement stockée.

Cette méthode de combinaison et de liaison de tables dans une base de données relationnelle est appelée normalisation. Je n'ai abordé que les bases de la normalisation dans cet article. Si vous concevez un schéma de base de données pour une application Web, cela vaut la peine d'en savoir plus sur la normalisation.

Installez et apprenez à utiliser MySQL

Maintenant que nous avons une compréhension plus approfondie de MySQL et de MySQL Server, pratiquons en installant MySQL sur notre système.

Pour installer MySQL sur votre système, accédez à la page Téléchargements de la communauté MySQL et téléchargez le programme d'installation de MySQL.

Une fois le téléchargement terminé, exécutez le programme d'installation et terminez l'assistant d'installation pour installer MySQL.

Lors de la sélection du type d'installation, assurez-vous d'inclure le produit du serveur MySQL. Je recommande d'utiliser l'option Developer Default.

Pendant le processus de configuration pour démarrer avec MySQL, il vous sera demandé de créer un nom d'utilisateur et un mot de passe. N'oubliez pas de les mémoriser car vous en aurez besoin plus tard pour vous connecter à la base de données.

Après une installation réussie, vous devriez pouvoir accéder aux commandes du serveur MySQL à partir de la ligne de commande.

Cependant, pour utiliser MySQL depuis la ligne de commande, vous devez d'abord vous authentifier. Exécutez la commande suivante et remplissez l'espace réservé avec votre nom d'utilisateur :

mysql -u <your username> -p

Vous serez invité à saisir votre mot de passe administrateur et si les deux informations sont correctes, vous aurez accès à MySQL à partir de la ligne de commande.

N'oubliez pas que le nom d'utilisateur par défaut pour MySQL est root et que le mot de passe par défaut est vide.

Comment MySQL gère-t-il les opérations SQL courantes ?

Créer un serveur et une base de données MySQL

Pour créer une base de données dans MySQL, nous utilisons l'instruction CREATE DATABASE suivie du nom de la base de données :

CREATE DATABASE shopping_site;
Une instruction

est un code qui indique au système de faire quelque chose. Les instructions SQL se terminent toujours par un point-virgule. Les mots en majuscules sont des mots-clés SQL réservés et SQL les interprétera pour effectuer certaines opérations.

L'exécution de la commande ci-dessus créera une base de données vide nommée shopping_site dans MySQL.

Pour afficher toutes les bases de données présentes dans une instance MySQL, exécutez SHOW DATABASE.

Créer une table dans la base de données

Pour créer une table dans une nouvelle base de données, utilisez l'instruction CREATE TABLE, suivie du nom de la table et des parenthèses contenant la liste des colonnes que nous souhaitons inclure dans cette table :

CREATE TABLE users(
    id INT PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(255),
    last_name VARCHAR(255),
    email VARCHAR(255) UNIQUE NOT NULL,
    password VARCHAR(255),
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

Pour chaque colonne de User, nous spécifions le type de données de cette colonne. Nous avons également ajouté une série de contraintes aux colonnes id et email.

L'exécution de cette commande créera une table vide mais structurée nommée users dans la base de données.

Créer un nouvel enregistrement dans le tableau

Pour créer un nouvel enregistrement dans un tableau, utilisez l'instruction INSERT INTO, suivie du tableau dans lequel la valeur doit être insérée :

INSERT INTO users(first_name, last_name, email, password)
VALUES(
    'Kingsley',
    'Ubah',
    'ubahthebuilder@gmail.com',
    '12345678'
);

Dans la première parenthèse, on précise la colonne dans laquelle on souhaite insérer la valeur. Ensuite, dans la deuxième parenthèse, on précise les valeurs à insérer dans le bon ordre.

L'exécution de cette commande insérera ces valeurs dans les colonnes spécifiées de la table users.

Étant donné que nous avons défini le champ id sur incrémentation automatique, cette valeur est ajoutée automatiquement. De plus, l'horodatage est généré automatiquement par MySQL, nous n'avons donc pas besoin de le spécifier nous-mêmes.

从表中读取

要从数据库查询数据,请使用 SELECT 语句。

例如,如果我们想从 users 表中选择所有内容,我们可以使用以下语句:

SELECT * FROM users;

星号 (*) 代表我们数据库中的所有内容。该语句将返回整个表以及每一列。

如果我们只需要列的子集,例如 idemail,我们可以指定列来代替星号:

SELECT id, email FROM users;

在选择数据方面,我们的能力是无限的。

删除表格

要从 MySQL 中完全删除表,请使用 DROP 语句,后跟表名称:

DROP TABLE users;

现在,使用此命令时需要小心!它将永久删除users表中的所有数据。另外,不要将其与 DROP DATABASE 语句混淆,该语句会删除整个数据库。

就是这样!现在您知道如何使用 MySQL!

MySQL 是一个开源关系数据库管理系统,即使在今天,它仍然为网络的重要部分提供支持。结构化查询语言或 SQL 用于在 MySQL 数据库中操作和存储数据。

在这篇文章中,我们回顾了 SQL 的一些关键概念,包括 ORM、模式、约束和数据库规范化。我们还回顾了 MySQL 的安装和设置过程。

最后,我们介绍了一些负责在 MySQL 中操作数据的 SQL 语句。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn