Maison  >  Article  >  base de données  >  Entraînez-vous à insérer, mettre à jour et supprimer des données MySQL

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

coldplay.xixi
coldplay.xixiavant
2021-03-22 09:12:102678parcourir

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)

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)

②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)

③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)
(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)
(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)
(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)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer