Insérer, modifier, et effacer des données

La déclaration SELECT est certainement la plus employée, et celle qui contient le plus subtilités. Mais la manipulation des données passe aussi par l'insertion, la mise à jour, et la suppression de données.

Pour des raisons de sécrurité vous ne pouvez pas insérer, ni modifier de données sur notre SGBD. Il vous faudra vous entraîner sur un KIT du type Apache-PHP-MySQL, tel UWAMP (sous Windows) par exemple ou MAMP sous Mac.

Insertion de données dans une table

L'insertion des données passe par la commande INSERT. Principe:

INSERT INTO nom_de_la_table(champ1, champ2,...) VALUES ('valeur1','valeur2',...) , ce qui donne pour l'insertion d'un nouveau genre:

INSERT INTO genre (id_genre, type, precisions) VALUES ('','Internet','Langages de scripts')

Remarque: il n'y a pas de valeur pour le champ id_genre car ce champ numérique est auto-incrémenté. D'autre part il est important d'entourer les valeurs par des apostrophes (').

Insérons un auteur à présent:

INSERT INTO auteur (id_auteur, nom, prenom, pseudo, nationalite, siecle) VALUES ('mcba1','mcbain','ed','evan hunter','americain','20 ème' )

Remarque: Il n'est pas indispensable de préciser les noms des champs , mais cela permet d'éviter pas mal de surprises.

Insertion de données depuis une requête SELECT

CREATE TABLE tester AS SELECT * FROM genre

La requête ci-dessus crée une table (tester) et y insère le contenu de la table genre; cette dernière table est donc dupliquée.

Cette notation est propre à MySQL et Oracle. Pour les autres SGBD il suffit de saisir:

SELECT * INTO tester FROM genre

Mettre à jour des données

L'instruction UPDATE ... SET permet cette opération. Le principe est le suivant:

UPDATE nom_de_la_table SET nom_du_champ_concerné=nouvelle_valeur WHERE restriction_qui_selection_la_ligne_concernée

Effectuons une mise à jour du nombre de pages du l'ouvrage n°5, Statistiques descriptives. Il comporte en fait 335 pages au mieu de 330.

UPDATE livre SET nb_pages=335 WHERE code=5

Important: en l'absence de la clause WHERE c'est l'ensemble des enregistrements de la table qui se voient ainsi modifiés. Dans notre cas nous aurions donc attribué 335 pages à tous les ouvrages...sans la restriction WHERRE code=5...:)

Effacer des données

L'instruction DELETE permet de supprimer des données; soit la totalité des données de la table, soit certaines lignes de la table en utilisant la clause de restriction WHERE (comme ci-dessus pour la mise à jour des données). Principe:

DELETE FROM nom_de_la_table WHERE condition

Effacer certaines lignes de la table : Requête pour effacer les ouvrages dont l'id_auteur est balz1

DELETE FROM livre WHERE id_auteur='balz1'

Suppression des fichles de la table auteurs en ce qui concern les auteurs dont le nom contient la lettre A:

DELETE FROM auteur WHERE nom like '%a%'

Effacer toutes les lignes de la table : on la vide en fait. L'instruction DELETE s'applique ainsi sans la clause WHERE. Réfléchissez bien avant de l'utiliser...Ainsi si on souhaite vider la table genre de son contenu:

DELETE FROM genre

Pas de manipulation possible en ligne pour ces instructions, vous le comprenez bien...:)


Aristeri.com est le site de Bernard Andruccioli Mentions légales -
http://aristeri.com/?rubrique=SQL_Donnees/?rubrique=SQL_Donnees