MySQL INSERT INTO-Abfrage: So fügen Sie eine Zeile in eine Tabelle ein (Beispiel)

Was ist EINFÜGEN?

INSERT INSERT wird zum Speichern von Daten in den Tabellen verwendet. Der INSERT-Befehl erstellt eine neue Zeile in der Tabelle, um Daten zu speichern. Die Daten werden in der Regel von Anwendungsprogrammen bereitgestellt, die auf der Datenbank laufen.

Grundlegende Syntax

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

INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);

KLICKEN SIE 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 in die neue Zeile eingefügt werden sollen

Bei der Bereitstellung der Datenwerte, die in die neue Tabelle eingefügt werden sollen, gilt Folgendes:wing sollte in Betracht gezogen werden:

  • String-Datentypen – alle String-Werte sollten in einfache Anführungszeichen gesetzt werden.
  • Numerische Datentypen – alle numerischen Werte sollten direkt bereitgestellt werden, ohne sie in ein einzelnes oder einzuschließen double-Zitate.
  • Datumsdatentypen – schließen Sie Datumswerte in einfache Anführungszeichen im Format „JJJJ-MM-TT“ ein.


Beispiel:

Angenommen, wir haben Folgendeswing Liste der neuen Bibliotheksmitglieder, die zur Datenbank hinzugefügt werden müssen.

Ganze Namen Geburtsdatum Geschlecht Physikalische Adresse Anschrift Kontakt Nummer E-Mail Adresse
Leonhard Hofstädter Männlich Waldkrone 0845738767
Sheldon Cooper Männlich Waldkrone 0976736763
Rajesh Koothrappali Männlich Fairview 0938867763
Leslie Winkel 14/02/1984 Männlich 0987636553
Howard Wolowitz 24/08/1981 Männlich South Park P.O. Box 14473 0987786553 lwolowitz@email. Me

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

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);

Durch die Ausführung des obigen Skripts wird die 0 aus Leonards Kontaktnummer gelöscht. Dies liegt daran, dass der Wert als numerischer Wert behandelt wird und die Null (0) am Anfang weggelassen wird, da sie nicht signifikant ist.

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

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`)  VALUES ('Sheldon Cooper','Male','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 veranschaulicht den oben genannten Punkt.

INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`)  VALUES ('0938867763','Male','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, der das Geburtsdatum enthält. Der Datumswert sollte in einfache Anführungszeichen im Format „JJJJ-MM-TT“ eingeschlossen werden.

INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`)  VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');

Alle oben genannten Abfragen spezifizierten die Spalten und ordneten sie den Werten in der MySQL-Insert-Anweisung zu. Wenn wir Werte für ALLE Spalten in der Tabelle bereitstellen, können wir die Spalten aus der MySQL-Einfügeabfrage weglassen.

Beispiel:-

INSERT INTO `members`  VALUES (9,'Howard Wolowitz','Male','1981-08-24',
'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz[at]email.me');

Lassen Sie uns jetzt die verwenden SELECT-Anweisung um alle Zeilen in der Tabelle des Mitglieds anzuzeigen.

SELECT * FROM `members`;
Mitgliedsnummer ganze Namen Geschlecht Geburtsdatum physikalische Adresse Anschrift Kontaktnummer E-Mail
1 Janet Jones Female 21-07-1980 Erstes Straßengrundstück Nr. 4 Private Tasche +0759 253 542 XNUMX janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Männlich 12-07-1989 3. Straße 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2. Straße 23 NULL NULL NULL
5 Leonhard Hofstädter Männlich NULL Waldkrone NULL 845738767 NULL
6 Sheldon Cooper Männlich NULL Waldkrone NULL 0976736763 NULL
7 Rajesh Koothrappali Männlich NULL Waldkrone NULL 0938867763 NULL
8 Leslie Winkel Männlich 14-02-1984 Waldkrone NULL 0987636553 NULL
9 Howard Wolowitz Männlich 24-08-1981 Süd Park P.O. Box 14473 0987786553 lwolowitz@email. Me

Beachten Sie, dass die Kontaktnummer von Leonard Hofstadter die Null (0) aus der Kontaktnummer entfernt hat. Die anderen Kontaktnummern haben die Null (0) zu Beginn nicht weggelassen.

Einfügen in eine Tabelle aus einer anderen Tabelle

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

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 Kategorientabelle „Kategorien_“ nennen.archive. Das unten gezeigte Skript erstellt die Tabelle.

CREATE TABLE `categories_archive` (    	  `category_id` int(11) AUTO_INCREMENT,    	  `category_name` varchar(150)  DEFAULT NULL,    	  `remarks` varchar(500) DEFAULT 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 Kategorientabelle in die Kategorien ein archive Tisch. Das unten gezeigte Skript hilft uns dabei.

INSERT INTO `categories_archive` SELECT * FROM `categories`;

Durch Ausführen des obigen Skripts werden alle Zeilen aus der Kategorientabelle in die Kategorien eingefügt archive Tisch. Beachten Sie, dass die Tabellenstrukturen identisch sein müssen, damit das Skript funktioniert. Ein robusteres Skript ist eines, das die Spaltennamen in der Einfügetabelle denen in der Tabelle zuordnet, die die Daten enthält.

Die unten gezeigte Abfrage veranschaulicht ihre Verwendung.

INSERT INTO `categories_archive`(category_id,category_name,remarks)  SELECT category_id,category_name,remarks FROM `categories`;

Ausführen der SELECT-Abfrage

SELECT * FROM `categories_archive`

gibt folgendeswing Die Ergebnisse werden unten angezeigt.

Kategorie ID category_name Bemerkungen
1 Komödie Filme mit Humor
2 Romantisch Liebesgeschichten
3 Episch Geschichte alter Filme
4 Horror NULL
5 Science-Fiction NULL
6 Thriller NULL
7 Action NULL
8 Romantic Comedy NULL
9 Cartoons NULL
10 Cartoons NULL

PHP-Beispiel: In MySQL-Tabelle einfügen

Zur Ausführung wird die Funktion mysqli_query verwendet SQL Abfragen.

Mit der SQL-Funktion „In Tabelle einfügen“ kann Folgendes ausgeführt werdenwing Abfragetypen:

  • Insert
  • Auswählen
  • Aktualisierung
  • löschen

Es hat folgendeswing 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 zur Übergabe des Serververbindungslinks verwendet werden

Beispiel

$servername = "localhost";
$username = "alex";
$password = "yPXuPT";
$dbname = "afmznf";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$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".'<br>';
		} else {
		echo "Error: " . $sql. "<br>" . mysqli_error($conn);
	}
}

Zusammenfassung

  • Der INSERT-Befehl wird verwendet, um neue Daten in eine Tabelle einzufügen. 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.
  • Der INSERT-Befehl kann auch verwendet werden, um Daten aus einer Tabelle in eine andere einzufügen.