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 | |
---|---|---|---|---|---|---|---|
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.