MySQL - Abfrage einfügen

Um Daten in eine MySQL-Tabelle einzufügen, müssten Sie SQL verwenden INSERT INTOBefehl. Sie können Daten in die MySQL-Tabelle einfügen, indem Sie die Eingabeaufforderung mysql> oder ein beliebiges Skript wie PHP verwenden.

Syntax

Hier ist eine generische SQL-Syntax des Befehls INSERT INTO zum Einfügen von Daten in die MySQL-Tabelle:

INSERT INTO table_name ( field1, field2,...fieldN )
   VALUES
   ( value1, value2,...valueN );

Um String-Datentypen einzufügen, müssen alle Werte in doppelte oder einfache Anführungszeichen gesetzt werden. Zum Beispiel"value".

Einfügen von Daten über die Eingabeaufforderung

Um Daten an der Eingabeaufforderung einzufügen, verwenden wir den Befehl SQL INSERT INTO, um Daten in die MySQL-Tabelle tutorials_tbl einzufügen.

Beispiel

Im folgenden Beispiel werden 3 Datensätze erstellt tutorials_tbl Tabelle -

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed

mysql> INSERT INTO tutorials_tbl 
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>

NOTE- Bitte beachten Sie, dass alle Pfeilzeichen (->) nicht Teil des SQL-Befehls sind. Sie zeigen eine neue Zeile an und werden automatisch von der MySQL-Eingabeaufforderung erstellt, während die Eingabetaste gedrückt wird, ohne dass am Ende jeder Befehlszeile ein Semikolon angegeben wird.

Im obigen Beispiel haben wir keine tutorial_id angegeben, da wir zum Zeitpunkt der Tabellenerstellung die Option AUTO_INCREMENT für dieses Feld angegeben hatten. MySQL sorgt also dafür, dass diese IDs automatisch eingefügt werden. Hier,NOW() ist eine MySQL-Funktion, die das aktuelle Datum und die aktuelle Uhrzeit zurückgibt.

Einfügen von Daten mit einem PHP-Skript

Sie können denselben SQL INSERT INTO-Befehl in der PHP-Funktion verwenden mysql_query() um Daten in eine MySQL-Tabelle einzufügen.

Beispiel

In diesem Beispiel werden drei Parameter vom Benutzer übernommen und in die MySQL-Tabelle eingefügt.

<html>

   <head>
      <title>Add New Record in MySQL Database</title>
   </head>

   <body>
      <?php
         if(isset($_POST['add'])) {
            $dbhost = 'localhost:3036';
            $dbuser = 'root';
            $dbpass = 'rootpassword';
            $conn = mysql_connect($dbhost, $dbuser, $dbpass);
         
            if(! $conn ) {
               die('Could not connect: ' . mysql_error());
            }

            if(! get_magic_quotes_gpc() ) {
               $tutorial_title = addslashes ($_POST['tutorial_title']);
               $tutorial_author = addslashes ($_POST['tutorial_author']);
            } else {
               $tutorial_title = $_POST['tutorial_title'];
               $tutorial_author = $_POST['tutorial_author'];
            }

            $submission_date = $_POST['submission_date'];
   
            $sql = "INSERT INTO tutorials_tbl ".
               "(tutorial_title,tutorial_author, submission_date) "."VALUES ".
               "('$tutorial_title','$tutorial_author','$submission_date')";
               mysql_select_db('TUTORIALS');
            $retval = mysql_query( $sql, $conn );
         
            if(! $retval ) {
               die('Could not enter data: ' . mysql_error());
            }
         
            echo "Entered data successfully\n";
            mysql_close($conn);
         } else {
      ?>
   
      <form method = "post" action = "<?php $_PHP_SELF ?>">
         <table width = "600" border = "0" cellspacing = "1" cellpadding = "2">
            <tr>
               <td width = "250">Tutorial Title</td>
               <td>
                  <input name = "tutorial_title" type = "text" id = "tutorial_title">
               </td>
            </tr>
         
            <tr>
               <td width = "250">Tutorial Author</td>
               <td>
                  <input name = "tutorial_author" type = "text" id = "tutorial_author">
               </td>
            </tr>
         
            <tr>
               <td width = "250">Submission Date [   yyyy-mm-dd ]</td>
               <td>
                  <input name = "submission_date" type = "text" id = "submission_date">
               </td>
            </tr>
      
            <tr>
               <td width = "250"> </td>
               <td> </td>
            </tr>
         
            <tr>
               <td width = "250"> </td>
               <td>
                  <input name = "add" type = "submit" id = "add"  value = "Add Tutorial">
               </td>
            </tr>
         </table>
      </form>
   <?php
      }
   ?>
   </body>
</html>

Verwenden Sie beim Einfügen von Daten am besten die Funktion get_magic_quotes_gpc()um zu überprüfen, ob die aktuelle Konfiguration für Magic Quote festgelegt ist oder nicht. Wenn diese Funktion false zurückgibt, verwenden Sie die Funktionaddslashes() um Schrägstriche vor den Anführungszeichen einzufügen.

Sie können viele Validierungen durchführen, um zu überprüfen, ob die eingegebenen Daten korrekt sind oder nicht, und die entsprechenden Maßnahmen ergreifen.