Fonctionnalités Avancées de MySQL
Cet article explore plusieurs fonctionnalités avancées du système de gestion de bases de données MySQL, y compris les vues, les déclencheurs, les transactions, les procédures stockées, les fonctions, les structures de contrôle de flux, les index et l'optimisation des requêtes lentes.
Les Vues
Une vue est un objet de base de données virtuel dont ...
Publié le 5 août à 18h31
Comprendre les verrous MySQL : lectures sales, blocages et interblocages
Les mécanismes de verrouillage sont essentiels pour garantir l'atomicité des transactions et permettre leur exécution simultanée. Bien qu'ils améliorent la concurrence, ils peuvent introduire des problèmes. Heureusement, en raison des exigences d'isolation des transactions, les verrous ne génèrent que trois types de problèmes principaux. En pré ...
Publié le 31 juillet à 15h00
Impact de l'isolation des transactions sur les verrous des instructions INSERT...SELECT
La question de savoir si une instruction INSERT INTO t2 SELECT * FROM t1; verrouille la table t1 lors de la sélection nécessite une analyse approfondie. Avant d'examiner le comportement des verrous dans GreatSQL, il est crucial de comprendre que les niveaux d'isolation des transactions influencent différemment l'application des verrous.
Configu ...
Publié le 15 juillet à 07h48
Requêtes avancées MySQL & mécanismes de transaction
Requêtes de base avec WHERE
Clause WHERE avec conditions avancées
SELECT id_employe, nom_employe, salaire, date_embauche FROM personnel_temp
WHERE departement = 10 AND (salaire+IFNULL(commission,0)*12)>=15000
AND DATEDIFF(NOW(),date_embauche)/365>=20;
Opérateurs utilisables dans WHERE
Opérateurs arithmétiques : + - * / %
Opérateurs ...
Publié le 10 juillet à 02h34
Bases de données : Vues, Déclencheurs, Transactions, Procédures stockées et Fonctions
Vues
Une vue est une table virtuelle, c'est-à-dire qu'elle n'existe pas physiquement dans la base de données. Essentiellement, une vue est une requête SQL nommée qui renvoie un ensemble de données dynamique. Les utilisateurs peuvent interagir avec une vue comme s'il s'agissait d'une table réelle.
L'utilisation des vues peut simplifier des requê ...
Publié le 7 juillet à 18h47
Optimisation MySQL : Techniques Essentielles pour des Performances Accrues
MySQL gère très bien les grands volumes de données, mais en général, plus les tables d'une base de données sont petites, plus les requêtes exécutées dessus sont rapides. Par conséquent, lors de la création de tables, pour de meilleures performances, nous pouvons définir la largeur des colonnes aussi petite que possible.
Par exemple, lors de la ...
Publié le 3 juillet à 08h12
Utilisation de SqlSugar : transactions, mises à jour partielles, requêtes multi-tables et pagination
Requêtes de base et pagination
var context = BaseDal.Db;
// Requête SQL brute
var result = await context.Ado.SqlQueryAsync<projet>("SELECT * FROM Projets WHERE Statut = @Statut", new { Statut = "Actif" });
// Requête LINQ Lambda
var projetAvecPlanning = await context.Queryable<projet planning="">((pr ...
Publié le 28 juin à 04h09
Les 6 situations où l'annotation @Transactional échoue dans Spring
Gestion des transactions
La gestion des transactions est fondamentale dans le développement d'applications. Spring propose des mécanismes robustes, principalement sous deux formes : la programmation manuelle et la déclaration via annotations.
La gestion programmatique implique un contrôle explicite des commits et rollbacks dans le code, ce qui ...
Publié le 27 juin à 17h30
Manuel de démarrage MySQL : requêtes, tables et transactions JDBC
Manipulation des bases de données
Afficher les bases existantes
SHOW DATABASES;
Points importants : Le langage SQL ne fait pas de distinction entre majuscules et minuscules, les instructions se terminent par un point-virgule anglais (;), et le mot-clé est DATABASES au pluriel.
Créer une base de données
CREATE DATABASE [IF NOT EXISTS] nom_base; ...
Publié le 26 juin à 00h10
Opérations Avancées avec SQL Server
Création de base de données
create database DonneesTest;
Connexion à la base de données
use BaseTest;
Création de tables
create table employe
(
idEmploye int primary key not null,
nomEmploye varchar(16) null,
genre nvarchar(2) CHECK(genre='Masculin' or genre='Féminin'),
poste varchar(16) null,
dateEmbauche datetime null, ...
Publié le 25 juin à 02h35