Partage de technologie

Fonctions communes de MySQL

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

En tant que système de gestion de bases de données relationnelles largement utilisé, MySQL offre de riches fonctionnalités pour prendre en charge différents types d'applications. Voici quelques fonctions courantes de MySQL :

Gestion de base de données

1. Créez et gérez des bases de données et des tables :

MySQL fournit des instructions SQL flexibles pour créer, modifier et supprimer des bases de données et leurs tables.

CREATE DATABASE mydatabase;
CREATE TABLE mytable (id INT PRIMARY KEY, name VARCHAR(50));
  • 1
  • 2

2. Insertion, mise à jour et suppression des données :

Utilisez des instructions SQL standard pour la manipulation des données.

INSERT INTO mytable (id, name) VALUES (1, 'Alice');
UPDATE mytable SET name = 'Bob' WHERE id = 1;
DELETE FROM mytable WHERE id = 1;
  • 1
  • 2
  • 3

3. Interroger les données :

Récupération de données via des instructions SELECT, y compris des JOIN complexes, des sous-requêtes, le tri et le regroupement.

SELECT * FROM mytable WHERE name = 'Alice';
SELECT name, COUNT(*) FROM mytable GROUP BY name;
  • 1
  • 2

Sécurité et autorisations

1. Gestion des utilisateurs et contrôle des autorisations :

MySQL fournit un contrôle précis des autorisations, permettant aux administrateurs d'attribuer différentes autorisations à différents utilisateurs.

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT ON mydatabase.* TO 'user1'@'localhost';
  • 1
  • 2

2. Gestion des rôles :

À partir de MySQL 8.0, la gestion des rôles est prise en charge, simplifiant l'attribution et la gestion des autorisations.

CREATE ROLE 'developer';
GRANT SELECT, INSERT, UPDATE ON mydatabase.* TO 'developer';
GRANT 'developer' TO 'user1'@'localhost';
  • 1
  • 2
  • 3

Optimisation des performances

1. Indice :

MySQL prend en charge plusieurs types d'index, tels que l'index B-Tree, l'index de texte intégral et l'index spatial, pour améliorer les performances des requêtes.

CREATE INDEX idx_name ON mytable(name);
  • 1

2. Cache de requêtes :

MySQL fournit une fonction de mise en cache des requêtes, qui peut mettre en cache les résultats des requêtes et améliorer l'efficacité d'exécution de la même requête (supprimée dans MySQL 8.0).

3. Schéma de performances :

Un ensemble de tables et d'outils sont fournis pour surveiller et analyser les performances de la base de données.

SELECT * FROM performance_schema.events_statements_summary_by_digest;
  • 1

Réplication et haute disponibilité

1. Réplication maître-esclave :

MySQL prend en charge la réplication maître-esclave pour la distribution des données et la haute disponibilité.

CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication_user', MASTER_PASSWORD='password';
START SLAVE;
  • 1
  • 2

2. Cluster (cluster MySQL InnoDB) :

Fournir des solutions de cluster de bases de données à haute disponibilité pour garantir la haute disponibilité et la cohérence des données.

Sauvegarde et récupération de données

1. Sauvegarde logique :

utiliser mysqldump Outils de sauvegarde logique.

mysqldump -u root -p mydatabase > mydatabase.sql
  • 1

2. Sauvegarde physique :

utiliser mysqlbackup(Sauvegarde MySQL Enterprise) ou xtrabackup(Percona XtraBackup) pour la sauvegarde physique.

Autres fonctionnalités avancées

1. Déclencheur :

Code SQL qui s'exécute automatiquement lorsque des événements spécifiques (tels que INSERT, UPDATE, DELETE) se produisent sur une table spécifique.

CREATE TRIGGER mytrigger BEFORE INSERT ON mytable FOR EACH ROW SET NEW.name = UPPER(NEW.name);
  • 1

2. Procédures et fonctions stockées :

Encapsulez un ensemble d'instructions SQL afin qu'elles puissent être appelées plusieurs fois afin d'améliorer la réutilisabilité et la maintenabilité du code.

CREATE PROCEDURE myprocedure(IN param1 INT)
BEGIN
  SELECT * FROM mytable WHERE id = param1;
END;
  • 1
  • 2
  • 3
  • 4

3. Afficher :

Créez des tables virtuelles pour les requêtes complexes afin d'améliorer la lisibilité et la réutilisabilité des requêtes.

CREATE VIEW myview AS SELECT name FROM mytable WHERE id > 10;
  • 1

Grâce à ces fonctions, MySQL fournit un ensemble d'outils puissants pour répondre aux besoins de divers scénarios d'application.