Heim  >  Artikel  >  Datenbank  >  Wie füge ich neue Datensätze in MySQL hinzu?

Wie füge ich neue Datensätze in MySQL hinzu?

青灯夜游
青灯夜游Original
2020-10-09 14:52:088843Durchsuche

So fügen Sie neue Datensätze in MySQL hinzu: 1. Verwenden Sie die Anweisung „INSERT INTO Tabellenname Spaltenname [, ... Spaltenname n] ] VALUES (Wert 1) [... , (Wert n);“; . Verwenden Sie die Anweisung „INSERT INTO Tabellenname SET Spaltenname 1 = Wert 1, Spaltenname 2 = Wert 2 ...“.

Wie füge ich neue Datensätze in MySQL hinzu?

(Empfohlenes Tutorial: MySQL-Video-Tutorial)

MySQL-Datentabelle besteht normalerweise aus Zeilen und Spalten Die Tabelle heißt „Für den Datensatz“ (Record).

Nachdem die Datenbank und die Tabelle erfolgreich erstellt wurden, müssen Daten in die Datenbanktabelle eingefügt werden. In MySQL können Sie die INSERT-Anweisung verwenden, um eine oder mehrere Datensatzzeilen in eine vorhandene Tabelle in der Datenbank einzufügen.

Grundlegende Syntax

Die INSERT-Anweisung hat zwei Syntaxformen, nämlich die INSERT...VALUES-Anweisung und die INSERT...SET-Anweisung.

1) INSERT…VALUES-Anweisung

Das Syntaxformat von INSERT VALUES ist:

INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];

Die Syntaxbeschreibung lautet wie folgt.

  • 2a59fb221d0bc3b07e1e43cec3d4767d: Geben Sie den Namen der Tabelle an, an der gearbeitet werden soll.

  • 569459f16acfc75ba95208cdc775a6a6: Geben Sie den Spaltennamen an, in den Daten eingefügt werden müssen. Wenn Daten in alle Spalten der Tabelle eingefügt werden, können alle Spaltennamen weggelassen und INSERTccc43248daffbac9770dee47fdaff697VALUES(…) direkt verwendet werden.

  • VALUES- oder VALUE-Klausel: Diese Klausel enthält die Liste der einzufügenden Daten. Die Reihenfolge der Daten in der Datenliste sollte der Reihenfolge der Spalten entsprechen.

2) INSERT...SET-Anweisung

Das Syntaxformat lautet:

INSERT INTO <表名>
SET <列名1> = <值1>,
   <列名2> = <值2>,
     …

Diese Anweisung wird verwendet, um die entsprechenden Spaltenwerte für bestimmte Spalten in der Tabelle direkt anzugeben, d. h. die Der Spaltenname der einzufügenden Daten befindet sich im im Satz angegebenen SET-Sub, col_name ist der angegebene Spaltenname und auf das Gleichheitszeichen folgen die angegebenen Daten. Für nicht angegebene Spalten wird der Spaltenwert als Standardwert angegeben der Spalte.

Dies lässt sich an den beiden Formen der INSERT-Anweisung erkennen:

  • Verwenden Sie die INSERT...VALUES-Anweisung, um eine oder mehrere Datenzeilen in die Tabelle einzufügen;

  • Verwenden Sie INSERT...SET Anweisung, um den Wert jeder Spalte in der Spalte anzugeben, oder Sie können den Wert einiger Spalten angeben.

  • INSERT...SELECT-Anweisung fügt Daten aus anderen Tabellen in die Tabelle ein.

  • Die INSERT…SET-Anweisung kann verwendet werden, um Werte einiger Spalten in die Tabelle einzufügen, was flexibler ist;

  • INSERT…VALUES-Anweisung kann mehrere Daten gleichzeitig einfügen.

In MySQL ist die Verarbeitung mehrerer Einfügungen mit einer einzigen INSERT-Anweisung schneller als die Verwendung mehrerer INSERT-Anweisungen.

Wenn Sie eine einzelne INSERT-Anweisung zum Einfügen mehrerer Datenzeilen verwenden, müssen Sie nur jede Datenzeile in Klammern setzen.

Fügen Sie Werte zu allen Feldern in der Tabelle hinzu.

Erstellen Sie eine Kursinformationstabelle tb_courses in der test_db-Datenbank, einschließlich der Kursnummer, der Kurs-ID, des Kursnamens, des Kursnamens, der Kursgutschriften, der Kursnote und der Kursnotizen, der eingegebenen SQL-Anweisung und Ausführung Die Ergebnisse sind unten dargestellt.

mysql> CREATE TABLE tb_courses
    -> (
    -> course_id INT NOT NULL AUTO_INCREMENT,
    -> course_name CHAR(40) NOT NULL,
    -> course_grade FLOAT NOT NULL,
    -> course_info CHAR(100) NULL,
    -> PRIMARY KEY(course_id)
    -> );
Query OK, 0 rows affected (0.00 sec)

Es gibt zwei Möglichkeiten, Werte in alle Felder der Tabelle einzufügen: Die eine besteht darin, alle Feldnamen anzugeben, die andere darin, überhaupt keine Feldnamen anzugeben.

【Beispiel 1】Fügen Sie einen neuen Datensatz in die Tabelle tb_courses ein, der Wert von course_id ist 1, der Wert von course_name ist „Network“, der Wert von course_grade ist 3 und der Wert von info ist „Computer Network“.

Bevor Sie den Einfügevorgang ausführen, sehen Sie sich die SQL-Anweisung und die Ausführungsergebnisse der Tabelle tb_courses wie unten gezeigt an.

mysql> SELECT * FROM tb_courses;
Empty set (0.00 sec)

Das Abfrageergebnis zeigt, dass der aktuelle Tabelleninhalt leer ist und keine Daten vorhanden sind. Führen Sie als Nächstes den Vorgang zum Einfügen von Daten aus. Die Eingabe-SQL-Anweisung und der Ausführungsprozess sind wie folgt.

mysql> INSERT INTO tb_courses
    -> (course_id,course_name,course_grade,course_info)
    -> VALUES(1,&#39;Network&#39;,3,&#39;Computer Network&#39;);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
+-----------+-------------+--------------+------------------+
1 row in set (0.00 sec)

Sie können sehen, dass der Datensatz erfolgreich eingefügt wurde. Beim Einfügen von Daten werden alle Felder der Tabelle tb_courses angegeben, sodass für jedes Feld neue Werte eingefügt werden.

Die Reihenfolge der Spaltennamen nach der INSERT-Anweisung muss nicht der Reihenfolge entsprechen, in der die Tabelle tb_courses definiert ist. Das heißt, beim Einfügen von Daten ist es nicht erforderlich, in der durch die Tabelle definierten Reihenfolge einzufügen Die Reihenfolge der Werte ist dieselbe wie die Reihenfolge der Spaltenfelder.

【Beispiel 2】Fügen Sie einen neuen Datensatz in die Tabelle tb_courses ein, der Wert von course_id ist 2, der Wert von course_name ist „Database“, der Wert von course_grade ist 3 und der Wert von info ist „MySQL“. Die Eingabe-SQL-Anweisung und die Ausführungsergebnisse werden unten angezeigt.

mysql> INSERT INTO tb_courses
    -> (course_name,course_info,course_id,course_grade)
    -> VALUES(&#39;Database&#39;,&#39;MySQL&#39;,2,3);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
+-----------+-------------+--------------+------------------+
2 rows in set (0.00 sec)

Wenn Sie INSERT zum Einfügen von Daten verwenden, darf die Spaltennamenliste columns_list leer sein. Zu diesem Zeitpunkt muss die Werteliste für jedes Feld der Tabelle einen Wert angeben und die Reihenfolge der Werte muss sein entspricht der Reihenfolge, in der die Felder in der Datentabelle definiert sind.

【Beispiel 3】Fügen Sie einen neuen Datensatz in die Tabelle tb_courses ein, der Wert von course_id ist 3, der Wert von course_name ist „Java“, der Wert von course_grade ist 4 und der Wert von info ist „Jave EE“. Die Eingabe-SQL-Anweisung und die Ausführungsergebnisse werden unten angezeigt.

mysql> INSERT INTO tb_courses
    -> VLAUES(3,&#39;Java&#39;,4,&#39;Java EE&#39;);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
|         3 | Java        |            4 | Java EE          |
+-----------+-------------+--------------+------------------+
3 rows in set (0.00 sec)

In der INSERT-Anweisung ist keine Einfügungsliste angegeben, sondern nur eine Werteliste. In diesem Fall gibt die Werteliste die eingefügten Werte für jede Feldspalte an, und die Werte müssen in derselben Reihenfolge sein, in der die Felder in der Tabelle tb_courses definiert sind.

Hinweis: Obwohl der Spaltenname der eingefügten Daten ignoriert werden kann, wenn INSERT zum Einfügen von Daten verwendet wird, muss der Wert nach dem Schlüsselwort VALUES nicht nur vollständig sein, sondern auch die Reihenfolge muss eingehalten werden, wenn der Wert den Spaltennamen nicht enthält Entspricht der Reihenfolge der Spalten bei der Definition der Tabelle. Wenn die Struktur der Tabelle geändert wird und Spalten hinzugefügt, gelöscht oder ihre Positionen geändert werden, führen diese Vorgänge dazu, dass sich gleichzeitig die Reihenfolge ändert, in der Daten auf diese Weise eingefügt werden. Wenn Sie Spaltennamen angeben, sind diese von Änderungen der Tabellenstruktur nicht betroffen.

Das obige ist der detaillierte Inhalt vonWie füge ich neue Datensätze in MySQL hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn