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 von INSERT INTO an MySQL Befehl:

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

KLICKEN SIE HIER

  • INSERT INTO `table_name` ist der Befehl, der es sagt MySQL Server, um einer Tabelle mit dem Namen „Tabellenname“ eine neue Zeile hinzuzufügen
  • (column_1,column_2,…) gibt die Spalten an, die im neuen aktualisiert werden sollen MySQL Reihe
  • VALUES (value_1,value_2,…) gibt die Werte an, die in die neue Zeile eingefügt werden sollen

Beim Bereitstellen der Datenwerte, die in die neue Tabelle eingefügt werden sollen, sollte Folgendes beachtet 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 einzuschließen.
  • Datumsdatentypen – schließen 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-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, MySQL fügt 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 zu MySQL insert-Anweisung. Wenn wir Werte für ALLE Spalten in der Tabelle bereitstellen, können wir die Spalten aus der Tabelle weglassen MySQL Abfrage einfügen.

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 Weiblich 21-07-1980 Erstes Straßengrundstück Nr. 4 Private Tasche 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Weiblich 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 Weiblich 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 bei der Kontaktnummer von Leonard Hofstadter die Null (0) weggelassen wurde. Bei den anderen Kontaktnummern wurde die Null (0) am Anfang 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. Wir werden zu Demonstrationszwecken eine Dummy-Tabelle für Filmkategorien erstellen. Wir werden die neue Kategorientabelle „categories_archive“ nennen. 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 Kategorienarchivtabelle ein. 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 Kategorienarchivtabelle eingefügt. 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 mit den Daten zuordnet.

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`

ergibt die folgenden, unten gezeigten Ergebnisse.

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: Einfügen in MySQL Tisch

Die Funktion mysqli_query wird verwendet zur Ausführung SQL Abfragen.

Mit der SQL-Funktion „Into Table einfügen“ können die folgenden Abfragetypen ausgeführt werden:

  • Insert
  • Select
  • Aktualisierung
  • 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 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

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