Maison >base de données >tutoriel mysql >Requêtes MySQL de base : un guide complet

Requêtes MySQL de base : un guide complet

PHPz
PHPzoriginal
2024-08-24 06:35:101369parcourir

Basic MySQL Queries: A Comprehensive Guide

Auteur : Nirmalya Mondal

Introduction

MySQL est l'un des systèmes de gestion de bases de données relationnelles (SGBDR) les plus populaires utilisés pour les applications Web et autres applications basées sur les données. Que vous soyez débutant ou quelqu'un souhaitant perfectionner vos compétences MySQL, comprendre les requêtes de base est essentiel. Ce blog vous guidera à travers quelques requêtes MySQL fondamentales que vous pouvez utiliser pour les opérations de base de données, les manipulations de tables et la gestion des données.

1. Opérations de base de données

Créer une base de données

Pour commencer, vous avez besoin d'une base de données dans laquelle vous stockerez vos tables et données. Créer une base de données est simple :

CREATE DATABASE my_database;

Sélectionner la base de données

Une fois la base de données créée, utilisez la requête suivante pour la sélectionner :

USE my_database;

Supprimer la base de données

Si vous devez supprimer une base de données, utilisez la commande suivante :

DROP DATABASE my_database;

2. Opérations sur les tableaux

Créer un tableau

Les tableaux sont l'endroit où vos données sont stockées. Vous pouvez créer un tableau avec des colonnes spécifiques comme suit :

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    age INT
);

Afficher les tableaux

Pour voir toutes les tables de votre base de données sélectionnée :

SHOW TABLES;

Décrire la structure du tableau

Si vous souhaitez connaître la structure d'un tableau, vous pouvez la décrire :

DESCRIBE users;

Modifier la table

Si vous devez modifier un tableau en ajoutant ou en changeant des colonnes :

  • Ajouter une colonne
  ALTER TABLE users ADD phone VARCHAR(15);
  • Modifier une colonne
  ALTER TABLE users MODIFY age TINYINT;

Déposer la table

Pour supprimer un tableau :

DROP TABLE users;

3. Opérations sur les données

Insérer des données

Pour ajouter des données à un tableau :

INSERT INTO users (name, email, age) VALUES ('John Doe', 'john@example.com', 25);

Sélectionner les données

Récupérer les données d'une table :

SELECT name, email FROM users WHERE age > 20;

Sélectionner toutes les données

Pour récupérer toutes les données d'une table :

SELECT * FROM users;

Mettre à jour les données

Pour mettre à jour les données d'un tableau :

UPDATE users SET age = 26 WHERE name = 'John Doe';

Supprimer les données

Pour supprimer des données d'un tableau :

DELETE FROM users WHERE name = 'John Doe';

4. Requêtes conditionnelles

Clause OÙ

Utilisez la clause WHERE pour filtrer les enregistrements en fonction de conditions spécifiques :

SELECT * FROM users WHERE age > 20;

ET/OU Conditions

Combinez plusieurs conditions à l'aide de AND ou OR :

SELECT * FROM users WHERE age > 20 AND name = 'John Doe';

Clause IN

Sélectionnez des données en fonction d'une liste de valeurs :

SELECT * FROM users WHERE age IN (20, 25, 30);

Clause ENTRE

Filtrer les données dans une plage :

SELECT * FROM users WHERE age BETWEEN 20 AND 30;

Clause LIKE

Recherchez des modèles à l'aide de la clause LIKE :

SELECT * FROM users WHERE name LIKE 'J%';

EST NULL / N'EST PAS NULL

Filtrer les enregistrements avec des valeurs NULL ou NOT NULL :

SELECT * FROM users WHERE email IS NULL;

5. Fonctions agrégées

COMPTE

Comptez le nombre de lignes :

SELECT COUNT(*) FROM users;

SOMME

Calculer la somme d'une colonne :

SELECT SUM(age) FROM users;

AVG

Trouver la valeur moyenne d'une colonne :

SELECT AVG(age) FROM users;

MAX et MIN

Trouver la valeur maximale ou minimale d'une colonne :

SELECT MAX(age) FROM users;
SELECT MIN(age) FROM users;

6. Regroupement et tri

GROUPE PAR

Regrouper les données en fonction d'une ou plusieurs colonnes :

SELECT age, COUNT(*) FROM users GROUP BY age;

AVOIR

Filtrer les données groupées :

SELECT age, COUNT(*) FROM users GROUP BY age HAVING COUNT(*) > 1;

ORDER PAR

Trier les données par ordre croissant ou décroissant :

SELECT * FROM users ORDER BY age DESC;

7. Rejoindre les opérations

Rejoindre interne

Récupérer les données de plusieurs tables où la condition est remplie dans les deux :

SELECT users.name, orders.order_date FROM users
INNER JOIN orders ON users.id = orders.user_id;

Rejoindre à gauche

Récupérer les données du tableau de gauche et les lignes correspondantes du tableau de droite :

SELECT users.name, orders.order_date FROM users
LEFT JOIN orders ON users.id = orders.user_id;

Rejoindre à droite

Récupérer les données du tableau de droite et les lignes correspondantes du tableau de gauche :

SELECT users.name, orders.order_date FROM users
RIGHT JOIN orders ON users.id = orders.user_id;

8. Sous-requêtes

Sous-requête dans OÙ

Utilisez une sous-requête pour filtrer les résultats :

SELECT name FROM users WHERE id = (SELECT user_id FROM orders WHERE order_id = 1);

Sous-requête dans SELECT

Utilisez une sous-requête pour calculer les valeurs :

SELECT name, (SELECT COUNT(*) FROM orders WHERE users.id = orders.user_id) AS order_count
FROM users;

9. Vues

Créer une vue

Créez une table virtuelle basée sur une requête :

CREATE VIEW user_orders AS
SELECT users.name, orders.order_date FROM users
INNER JOIN orders ON users.id = orders.user_id;

Drop View

Delete a view:

DROP VIEW user_orders;

10. Indexing

Create Index

Improve query performance by creating an index:

CREATE INDEX idx_name ON users (name);

Drop Index

Remove an index:

DROP INDEX idx_name ON users;

Conclusion

Understanding these basic MySQL queries is essential for anyone working with relational databases. Whether you are managing data, optimizing queries, or ensuring data integrity, these commands form the foundation of your MySQL skills. By mastering them, you'll be well-equipped to handle most database-related tasks with ease.

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