Maison > base de données > tutoriel mysql > le corps du texte

Entraînez-vous à insérer, mettre à jour et supprimer des données MySQL

coldplay.xixi
Libérer: 2021-03-22 09:12:10
avant
2676 Les gens l'ont consulté

Entraînez-vous à insérer, mettre à jour et supprimer des données MySQL

Cas : Créer des livres de tableaux, insérer, mettre à jour et supprimer des données, et maîtriser les opérations de base des tableaux de données. La structure de la table des livres et les enregistrements dans la table sont les suivants :
Entraînez-vous à insérer, mettre à jour et supprimer des données MySQL
Processus d'opération du cas :
(1) Créez les livres de la table de données et définissez chaque champ selon la structure indiquée dans le tableau 8.1. .
(2) Insérez les enregistrements du tableau 8.2 dans la table des livres. Utilisez différentes méthodes pour insérer des enregistrements.
(3) Augmenter par 5 le prix des livres de type roman.
(4) Changez le prix du livre nommé EmmaT à 40 et changez la description de la note en drame.
(5) Supprimer les enregistrements avec un inventaire de 0.

(recommandation d'apprentissage gratuite : tutoriel vidéo mysql)


(1 ), créez les livres de tableaux de données et définissez chaque champ selon la structure présentée dans le tableau 8.1.
mysql> create table books    -> (
    -> id int(11) not null auto_increment primary key,
    -> name varchar(50) not null,
    -> authors varchar(100) not null,
    -> price float not null,
    -> pubdate year not null,
    -> discount float(3,2) not null,
    -> note varchar(255) null,
    -> num int(11) not null default 0
    -> );Query OK, 0 rows affected (0.05 sec)mysql> select * from books;Empty set (0.05 sec)
Copier après la connexion

Vous pouvez voir que la table est vide. Ensuite, insérez les enregistrements dans la table :

(2) Insérez les enregistrements du tableau 8.2 dans la table des livres. Utilisez différentes méthodes pour insérer des enregistrements.

①Spécifiez tous les noms de champs pour insérer des enregistrements, l'instruction SQL est la suivante ;

mysql> insert into books    -> (id,name,authors,price,pubdate,discount,note,num)
    -> values(1,'Tale of AAA','Dicks',23,'1995',0.85,'novel',11);Query OK, 1 row affected (0.05 sec)
Copier après la connexion

②Insérez des enregistrements sans spécifier de noms de champs, l'instruction SQL est la suivante :

mysql> insert into books    -> values(2,'EmmaT','Jane lura',35,'1993',0.70,'joke',22);Query OK, 1 row affected (0.05 sec)mysql> select * from books;+----+-------------+-----------+-------+---------+----------+-------+-----+| id | name        | authors   | price | pubdate | discount | note  | num |+----+-------------+-----------+-------+---------+----------+-------+-----+|  1 | Tale of AAA | Dicks    |    23 |    1995 |     0.85 | novel |  11 ||  2 | EmmaT       | Jane lura |    35 |    1993 |     0.70 | joke  |  22 |+----+-------------+-----------+-------+---------+----------+-------+-----+2 rows in set (0.00 sec)
Copier après la connexion

③Insérer plusieurs enregistrements en même temps

mysql> insert into books    -> values(3,'Story of Jane','Jane Tim',40,'2001',0.81,'novel',0),
    -> (4,'Lovey Day','George Byron',20,'2005',0.85,'novel',30),
    -> (5,'Old Land','Honore Blade',30,'2010',0.60,'law',0),
    -> (6,'The Battle','Upton Sara',33,'1999',0.65,'medicine',40),
    -> (7,'Rose Hood','Richard Kale',28,'2008',0.90,'cartoon',28);Query OK, 5 rows affected (0.05 sec)Records: 5  Duplicates: 0  Warnings: 0mysql> select * from books;+----+---------------+--------------+-------+---------+----------+----------+-----+| id | name          | authors      | price | pubdate | discount | note     | num |+----+---------------+--------------+-------+---------+----------+----------+-----+|  1 | Tale of AAA   | Dicks       |    23 |    1995 |     0.85 | novel    |  11 ||  2 | EmmaT         | Jane lura    |    35 |    1993 |     0.70 | joke     |  22 ||  3 | Story of Jane | Jane Tim     |    40 |    2001 |     0.81 | novel    |   0 ||  4 | Lovey Day     | George Byron |    20 |    2005 |     0.85 | novel    |  30 ||  5 | Old Land      | Honore Blade |    30 |    2010 |     0.60 | law      |   0 ||  6 | The Battle    | Upton Sara   |    33 |    1999 |     0.65 | medicine |  40 ||  7 | Rose Hood     | Richard Kale |    28 |    2008 |     0.90 | cartoon  |  28 |+----+---------------+--------------+-------+---------+----------+----------+-----+7 rows in set (0.00 sec)
Copier après la connexion
(3) Augmenter le prix des livres de type roman de 5.
mysql> update books    -> set price = price +5
    -> where note = 'novel';Query OK, 3 rows affected (0.05 sec)Rows matched: 3  Changed: 3  Warnings: 0mysql> select id,name,price,note    -> from books    -> where note = 'novel';+----+---------------+-------+-------+| id | name          | price | note  |+----+---------------+-------+-------+|  1 | Tale of AAA   |    28 | novel ||  3 | Story of Jane |    45 | novel ||  4 | Lovey Day     |    25 | novel |+----+---------------+-------+-------+3 rows in set (0.00 sec)
Copier après la connexion
(4). Changez le prix du livre nommé EmmaT à 40 et changez la description de la note en drame.
mysql> update books    -> set price=40,note='drama'
    -> where name = 'EmmaT';Query OK, 1 row affected (0.05 sec)Rows matched: 1  Changed: 1  Warnings: 0mysql> select name,price,note    -> from books    -> where name= 'EmmaT';+-------+-------+-------+| name  | price | note  |+-------+-------+-------+| EmmaT |    40 | drama |+-------+-------+-------+1 row in set (0.00 sec)
Copier après la connexion
(5). Supprimer les enregistrements avec un inventaire de 0.
mysql> delete
    -> from books    -> where num = 0;Query OK, 2 rows affected (0.05 sec)mysql> select *
    -> from books    -> where num = 0;Empty set (0.00 sec)
Copier après la connexion

Quelques petites questions

1. Puis-je ne pas spécifier un nom de champ lors de l'insertion d'un enregistrement ?

  • Peu importe la syntaxe d'insertion utilisée, les valeurs ​il faut lui donner le bon numéro. Si vous ne fournissez pas de noms de champs, vous devez fournir une valeur pour chaque champ, sinon un message d'erreur sera généré.
  • Si vous souhaitez omettre certains champs lors de l'opération d'insertion, alors ces champs doivent remplir certaines conditions : la colonne est définie pour autoriser les valeurs nulles ou une valeur par défaut est donnée lorsque la table est définie, sinon ; étant donné, la valeur par défaut est utilisée.

2. Est-il nécessaire de préciser la clause Where lors de la mise à jour ou de la suppression d'une table ?

  • Toutes les instructions update et delete spécifient des conditions dans la clause Where. Si la clause Where est omise, la mise à jour ou la suppression sera appliquée à toutes les lignes du tableau. Par conséquent, soyez prudent lorsque vous utilisez des instructions update ou delete sans clause Where, sauf si vous avez réellement l'intention de mettre à jour ou de supprimer tous les enregistrements.
  • Il est recommandé d'utiliser l'instruction select pour confirmer les enregistrements qui doivent être supprimés avant de mettre à jour et de supprimer la table afin d'éviter des résultats irréversibles.

Recommandations d'apprentissage gratuites associées : base de données mysql(vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal