MySQL INSERT INTO-Abfrage: Hinzufügen einer Zeile zur Tabelle (Beispiel)

Inhaltsverzeichnis:

Anonim

Was ist INSERT IN?

INSERT INTO wird zum Speichern von Daten in den Tabellen verwendet. Der Befehl INSERT erstellt eine neue Zeile in der Tabelle zum Speichern von Daten. Die Daten werden normalerweise von Anwendungsprogrammen bereitgestellt, die über der Datenbank ausgeführt werden.

Grundlegende Syntax

Schauen wir uns die grundlegende Syntax des Befehls INSERT INTO MySQL an:

INSERT INTO `table_name` (Spalte_1, Spalte_2,…) VALUES (Wert_1, Wert_2,…);

HIER

  • INSERT INTO `table_name` ist der Befehl, der den MySQL-Server anweist, einer Tabelle mit dem Namen` table_name.` eine neue Zeile hinzuzufügen
  • (column_1, column_2,…) gibt die Spalten an, die in der neuen MySQL-Zeile aktualisiert werden sollen
  • VALUES (value_1, value_2,…) gibt die Werte an, die der neuen Zeile hinzugefügt werden sollen

Bei der Angabe der Datenwerte, die in die neue Tabelle eingefügt werden sollen, sollte Folgendes berücksichtigt werden:

  • String-Datentypen - Alle String-Werte sollten in einfache Anführungszeichen gesetzt werden.
  • Numerische Datentypen - Alle numerischen Werte sollten direkt angegeben werden, ohne sie in einfache oder doppelte Anführungszeichen zu setzen.
  • Datumsdatentypen - Geben Sie Datumswerte in einfache Anführungszeichen im Format 'JJJJ-MM-TT' ein.

Beispiel:

Angenommen, wir haben die folgende Liste neuer Bibliotheksmitglieder, die der Datenbank hinzugefügt werden müssen.

Ganze Namen Geburtsdatum Geschlecht Physikalische Adresse Anschrift Kontakt Nummer E-Mail-Addresse
Leonard Hofstadter Männlich Woodcrest 0845738767
Sheldon Cooper Männlich Woodcrest 0976736763
Rajesh Koothrappali Männlich Fairview 0938867763
Leslie Winkle 14/02/1984 Männlich 0987636553
Howard Wolowitz 24.08.1981 Männlich Süd Park Postfach 4563 0987786553 Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert sein, damit sie angezeigt werden kann.

Lassen Sie uns die Daten einzeln einfügen. Wir werden mit Leonard Hofstadter beginnen. Wir werden die Kontaktnummer als numerischen Datentyp behandeln und die Nummer nicht in einfache Anführungszeichen setzen.

INSERT IN `Mitglieder` (` vollständige_Namen`, `Geschlecht`,` physische_Adresse`, `Kontaktnummer`) WERTE ('Leonard Hofstadter', 'Männlich', 'Woodcrest', 0845738767);

Durch Ausführen des obigen Skripts wird die 0 von Leonard's Kontaktnummer gelöscht. Dies liegt daran, dass der Wert als numerischer Wert behandelt wird und die Null (0) am Anfang gelöscht wird, da sie nicht signifikant ist.

Um solche Probleme zu vermeiden, muss der Wert in einfache Anführungszeichen gesetzt werden, wie unten gezeigt -

INSERT IN `Mitglieder` (` vollständige_Namen`, `Geschlecht`,` physische_Adresse`, `Kontaktnummer`) WERTE ('Sheldon Cooper', 'Männlich', 'Woodcrest', '0976736763'); 

Im obigen Fall wird Null (0) nicht gelöscht

Das Ändern der Reihenfolge der Spalten hat keine Auswirkungen auf die INSERT-Abfrage in MySQL, solange die richtigen Werte den richtigen Spalten zugeordnet wurden.

Die unten gezeigte Abfrage zeigt den obigen Punkt.

EINFÜGEN IN "Mitglieder" ("Kontaktnummer", "Geschlecht", "vollständige Namen", "physische Adresse") WERTE ("0938867763", "Männlich", "Rajesh Koothrappali", "Woodcrest");

Bei den obigen Abfragen wurde die Spalte Geburtsdatum übersprungen. Standardmäßig fügt MySQL NULL-Werte in Spalten ein, die in der INSERT-Abfrage weggelassen werden.

Fügen wir nun den Datensatz für Leslie ein, in dem das Geburtsdatum angegeben ist. Der Datumswert sollte in einfache Anführungszeichen im Format 'JJJJ-MM-TT' eingeschlossen werden.

INSERT IN `Mitglieder` (` vollständige_Namen`, `Geburtsdatum`,` Geschlecht`, `physische_Adresse`,` Kontaktnummer`) WERTE ('Leslie Winkle', '1984-02-14', 'Männlich', 'Woodcrest', ' 0987636553 '); 

Alle oben genannten Abfragen haben die Spalten angegeben und sie den Werten in der MySQL-Einfügeanweisung zugeordnet. Wenn wir Werte für ALLE Spalten in der Tabelle angeben, können wir die Spalten in der MySQL-Einfügeabfrage weglassen.

Beispiel:-

IN "Mitglieder" -WERTE EINFÜGEN (9, "Howard Wolowitz", "Männlich", "1981-08-24",
"SouthPark", "Postfach 4563", "0987786553", "lwolowitz [at] email.me") ;;

Verwenden Sie jetzt die SELECT-Anweisung, um alle Zeilen in der Mitgliedstabelle anzuzeigen.

SELECT * FROM `members`; 
Mitgliedsnummer ganze Namen Geschlecht Geburtsdatum physikalische Adresse Anschrift contct_ number Email
1 Janet Jones Weiblich 21-07-1980 First Street Grundstück Nr. 4 Private Tasche 0759 253 542 Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert sein, damit sie angezeigt werden kann.
2 Janet Smith Jones Weiblich 23-06-1980 Melrose 123 NULL NULL Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert sein, damit sie angezeigt werden kann.
3 Robert Phil Männlich 12-07-1989 3rd Street 34 NULL 12345 Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert sein, damit sie angezeigt werden kann.
4 Gloria Williams Weiblich 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Männlich NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Männlich NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Männlich NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Männlich 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Männlich 24-08-1981 Süd Park Postfach 4563 987786553 Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert sein, damit sie angezeigt werden kann.

Beachten Sie, dass die Kontaktnummer für Leonard Hofstadter die Null (0) von der Kontaktnummer entfernt hat. Die anderen Kontaktnummern haben die Null (0) am Anfang nicht fallen lassen.

Einfügen in eine Tabelle aus einer anderen Tabelle

Der Befehl INSERT kann auch verwendet werden, um Daten aus einer anderen Tabelle in eine Tabelle einzufügen. Die grundlegende Syntax ist wie folgt.

INSERT INTO table_1 SELECT * FROM table_2; 

Schauen wir uns nun ein praktisches Beispiel an. Zu Demonstrationszwecken erstellen wir eine Dummy-Tabelle für Filmkategorien. Wir werden die neue Kategorietabelle category_archive aufrufen. Das unten gezeigte Skript erstellt die Tabelle.

CREATE TABLE `category_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) STANDARD NULL,` Anmerkungen` varchar (500) STANDARD NULL, PRIMARY KEY (`category_id`)) 

Führen Sie das obige Skript aus, um die Tabelle zu erstellen.

Fügen wir nun alle Zeilen aus der Kategorietabelle in die Kategoriearchivtabelle ein. Das unten gezeigte Skript hilft uns dabei.

INSERT IN `category_archive` SELECT * FROM` category`; 

Durch Ausführen des obigen Skripts werden alle Zeilen aus der Kategorietabelle in die Kategoriearchivtabelle eingefügt. Beachten Sie, dass die Tabellenstrukturen identisch sein müssen, damit das Skript funktioniert. Ein robusteres Skript ordnet die Spaltennamen in der Einfügetabelle denen in der Tabelle zu, die die Daten enthält.

Die unten gezeigte Abfrage demonstriert ihre Verwendung.

INSERT INTO `category_archive` (category_id, category_name, Anmerkungen) SELECT category_id, category_name, Anmerkungen FROM` category`;

Ausführen der SELECT-Abfrage

SELECT * FROM `category_archive`

gibt die folgenden Ergebnisse unten gezeigt.

Kategorie ID Kategoriename Bemerkungen
1 Komödie Filme mit Humor
2 Romantisch Liebesgeschichten
3 Epos Story acient Filme
4 Grusel NULL
5 Science-Fiction NULL
6 Thriller NULL
7 Aktion NULL
8 Romantische Komödie NULL
9 Cartoons NULL
10 Cartoons NULL

PHP-Beispiel: In MySQL-Tabelle einfügen

Die Funktion mysqli_query wird zum Ausführen von SQL-Abfragen verwendet.

Mit der Funktion können die folgenden Abfragetypen ausgeführt werden.

  • Einfügen
  • Wählen
  • Aktualisieren
  • löschen

Es hat die folgende Syntax.

mysqli_query($db_handle,$query);

HIER,

"mysqli_query (

…) "Ist die Funktion, die die SQL-Abfragen ausführt.

"$ query" ist die auszuführende SQL-Abfrage

"$ link_identifier" ist optional und kann zum Übergeben des Serververbindungslinks verwendet werden

Beispiel

$servername = "localhost";$username = "alex";$password = "yPXuPT";$dbname = "afmznf";// Create connection$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$conn) {die("Connection failed: " . mysqli_connect_error());}$sql= "INSERT INTO addkeyworddata(link, keyword)VALUES ('https://www.guru99.com/','1000')";if (mysqli_query($conn, $sql)) {echo "New record created successfully".'
';} else {echo "Error: " . $sql. "
" . mysqli_error($conn);}}

Zusammenfassung

  • Mit dem Befehl INSERT werden neue Daten zu einer Tabelle hinzugefügt. MySql fügt eine neue Zeile hinzu, sobald der Befehl ausgeführt wird.
  • Die Datums- und Zeichenfolgenwerte sollten in einfache Anführungszeichen gesetzt werden.
  • Die numerischen Werte müssen nicht in Anführungszeichen gesetzt werden.
  • Mit dem Befehl INSERT können auch Daten aus einer Tabelle in eine andere eingefügt werden.