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

⚡ Intelligente Zusammenfassung

MySQL Mit INSERT INTO Query werden neue Zeilen in eine Tabelle eingefügt, entweder durch explizite Angabe der Zielspalten oder durch Angabe eines Werts für jede Spalte. Die korrekte Verwendung von Anführungszeichen für Zeichenketten, Zahlen und Datumsangaben entscheidet darüber, ob die gespeicherten Daten vollständig erhalten bleiben.

  • 📥 Kernsyntax: INSERT INTO `table_name`(column_1,column_2) VALUES (value_1,value_2) erstellt eine neue Zeile in der angegebenen Tabelle.
  • 🔤 Zitierregel: Zeichenketten und Datumswerte erfordern einfache Anführungszeichen; numerische Werte werden ohne Anführungszeichen angegeben.
  • 0️⃣ Führende Nullfalle: Eine nicht in Anführungszeichen gesetzte Telefonnummer wird als Zahl gelesen, daher wird die führende Null stillschweigend weggelassen.
  • 🔀 Spaltenreihenfolge: Die Reihenfolge der Spalten innerhalb der Abfrage ist irrelevant, vorausgesetzt, jeder Wert ist der entsprechenden Spalte zugeordnet.
  • 🕳️ Ausgelassene Spalten: Spalten, die in der Anweisung nicht berücksichtigt werden, erhalten NULL oder ihren deklarierten Standardwert.
  • 📑 Tabelle zu Tabelle: INSERT INTO … SELECT kopiert Zeilen zwischen Tabellen, wenn die Spaltenstrukturen übereinstimmen.

Was ist EINFÜGEN?

INSERT INSERT Dient zum Speichern von Daten in Tabellen. Der INSERT-Befehl erstellt eine neue Zeile in der Tabelle, um Daten zu speichern. Die Daten werden üblicherweise 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,...);

HIER KLICKEN

  • 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 zu setzen.
  • Datumsdatentypen – schließen Sie Datumswerte in einfache Anführungszeichen im Format „JJJJ-MM-TT“ ein.

Mehrere Zeilen gleichzeitig einfügen

Eine einzelne INSERT-Anweisung kann mehrere Zeilen einfügen. Trennen Sie die einzelnen Wertegruppen durch Kommas. Eine einzige Anweisung ist schneller als mehrere, da der Index nur einmal aktualisiert wird.

INSERT INTO `categories`(`category_name`,`remarks`) VALUES
('Documentary', 'Factual films'),
('Musical', 'Song driven films');

MySQL INSERT INTO Abfragebeispiel

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 Waldkrone 0938867763
Leslie Winkel 14/02/1984 Männlich Waldkrone 0987636553
Howard Wolowitz 24/08/1981 Männlich Süd Park P.O. Box 14473 0987786553 lwolowitz@email.me

Wir fügen die Daten zeilenweise ein, beginnend mit Leonard Hofstadter. Die Telefonnummer behandeln wir als numerischen Datentyp und setzen sie nicht in einfache Anführungszeichen.

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

Durch Ausführen des obigen Skripts wird die 0 aus Leonards Kontaktnummer entfernt, da der Wert als numerisch behandelt wird und eine führende Null keine Bedeutung hat.

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

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');

⚠️ Tipp: Speichern Sie Telefonnummern, Postleitzahlen und ähnliche Kennungen in einer Textspalte wie VARCHAR. Numerische Spalten dürfen keine führende Null enthalten.

Ändern der Spaltenreihenfolge

Das Ändern der Reihenfolge der Spalten hat keine Auswirkungen auf die INSERT-Abfrage in MySQLvorausgesetzt, die richtigen Werte wurden den richtigen Spalten zugeordnet. Die folgende Abfrage verdeutlicht diesen 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 ausgelassen wurden.

Fügen wir nun den Datensatz für Leslie ein, in dem das Geburtsdatum angegeben ist. Der Datumswert muss in einfache Anführungszeichen gesetzt und im Format „JJJJ-MM-TT“ angegeben werden.

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

Auslassen der Spaltenliste

Alle oben genannten Abfragen haben die Spalten benannt und ihnen Werte zugeordnet. Wenn wir Werte für ALLE Spalten in der Tabelle angeben, kann die Spaltenliste weggelassen werden. MySQL Abfrage einfügen.

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

Lassen Sie uns jetzt die verwenden SELECT-Anweisung Alle Zeilen in der Mitgliedertabelle anzeigen.

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 die Telefonnummer von Leonard Hofstadter, wie vorhergesagt, ihre führende Null verloren hat. Die angegebenen Nummern behalten sie bei.

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;

Wir erstellen nun eine Dummy-Tabelle für Filmkategorien mit dem Namen categories_archive. Das folgende 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 Tabelle „Kategorien“ in die Archivtabelle „Kategorien“ ein.

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

Damit das Skript funktioniert, müssen die Tabellenstrukturen identisch sein. Ein robusteres Skript ordnet die Spaltennamen der Zieltabelle denjenigen der Datentabelle zu, wie unten dargestellt.

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

Die Ausführung der unten stehenden SELECT-Abfrage liefert die folgenden Ergebnisse.

SELECT * FROM `categories_archive`;
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 aus PHP. Es führt Insert-, Select-, Update- und Delete-Anweisungen gleichermaßen aus und 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.
  • “$db_handle” ist der von mysqli_connect zurückgegebene Serververbindungslink.

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);
}

Häufig gestellte Fragen

MySQL Die Zeile wird aufgrund eines Duplikatfehlers abgelehnt. Verwenden Sie INSERT IGNORE, um die Zeile stillschweigend zu überspringen, oder INSERT … ON DUPLICATE KEY UPDATE, um stattdessen die vorhandene Zeile zu aktualisieren.

Führen Sie direkt nach dem Einfügen `SELECT LAST_INSERT_ID()` aus oder rufen Sie in PHP `mysqli_insert_id($conn)` auf. Diese Funktion gibt den für die letzte Zeile Ihrer Verbindung generierten AUTO_INCREMENT-Schlüssel zurück.

Fügen Sie niemals Benutzereingaben in die Abfragezeichenfolge ein. Verwenden Sie vorbereitete Anweisungen mit gebundenen Parametern, damit die Werte separat von der Abfragezeichenfolge übertragen werden. SQL und können nicht als Befehle ausgeführt werden.

Ja. KI-Assistenten wandeln Tabellenkalkulationen oder einfache Beschreibungen in INSERT-Anweisungen um, und MySQL Werkbank Sie können sie ausführen. Überprüfen Sie die Spaltenreihenfolge und die Anführungszeichen, da ein Modell das Schema möglicherweise errät.

Fügen Sie die Daten zunächst in eine Entwicklungskopie ein. KI-generierte Zeilen können Fremdschlüssel beschädigen, Spaltenlängen überschreiten oder ungültige Datumsangaben erzeugen. Führen Sie den Batch in einer Transaktion aus, damit die Änderungen rückgängig gemacht werden können.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: