Manipulation De Données de SQL : L'effacement choisi d'insertion et modifient des données de SQL

Ce tutoriald se concentre sur la façon ajouter, modifier, et enlever des données des tables dans la base de données en utilisant la langue de manipulation de données de SQL. Sans cette connaissance, nous n'aurions vraiment aucune utilisation pour une base de données ; ce serait simplement une entité statique sans le but.

D'abord créons une base de données et une table pour travailler avec dans ce cours d'instruction. Notre base de données s'appellera le dmlexample, ainsi laissez-nous créent cela maintenant avec le rapport suivant :

le mysql > CRÉENT le dmlexample de BASE DE DONNÉES ;

Une fois que créés, nous devons indiquer que nous souhaitons employer la nouvelle base de données en exécutant ce rapport :

mysql > dmlexample d'UTILISATION ;

La console devrait maintenant nous informer que la base de données a changé ;

  

Maintenant que nous avons notre installation de base de données, laissez-nous créent une table pour expérimenter avec appelé sampletable. Cette table contiendra les champs suivants : username, mot de passe, âge, E-mail, et la date où l'entrée a été créée.

Nous pouvons alors créer notre table avec le rapport suivant de DDL :

le mysql > CRÉENT LE TABLEAU sampletable (- > TEXTE de 
username, - > TEXTE de mot de passe, - > âge INTERNE, - > TEXTE 
d'email, - > datecreated l'HORODATEUR) ;  

Insertion Des Données

Maintenant que nous faisons créer notre table, regardons comment nous abordons ajouter des rangées (disques) d'information dans elle. Pour ajouter des rangées dans la table, nous devons employer la commande d'INSERTION. Voici comment nous ajouterions une rangée simple à notre sampletable.

mysql > INSERTION DANS le ->('andrew sampletable de 
VALEURS ', 'QWERTY ', 20, 'andrew@dreamcircle.co.uk ', NULLE)

Notification comment la rétroaction de la console nous indique qu'une rangée a été affectée. Par conséquent, nous avons ajouté une rangée à notre table sampletable.

Nous pouvons alors employer une commande appelée CHOISIE pour regarder les données dans la table. Nous entrerons dans plus de détail au sujet de cette commande plus tard dans ce tutotial, car il est très important, mais pour maintenant nous l'emploierons juste aveuglément. Voyons quelles données sont dans notre table de dmlexample :

le mysql > CHOISISSENT * À PARTIR de sampletable ;
Note

La notification comment datecreated le champ reflète l'heure et la date où nous avons ajouté la rangée dans la table. C'est parce que nous avons indiqué la NULLE quand nous avons ajouté la rangée, et faire ceci fera un champ d'HORODATEUR saisir la date du jour et l'heure à partir du système par défaut.

Il est également possible d'ajouter plusieurs rangées des données dans une commande simple. Essayons maintenant ceci en ajoutant encore trois rangées à notre table dans une commande simple d'INSERTION. Ceci est fait comme suit :

mysql > INSERTION DANS DES VALEURS sampletable - > ('glenn
', 'gimboid ', 21, 'glenn@chopsewage.com ', NULLE), - > ('jim ', 
'letmein ', 23, 'jim@email.net ', NULLE), - > ('wes, 'opensesame ', 
31, 'wes@email.net ', NULLE) ;

Comme vous pouvez voir, cette fois la rétroaction de la console suggère que trois rangées aient été affectées ; par conséquent, nous avons ajouté trois rangées à notre table. Nous pouvons vérifier ceci en employant encore la commande CHOISIE :

le mysql > CHOISISSENT * À PARTIR de sampletable ;

Quand ceci est exécuté, vous verrez maintenant que la table contient quatre rangées (ou disques, si vous aimez) d'information.

Données De Modification

Maintenant que nous savons ajouter des données à une table, nous laissons regarder comment nous nous mettons aux données existantes de modification de table.

Pour modifier des données dans une table, nous exigeons de l'utilisation de la commande de MISE À JOUR. D'abord essayons de changer tous les mots de passe dans toutes les rangées dans la table en "changeme." Ceci peut être accompli avec le rapport suivant :

mot de passe sampletable d'ENSEMBLE de mysql > de MISE À 
JOUR = 'changeme ';
Attention

La commande de MISE À JOUR (aussi bien que toutes les commandes de SQL) est tout à fait puissante. Avec l'utilisation insouciante vous pouvez détruire beaucoup de données avec une erreur simple. Presque chaque question devrait avoir au moins un où condition.

Quand nous exécutons ce rapport, la console nous informera que quatre rangées ont été affectées, car nous avons changé le mot de passe pour chaque rangée dans cette table.

Maintenant nous pouvons voir l'effet sur la table en employant la commande CHOISIE, comme suit :

le myql > CHOISISSENT * À PARTIR de sampletable ;

Une question évidente est maintenant, ce qui si je veux seulement mettre à jour une rangée simple ? Disons que nous souhaitons changer le mot de passe de Glenn du changeme de nouveau au gimboid. Nous avions l'habitude le rapport suivant pour faire ceci :

mot de passe sampletable d'ENSEMBLE de mysql > de MISE À 
JOUR = 'gimboid 'OÙ username = 'glenn ';

Quand nous exécutons cette commande dans la console, elle nous informe qu'une rangée a été affectée. C'est parce qu'il mettra à jour seulement le champ de mot de passe si le champ de username est égal au glenn. Si nous employons la commande CHOISIE sur la table maintenant, nous pouvons voir que seulement le mot de passe de Glenn a changé.

Nous pouvons également appliquer cette technique pour nous permettre de mettre à jour seulement certains champs. Par exemple, nous pourrions changer tous les mots de passe du peuple qui sont l'âge 30 ou plus jeune. Voici la commande que nous exigerions pour faire ceci :

mot de passe sampletable d'ENSEMBLE de mysql > de MISE À 
JOUR = 'jeunes 'OÙ âge <= 30

Quand nous exécutons cette commande, elle nous informera que trois rangées ont été affectées, car trois des quatre disques dans notre table ont un âge égal à ou moins de 30.

Bout

Une idée utile est de mettre à jour un champ d'horodateur avec la NULLE. Ceci recherchera le dernier temps du système que la base de données exploite dessus (c.-à-d., une utilisation pratique devrait noter la dernière fois un joueur entré).

Enlever Des Données (De Supprimer)

Enlever des données d'une table est fait d'un moyen très semblable de mettre à jour des données. D'abord nous regarderons comment supprimer une rangée simple des données. Maintenant supprimons le glenn de la base de données en utilisant le rapport suivant :

mysql > EFFACEMENT de sampletable OÙ username = 'glenn ';

Quand nous exécutons cette commande, le client de console de MySQL nous informera qu'une rangée a été affectée (c.-à-d., supprimé).

Encore, comme avec les rapports de MISE À JOUR, nous pouvons indiquer des conditions pour nous permettre de supprimer, par exemple, chacun avec un âge moins de 30. Faisons maintenant ceci avec le rapport suivant :

mysql > EFFACEMENT de sampletable OÙ âge < 30;

Quand nous exécutons ce rapport, le client nous informera que deux rangées ont été affectées, ou dans ce cas-ci, supprimé. Si nous employons maintenant la commande CHOISIE sur notre table, nous verrons que seulement une rangée est laissée dans la table.

En conclusion, il est également possible de supprimer toutes les rangées d'une table dans un rapport simple. Tout que nous devons faire ne doit pas n'indiquer aucune condition, comme le faisions nous quand nous avons mis à jour tous les champs de mot de passe au changeme. Voici le rapport pour supprimer toutes les rangées dans une table (c.-à-d., videz la table).

mysql > EFFACEMENT de sampletable ;

Comme vous pouvez voir, la table ne contient maintenant aucune information.

Employer Des Rapports CHOISIS

Jusqu'ici, nous avons simplement employé la commande suivante de montrer toutes les données dans notre table sampletable :

le mysql > CHOISISSENT * À PARTIR de sampletable ;

Ceci réellement cherche tous les champs de la table sampletable et les renvoie. * est un wildcard, que le moyen fondamentalement il représente n'importe quoi (ou dans ce cas-ci, tout champ).

Avant que nous entrions dans le rapport CHOISI plus loin, laissez-nous ajoutent d'abord quelques données à l'expérience avec dans notre table sampletable. Employez le rapport suivant pour insérer quelques données :

mysql > INSERTION DANS DES VALEURS sampletable - > 
('Andrew ', 'QWERTY ', 20, 'andrew@dreamcircle.co.uk ', NULLE), - > 
('Andrew ', 'letmein ', 27, 'andrew@email.net ', NULLE), - > ('george 
', 'papier ', 19, 'george@email.net ', NULLE), - > ('bourrique ', 
'jen999 ', 27, 'jen@email.net ', NULLE), - > ('sandra ', 'sdra2 ', 27,
'sandra@email.net ', NULLE) ;

Maintenant que nous avons ajouté nos données dans la table, si nous employons le rapport CHOISI avec le wildcard (*), comme nous faisions avant, il recherchera et montrera toute l'information de la table dans la console. Essayons maintenant ceci avec le rapport suivant.

le mysql > CHOISISSENT * À PARTIR de sampletable ;

Comme vous pouvez voir, le rapport a recherché toute l' information de la table (c.-à-d., toutes les rangées et toutes des colonnes contenues dans chacune des rangées).

Disons que tout que nous voulons rechercher est le champ de mot de passe. Pour obtenir tous les mots de passe de la table sampletable, nous avions l'habitude le rapport suivant :

mysql > mot de passe CHOISI de sampletable ;

Notification comment nous remplaçons simplement le wildcard (*) avec la colonne nous souhaitons rechercher. Nous pouvons également rechercher les colonnes multiples en employant une virgule pour les délimiter. Essayons de choisir la colonne de username et la colonne de mot de passe seulement. Voici le rapport que nous exigeons pour ceci :

mysql > username CHOISI, mot de passe de sampletable ;

Quand nous exécutons ce rapport, nous pouvons voir dans la console que les champs seulement de username et de mot de passe ont été choisis parmi la table.

Maintenant que nous savons rechercher différents champs des tables, comment recherchons-nous une rangée simple ? Nous pouvons facilement nous appliquer une condition à un rapport CHOISI, juste comme nous quand nous mettions à jour la table et la supprimions de la table. En utilisant un rapport CHOISI conditionnel, seulement montrons l'information de la bourrique de la base de données. Voici le rapport que nous exigeons pour ceci :

le mysql > CHOISISSENT * À PARTIR de sampletable OÙ 
username = 'bourrique ';

Quand nous exécutons ce rapport, seulement les détails de la bourrique seront montrés dans la console de client de MySQL.

Nous pouvons également incorporer l'idée de choisir les champs indiqués. Un exemple pratique de ceci devrait trouver le mot de passe qui se relie à un username. Voici comment nous obtiendrions le mot de passe qui a appartenu à George :

mysql > mot de passe CHOISI de sampletable OÙ username = 
'george ';

Quand nous exécutons ce rapport, nous pouvons voir que seulement un champ simple est montré, qui s'avère justement être le mot de passe de George.

Note

Quand nous indiquons les champs spécifiques, comme dans cet exemple, nous ne sommes pas limités aux champs que nous choisissons pour l'usage dans OÙ clause.

Dans nos données d'échantillon, il y a deux rangées avec le username Andrew. Si nous essayons d'employer un rapport conditionnel pour obtenir le mot de passe pour Andrew, nous obtiendrons en fait deux mots de passe, un pour chaque entrée d'Andrew dans la base de données. Essayons maintenant ceci juste pour la preuve. Voici le rapport dont nous avons besoin :

mysql > mot de passe CHOISI de sampletable OÙ username = 
'Andrew ';

Quand nous exécutons ce rapport, nous pouvons voir que nous avons deux mots de passe montrer dans la console.

Note

Des reproductions peuvent être enlevées du résultat en employant l'option DISTINCTE. Par exemple : CHOISISSEZ le username DISTINCT À PARTIR de sampletable.

Allons voir la façon dont la commande de semblables peut nous aider à trouver l'information dont nous avons besoin. Employer COMME est idéal pour trouver des cordes dans les bases de données, particulièrement si vous avez seulement une partie de la corde complète (c.-à-d., pour un Search Engine). Par exemple, disons que nous souhaitons trouver quelqu'un dans la base de données dont le nom commence par la lettre j. Pour accomplir ceci, nous exigerions du rapport suivant :

le mysql > CHOISISSENT * À PARTIR de sampletable OÙ le 
username AIMENT 'j% ';

Notez ici comment la bourrique a été recherchée, en tant que son username était le seul à commencer par un j. Le % représente un wildcard une fois utilisé avec COMME, ainsi si nous employions le rapport suivant à la place :

le mysql > CHOISISSENT * À PARTIR de sampletable OÙ le 
username AIMENT '%j% ';

... la lettre j a pu apparaître n'importe où dans la corde. En outre, notez que vous pouvez avoir plus qu'un caractère simple :

le mysql > CHOISISSENT * À PARTIR de sampletable OÙ le 
username AIMENT '%nny ';

Ceci rechercherait tout le peuple qui ont des noms qui finissent avec le texte "nny." En conclusion, si nous employions le rapport suivant :

choisissez * à partir de sampletable où le username 
aiment '%nny%a ';  

... il rechercherait tout le contenir de rangées "nny" dans leurs noms, mais le nom devrait finir avec "a".

c'est un article supplémentaire par George Ionescu


Déni : Notre site Web n'est pas responsable de l'information contenue par cet article. Cet article reflète nullement les vues, les avis, les pensées ou la croyance du personnel d'annuaire d'articles.

Notification de traduction : Manipulation de données de SQL de l'article ": L'effacement choisi d'insertion et modifient des données de SQL "a été traduit en utilisant un service de traduction automatisé. Nous faisons des excuses sincèrement pour toutes les erreurs de traduction qui se sont produites. Merci de l'arrangement.

Online: 791 users browsing the articles directory