Maison  >  Article  >  base de données  >  Comment ajouter de nouveaux enregistrements dans MySQL ?

Comment ajouter de nouveaux enregistrements dans MySQL ?

青灯夜游
青灯夜游original
2020-10-09 14:52:088844parcourir

Comment ajouter de nouveaux enregistrements dans MySQL : 1. Utilisez le "INSERT INTO nom de la table nom de la colonne [, ... nom de la colonne n] ] VALUES (valeur 1) [... , (valeur n); " ; 2. Utilisez l'instruction "INSERT INTO nom de table SET nom de colonne 1 = valeur 1, nom de colonne 2 = valeur 2...".

Comment ajouter de nouveaux enregistrements dans MySQL ?

(Tutoriel recommandé : Tutoriel vidéo MySQL)

La table de données MySQL est composée de lignes et de colonnes, généralement le les « colonnes » de la table sont appelées champs et les « lignes » de la table sont appelées enregistrements.

Une fois la base de données et la table créées avec succès, les données doivent être insérées dans la table de la base de données. Dans MySQL, vous pouvez utiliser l'instruction INSERT pour insérer une ou plusieurs lignes d'enregistrements dans une table existante de la base de données.

Syntaxe de base

L'instruction INSERT a deux formes de syntaxe, à savoir l'instruction INSERT…VALUES et l'instruction INSERT…SET.

1) Instruction INSERT…VALUES

Le format de syntaxe d'INSERT VALUES est :

INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];

La description de la syntaxe est la suivante.

  • 87031497877ef0fde159265152a1fea9 : Précisez le nom de la table sur laquelle opérer.

  • 97af8c213456911f226c06ffbbe12800 : spécifiez le nom de la colonne dans laquelle les données doivent être insérées. Si des données sont insérées dans toutes les colonnes de la table, tous les noms de colonnes peuvent être omis et INSERTccc43248daffbac9770dee47fdaff697VALUES(…) peut être utilisé directement.

  • Clause VALUES ou VALUE : Cette clause contient la liste des données à insérer. L'ordre des données dans la liste de données doit correspondre à l'ordre des colonnes.

2) Instruction INSERT...SET

Le format de syntaxe est :

INSERT INTO <表名>
SET <列名1> = <值1>,
   <列名2> = <值2>,
     …

Cette instruction est utilisée pour directement ajouter des données à la table Certaines colonnes spécifient les valeurs de colonne correspondantes, c'est-à-dire que le nom de colonne des données à insérer est spécifié dans la clause SET, col_name est le nom de colonne spécifié et le signe égal est suivi des données spécifiées. colonnes non spécifiées, la valeur de la colonne sera spécifiée. La valeur par défaut de cette colonne.

Cela peut être vu à partir des deux formes d'instruction INSERT :

  • Utilisez l'instruction INSERT...VALUES pour insérer une ligne de données ou plusieurs lignes de données dans le table;

  • Utilisez l'instruction INSERT…SET pour spécifier la valeur de chaque colonne dans la ligne insérée, ou vous pouvez spécifier la valeur de certaines colonnes ; >

    Instruction INSERT…SELECT Insère les données d'autres tables dans la table.
  • L'instruction INSERT…SET peut être utilisée pour insérer des valeurs de colonnes partielles dans le tableau, ce qui est plus flexible ;
  • INSERT… Instruction VALUES Plusieurs éléments de données peuvent être insérés en même temps.
  • Dans MySQL, le traitement de plusieurs insertions avec une seule instruction INSERT est plus rapide que l'utilisation de plusieurs instructions INSERT.
Lorsque vous utilisez une seule instruction INSERT pour insérer plusieurs lignes de données, il vous suffit de mettre chaque ligne de données entre parenthèses.

Ajoutez des valeurs à tous les champs de la table

Créez une table d'informations sur le cours tb_courses dans la base de données test_db, y compris le numéro de cours course_id, le nom du cours course_name, les crédits du cours course_grade et les notes de cours course_info, l'instruction SQL d'entrée et les résultats de l'exécution sont les suivants.

mysql> CREATE TABLE tb_courses
    -> (
    -> course_id INT NOT NULL AUTO_INCREMENT,
    -> course_name CHAR(40) NOT NULL,
    -> course_grade FLOAT NOT NULL,
    -> course_info CHAR(100) NULL,
    -> PRIMARY KEY(course_id)
    -> );
Query OK, 0 rows affected (0.00 sec)

Il existe deux façons d'insérer des valeurs dans tous les champs du tableau : l'une consiste à spécifier tous les noms de champs ; l'autre consiste à ne pas spécifier de noms de champs du tout.

[Exemple 1] Insérez un nouvel enregistrement dans la table tb_courses, la valeur course_id est 1, la valeur course_name est "Network", la valeur course_grade est 3 et la valeur info est "Computer Network".

Avant d'effectuer l'opération d'insertion, affichez l'instruction SQL et les résultats d'exécution de la table tb_courses comme indiqué ci-dessous.

mysql> SELECT * FROM tb_courses;
Empty set (0.00 sec)

Le résultat de la requête montre que le contenu actuel de la table est vide et qu'il n'y a aucune donnée. Ensuite, insérez les données. L'instruction SQL d'entrée et le processus d'exécution sont les suivants.

mysql> INSERT INTO tb_courses
    -> (course_id,course_name,course_grade,course_info)
    -> VALUES(1,&#39;Network&#39;,3,&#39;Computer Network&#39;);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
+-----------+-------------+--------------+------------------+
1 row in set (0.00 sec)

Vous pouvez voir que l'enregistrement a été inséré avec succès. Lors de l'insertion de données, tous les champs de la table tb_courses sont spécifiés, donc de nouvelles valeurs seront insérées pour chaque champ.

L'ordre des noms de colonnes après l'instruction INSERT ne doit pas nécessairement être l'ordre lorsque la table tb_courses est définie. Autrement dit, lors de l'insertion de données, il n'est pas nécessaire d'insérer dans l'ordre défini par la table. , tant que l'ordre des valeurs est le même que l'ordre des champs de la colonne.

[Exemple 2] Insérez un nouvel enregistrement dans la table tb_courses, la valeur course_id est 2, la valeur course_name est "Database", la valeur course_grade est 3 et la valeur info est "MySQL". L'instruction SQL d'entrée et les résultats de l'exécution sont présentés ci-dessous.

mysql> INSERT INTO tb_courses
    -> (course_name,course_info,course_id,course_grade)
    -> VALUES(&#39;Database&#39;,&#39;MySQL&#39;,2,3);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
+-----------+-------------+--------------+------------------+
2 rows in set (0.00 sec)

Lorsque vous utilisez INSERT pour insérer des données, la liste de noms de colonnes column_list peut être vide. À ce stade, la liste de valeurs doit spécifier une valeur pour chaque champ de la table et l'ordre des valeurs. ​​doit être le même que l'ordre dans lequel les champs sont définis dans la table de données.

[Exemple 3] Insérez un nouvel enregistrement dans la table tb_courses, la valeur course_id est 3, la valeur course_name est "Java", la valeur course_grade est 4 et la valeur info est "Jave EE". L'instruction SQL d'entrée et les résultats de l'exécution sont présentés ci-dessous.

mysql> INSERT INTO tb_courses
    -> VLAUES(3,&#39;Java&#39;,4,&#39;Java EE&#39;);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
|         3 | Java        |            4 | Java EE          |
+-----------+-------------+--------------+------------------+
3 rows in set (0.00 sec)

Il n'y a pas de liste d'insertion spécifiée dans l'instruction INSERT, seulement une liste de valeurs. Dans ce cas, la liste de valeurs spécifie les valeurs insérées pour chaque colonne de champ, et les valeurs doivent être dans le même ordre que celui dans lequel les champs sont définis dans la table tb_courses.

Remarque : bien que le nom de colonne des données insérées puisse être ignoré lors de l'utilisation de INSERT pour insérer des données, si la valeur ne contient pas le nom de colonne, la valeur après le mot-clé VALUES doit non seulement être complète, mais également l'ordre doit être le même que l'ordre des colonnes lorsque la table est définie. Si la structure du tableau est modifiée et que des colonnes sont ajoutées, supprimées ou que leurs positions sont modifiées, ces opérations entraîneront une modification simultanée de l'ordre dans lequel les données sont insérées de cette manière. Si vous spécifiez des noms de colonnes, ils ne seront pas affectés par les modifications de la structure de la table.

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:
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
Article précédent:A quoi sert mysql topArticle suivant:A quoi sert mysql top