© Éditions Eyrolles
37
Chapitre 2
Manipulation des données
Ce chapitre décrit l’aspect LMD (langage de manipulation des données) de MySQL. Nous
verrons que SQL propose trois instructions pour manipuler des données :
q
l’insertion d’enregistrements : INSERT ;
q
la modification de données : UPDATE ;
q
la suppression d’enregistrements : DELETE (et TRUNCATE ).
Il existe d’autres possibilités que nous ne détaillerons pas dans ce chapitre, pour insérer des
données en utilisant des outils d’importation ou de migration, citons MySQL Migration Toolkit, SQLPorter, Navicat, Intelligent Converters et MySQL Data Import de la société EMS.
Insertions d’enregistrements ( INSERT )
Pour pouvoir insérer des enregistrements dans une table, il faut que vous ayez reçu le privilège
INSERT . Il existe plusieurs possibilités d’insertion : l’insertion monoligne qui ajoute un enregistrement par instruction (que nous allons détailler maintenant) et l’insertion multiligne qui
insère plusieurs enregistrements par une requête (que nous détaillerons au chapitre 4).
Syntaxe
La syntaxe simplifiée de l’instruction INSERT monoligne est la suivante :
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] [ nomBase .] { nomTable | nomVue } [( nomColonne ,...)]
VALUES ({ expression | DEFAULT},...),(...),...
[ON DUPLICATE KEY UPDATE nomColonne = expression ,...]
q
DELAYED indique que l’insertion est différée (si la table est modifiée par ailleurs, le
serveur attend qu’elle se libère pour y insérer périodiquement de nouveaux enregistrements si elle redevient active entre-temps).
q
LOW_PRIORITY indique que l’insertion est différée à la libération complète de la table
(option à ne pas utiliser sur des tables MyISAM ).
q
HIGH_PRIORITY annule l’option low priority du serveur.
q
IGNORE indique que les éventuelles erreurs déclenchées suite à l’insertion seront considérées en tant que warning s.
Précédent

- 59/418

Suivant