MySQL-Datenbank, ausführliche Erklärung zum Hinzufügen, Löschen, Ändern und Prüfen von Tabellen

Inhaltsverzeichnis

1.CRUD

2. Daten erhöhen

2.1 Daten erstellen

2.2 Daten einfügen

2.2.1 Einreihiges Einfügen

2.2.2 Mehrzeiliges Einfügen

3. Daten finden

3.1 Vollständige Spaltenabfrage

3.2 Spezifizierte Spaltenabfrage

3.3 Das Abfragefeld ist ein Ausdruck

3.3.1 Ausdruck enthält keine Felder

3.3.2 Ein Ausdruck enthält ein Feld

3.3.3 Ausdruck enthält mehrere Felder 

Aliase ab 3.4

3.5distinct (Deduplizierung)

3.6 sortieren nach (sortieren)

3.6.1 Ein Feld ist standardmäßig sortiert

3.6.2 Sortieren Sie ein Feld in absteigender Reihenfolge

3.6.3 Sortieren mit Ausdrücken und Aliasen

3.6.4 Mehrere Felder sortieren

3.7where (Bedingungsabfrage)

3.7.1 Vergleichsoperatoren

3.7.2 Logische Operatoren

3.8limit (Paginierung)

4. Daten ändern

5. Daten löschen

1.CRUD

CRUD ist der erste Buchstabe mehrerer SQL-Anweisungen, die hinzugefügt, gelöscht, geändert und überprüft werden, nämlich erstellen (erstellen), abfragen (abrufen), aktualisieren (aktualisieren) und löschen (löschen).


2. Daten erhöhen


2.1 Daten erstellen

Um eine Datenbank zu erstellen, lautet die Syntax: create database database name; zum Beispiel, um eine Datenbank namens test zu erstellen:

mysql> create database test;
Query OK, 1 row affected (0.00 sec)

Wenn das Feld Query Ok in der letzten Zeile erscheint, bedeutet dies, dass die Datenbank erfolgreich erstellt wurde. 


Um eine Tabelle zu erstellen, lautet die Syntax: create table table name; zum Beispiel, um eine Tabelle namens student zu erstellen:

mysql> use test;
Database changed
mysql> create table student(
    -> id int,
    -> name varchar(20),
    -> price decimal
    -> );
Query OK, 0 rows affected (0.02 sec)

Wenn wir eine Tabelle erstellen, müssen wir zuerst eine Datenbank verwenden. Nachdem die Tabelle erfolgreich erstellt wurde, fordert die letzte Zeile der Anweisung die Anweisung Query Ok.. auf.


2.2 Daten einfügen


2.2.1 Einreihiges Einfügen

Wenn wir eine Tabelle erstellen, enthält die Tabelle keine Informationen, daher müssen wir einige Daten zum Speichern einfügen. Wir verwenden insert into table name values(field 1, field 2,....); um einige Daten einzufügen, beachten Sie, dass die eingefügten Daten die gleiche Struktur wie die Tabelle haben sollten. Wir fügen eine Reihe von Informationen in die Schülertabelle ein:

mysql> insert into student values(1,'张三',20);
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1

Wir können sehen, dass ein ERROR (Fehler) vorliegt. Dies bedeutet, dass die Zeichenfolge Zhang San das utf-8-Format nicht eingeführt hat. Wenn wir also die Datenbank erstellen, müssen wir zuerst das utf8-Format deklarieren, damit das Hinzufügen von Daten keine Fehler verursacht, wie unten gezeigt:

mysql> create database test charset utf8;
Query OK, 1 row affected (0.00 sec)

Auf diese Weise deklarieren wir beim Erstellen der Datenbank auch, dass der Zeichensatz vom Typ utf-8 ist, damit wir beim Erstellen von Tabellen und Hinzufügen neuer Daten keine Fehler machen. Zeichensatzsyntax deklarieren: charset Zeichensatztyp .

mysql> use test;
Database changed
mysql> create table student(
    -> id int,
    -> name varchar(20),
    -> price decimal
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> insert into student values(1,'张三',20);
Query OK, 1 row affected (0.00 sec)

Wir können sehen, dass die letzte Datenzeile eingefügt wird, was zu Query OK führt, dies ist eine einzeilige Einfügungsoperation, schauen wir uns die mehrzeilige Einfügung an.


2.2.2 Mehrzeiliges Einfügen

Die mehrzeilige Einfüge-Syntax lautet: Einfügen in Tabellenname (Typ 1, Typ 2, Typ 3, ...) Werte (Feld 1, Feld 2, Feld 3, ...), (Feld 1, Feld 2 , Feld 3, ...);

mysql> insert into student(id,name,price) values
    -> (2,'李四',24),
    -> (3,'王五',30);
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

Der obige Code fügt student zwei weitere Datenzeilen hinzu, sodass nun drei Datenzeilen in der student-Tabelle vorhanden sind. Wir können select * from student; full column query verwenden, um die Studententabellenstruktur anzuzeigen.

mysql> select * from student;
+------+------+-------+
| id   | name | price |
+------+------+-------+
|    1 | 张三 |    20 |
|    2 | 李四 |    24 |
|    3 | 王五 |    30 |
+------+------+-------+
3 rows in set (0.00 sec)

Natürlich habe ich der obigen mehrzeiligen Einfügung die drei Felder ID, Name und Preis hinzugefügt. Sie können auch beliebig viele dieser drei Felder hinzufügen, z. B. nur die beiden Felder ID und Name hinzufügen und so weiter. 


3. Daten finden


3.1 Vollständige Spaltenabfrage

Ganzspaltige Abfrage, d. h. zum Abfragen der Daten in der gesamten Tabelle. Das Syntaxformat lautet: select * from table name, wobei * ein Platzhalter ist, der alle Daten darstellt. Um beispielsweise alle Daten in der oben stehenden Schülertabelle abzufragen:

mysql> use test;
Database changed
mysql> select * from student;
+------+------+-------+
| id   | name | price |
+------+------+-------+
|    1 | 张三 |    20 |
|    2 | 李四 |    24 |
|    3 | 王五 |    30 |
+------+------+-------+
3 rows in set (0.00 sec)

Wir können sehen, dass alle Daten angezeigt werden, was die vollständige Spaltenabfrage ist. Beachten Sie jedoch, dass in unserem aktuellen Entwicklungsprozess das *-Symbol nicht willkürlich verwendet werden darf. Wenn wir * verwenden, um eine riesige Datentabelle oder andere Datentypen abzufragen, wird der gesamte Speicher belegt, und die Datenbank wird Daten nicht normal aktualisieren oder hinzufügen, was sehr gefährlich ist! Daher können wir es auf unserem eigenen Computer versuchen, da unsere Datenbank klein ist und eine hohe Wahrscheinlichkeit besteht, dass kein Risiko eines Datenverlusts besteht.


3.2 Spezifizierte Spaltenabfrage

Oben wissen wir, dass die *-Nummer sehr gefährlich ist, daher ist es sicherer, die angegebene Spalte abzufragen. Wir können die Daten einer bestimmten Spalte direkt abfragen, sodass der Speicherverbrauch sehr gering ist. Die angegebene Spaltenabfragesyntax lautet: Wählen Sie Feld 1, Feld 2 aus dem Tabellennamen aus; wenn ich die beiden Datenspalten in der Schülertabelle finden möchte, ID und Name:

mysql> select id,name from student;
+------+------+
| id   | name |
+------+------+
|    1 | 张三 |
|    2 | 李四 |
|    3 | 王五 |
+------+------+
3 rows in set (0.00 sec)

Wir können sehen, dass die Abfrage der angegebenen Spalte sehr "humanisiert" ist. Wir können die Daten in der Spalte, die wir abfragen möchten, abfragen, sodass der Speicherverbrauch sehr gering ist. Diese Abfragemethode wird empfohlen.


3.3 Das Abfragefeld ist ein Ausdruck

Zuerst erstellen wir eine Notentabelle und fügen zwei Datenzeilen ein:

mysql> create table grades(
    -> chinese int,
    -> math int,
    -> english int);
Query OK, 0 rows affected (0.03 sec)
mysql> insert into grades(chinese,math,english) values
    -> (78,98,59),
    -> (76,99,35);
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

Das Obige erstellt sehr gut eine Score-Tabelle, und diese Tabelle hat zwei Datenzeilen. Dann wurde das Erstellen von Tabellen und das Einfügen von Tabelleninformationen oben erklärt, und ungelernte Partner können sich das ansehen.


3.3.1 Ausdruck enthält keine Felder

Wenn der Ausdruck keine Felder enthält, bedeutet dies, dass alle Informationen in diesem Ausdruck kein Feld in der Tabelle sind. Fragen Sie beispielsweise ein Feld mit dem Namen 10 im folgenden Index ab:

mysql> select chinese,math,english,10 from grades;
+---------+------+---------+----+
| chinese | math | english | 10 |
+---------+------+---------+----+
|      78 |   98 |      59 | 10 |
|      76 |   99 |      35 | 10 |
+---------+------+---------+----+
2 rows in set (0.00 sec)

Wir können sehen, dass die Anzahl der Spalten in diesem Ausdruck 10 ist. Eine solche Abfrage ist eine Abfrage, deren Ausdruck keine Felder enthält. Beachten Sie, dass die Felder hier die Spaltennamen jeder Spalte in der Tabelle sind.


3.3.2 Ein Ausdruck enthält ein Feld

Wenn der Ausdruck ein Feld enthält, verwenden wir diese Operation normalerweise, wenn wir die Daten einer bestimmten Spalte in der Tabelle ändern möchten. Zum Beispiel möchte ich die Englischpunktzahl aller in der Notentabelle um 10 Punkte erhöhen:

mysql> select chinese,math,english+10 from grades;
+---------+------+------------+
| chinese | math | english+10 |
+---------+------+------------+
|      78 |   98 |         69 |
|      76 |   99 |         45 |
+---------+------+------------+
2 rows in set (0.00 sec)

3.3.3 Ausdruck enthält mehrere Felder 

Der Ausdruck enthält mehrere Felder, und wir verwenden diese Abfragemethode im Allgemeinen, wenn wir alle Daten in einer Tabelle summieren möchten. Wenn ich die Summe aller Daten in der Notentabelle anfordere:

mysql> select chinese,math,english,chinese+math+english from grades;
+---------+------+---------+----------------------+
| chinese | math | english | chinese+math+english |
+---------+------+---------+----------------------+
|      78 |   98 |      59 |                  235 |
|      76 |   99 |      35 |                  210 |
+---------+------+---------+----------------------+
2 rows in set (0.00 sec)

Wie wir sehen können, besteht der einzige Nachteil einer solchen Abfrage darin, dass die Spaltennamen zu lang sind. Wir haben also eine weitere SQL-Anweisung, die diesen langen Spaltennamen aliasieren kann, um ihn zu vereinfachen. Einzelheiten siehe unten:


Aliase ab 3.4

Die Syntax, die wir für das Aliasing verwenden, ist Ausdruck oder Spaltenname als Alias; zum Beispiel aliase ich das lange Chinesisch + Mathematik + Englisch oben, um Folgendes zusammenzufassen:

mysql> select chinese,math,english,chinese+math+english as sum from grades;
+---------+------+---------+------+
| chinese | math | english | sum  |
+---------+------+---------+------+
|      78 |   98 |      59 |  235 |
|      76 |   99 |      35 |  210 |
+---------+------+---------+------+
2 rows in set (0.00 sec)

Natürlich ist es auch möglich, eine einzelne Spalte zu aliasieren:

mysql> select chinese as '中文' from grades;
+------+
| 中文 |
+------+
|   78 |
|   76 |
+------+
2 rows in set (0.00 sec)

Auf diese Weise ist es nicht zu umständlich, einige Felder zu betrachten, wenn wir Daten abfragen.Dies ist die Operation des Aliasing. Beachten Sie, dass as weggelassen werden kann, aber es wird empfohlen, es für die Lesbarkeit des Codes hinzuzufügen!


3.5distinct (Deduplizierung)

Erstellen Sie eine Schülertabelle:

mysql> create table students(
    -> id int,
    -> name varchar(20),
    -> chinese int,
    -> math int,
    -> english int);
Query OK, 0 rows affected (0.02 sec)

Fügen Sie vier Datenzeilen ein:

mysql>  insert into students(id,name,chinese,math,english) values
    -> (1,'孙悟空',69,89,47),
    -> (2,'沙悟净',77,99,60),
    -> (3,'猪八戒',80,88,50),
    -> (4,'白龙马',69,77,88);
Query OK, 4 rows affected (0.01 sec)
Records: 4  Duplicates: 0  Warnings: 0

Wir haben festgestellt, dass die chinesischen Punktzahlen von Sun Wukong und Bailongma gleich sind. Wenn ich die chinesischen Punktzahlen anzeigen möchte und jede Punktzahl anders ist, kann ich zur Deduplizierung unterschiedliche verwenden:

mysql> select distinct chinese from students;
+---------+
| chinese |
+---------+
|      69 |
|      77 |
|      80 |
+---------+
3 rows in set (0.01 sec)

Wir können sehen, dass 69 nur einmal angezeigt wird, was die Funktion von unique in der Tabelle ist: doppelte Daten entfernen. Es sollte beachtet werden, dass unique doppelte Daten nur entfernt, wenn wir sie anzeigen, und die deduplizierten Daten in der tatsächlichen Datenbank sich nicht geändert haben! 


3.6 sortieren nach (sortieren)


3.6.1 Ein Feld ist standardmäßig sortiert

Wir verwenden die Schülertabelle, um zu arbeiten. Ich möchte beispielsweise standardmäßig nach englischen Ergebnissen sortieren:

mysql> select id,name,chinese,math,english from students order by english;
+------+--------+---------+------+---------+
| id   | name   | chinese | math | english |
+------+--------+---------+------+---------+
|    1 | 孙悟空 |      69 |   89 |      47 |
|    3 | 猪八戒 |      80 |   88 |      50 |
|    2 | 沙悟净 |      77 |   97 |      60 |
|    4 | 白龙马 |      69 |   77 |      88 |
+------+--------+---------+------+---------+
4 rows in set (0.00 sec)

Durch Beobachtung haben wir festgestellt, dass die Standardsortierung in aufsteigender Reihenfolge sortiert ist. Dann ist die Standardsortiersyntax: nach Feldname sortieren; Natürlich können Sie auch das asc- Feld hinzufügen, um hervorzuheben, dass Ihre Sortierung in aufsteigender Reihenfolge erfolgt, was die Lesbarkeit des Codes verbessert.


3.6.2 Sortieren Sie ein Feld in absteigender Reihenfolge

Sortieren Sie beispielsweise nach der absteigenden Reihenfolge der englischen Punktzahlen:

mysql> select id,name,chinese,math,english from students order by english desc;
+------+--------+---------+------+---------+
| id   | name   | chinese | math | english |
+------+--------+---------+------+---------+
|    4 | 白龙马 |      69 |   77 |      88 |
|    2 | 沙悟净 |      77 |   97 |      60 |
|    3 | 猪八戒 |      80 |   88 |      50 |
|    1 | 孙悟空 |      69 |   89 |      47 |
+------+--------+---------+------+---------+
4 rows in set (0.00 sec)

Wenn wir in absteigender Reihenfolge sortieren wollen, müssen wir nur das Schlüsselwort desc nach dem Feldnamen hinzufügen , sodass die absteigende Sortiersyntax lautet: order by field name desc;


3.6.3 Sortieren mit Ausdrücken und Aliasen

Verwenden Sie Ausdrücke für die Abfrage, und die Summe der drei Bewertungen außer der Anzahl der Abfragewörter wird in absteigender Reihenfolge sortiert:

mysql> select id,name,chinese + math + english as sum from students order by chinese + math + english desc;
+------+--------+------+
| id   | name   | sum  |
+------+--------+------+
|    2 | 沙悟净 |  234 |
|    4 | 白龙马 |  234 |
|    3 | 猪八戒 |  218 |
|    1 | 孙悟空 |  205 |
+------+--------+------+
4 rows in set (0.00 sec)

 Verwenden Sie einen Alias ​​für die Abfrage, und die Summe der drei Bewertungen außer der Anzahl der Abfragewörter wird in absteigender Reihenfolge sortiert:

mysql>  select id,name,chinese + math + english as sum from students order by sum desc;
+------+--------+------+
| id   | name   | sum  |
+------+--------+------+
|    2 | 沙悟净 |  234 |
|    4 | 白龙马 |  234 |
|    3 | 猪八戒 |  218 |
|    1 | 孙悟空 |  205 |
+------+--------+------+
4 rows in set (0.00 sec)

Wir haben festgestellt, dass die Ergebnisse der beiden obigen Abfragen identisch sind. Wenn Sie also in Zukunft eine Art von Operation haben, können Sie jede davon zur Abfrage verwenden.


3.6.4 Mehrere Felder sortieren

Fragen Sie beispielsweise in absteigender Reihenfolge für Chinesisch und aufsteigender Reihenfolge für Mathematik ab:

mysql> select id,name,chinese,math,english from students order by chinese desc,math;
+------+--------+---------+------+---------+
| id   | name   | chinese | math | english |
+------+--------+---------+------+---------+
|    3 | 猪八戒 |      80 |   88 |      50 |
|    2 | 沙悟净 |      77 |   97 |      60 |
|    4 | 白龙马 |      69 |   77 |      88 |
|    1 | 孙悟空 |      69 |   89 |      47 |
+------+--------+---------+------+---------+
4 rows in set (0.00 sec)

Diese Art des Betriebs eignet sich für Mischsortierung, spezifische Funktionen und spezifische Operationen. Jeder wählt seine eigene SQL-Anweisung nach seinen eigenen Bedürfnissen.


3.7where (Bedingungsabfrage)

Die in der bedingten Abfrage verwendete Anweisung lautet where , und ihr grammatikalisches Format lautet: select field 1, field 2,... where query condition;


3.7.1 Vergleichsoperatoren

Operator veranschaulichen
>,>=,<,<= größer als, größer oder gleich, kleiner als, kleiner oder gleich
= gleich, NULL ist nicht sicher, zB NULL = NULL ergibt NULL
<=> gleich, NULL sicher, zB NULL <=> NULL ergibt TRUE(1)
!=,<> Nicht gleichzusetzen mit
ZWISCHEN .. ADN .. Zwischen .. und .., vorne geschlossen und hinten geschlossen
IN() existieren
IST NULL ist leer
IST NICHT NULL nicht leer
WIE Fuzzy-Abfrage, wenn LIKE von einem %-Zeichen gefolgt wird, stellt sie 0 oder mehr Felder dar, wenn LIKE von _ gefolgt wird, werden die Felder entsprechend der Anzahl von _ dargestellt.

Schüler finden, die Englisch nicht bestanden haben:

mysql> select id,name,chinese,math,english from students where english<60;
+------+--------+---------+------+---------+
| id   | name   | chinese | math | english |
+------+--------+---------+------+---------+
|    1 | 孙悟空 |      69 |   89 |      47 |
|    3 | 猪八戒 |      80 |   88 |      50 |
+------+--------+---------+------+---------+
2 rows in set (0.00 sec)

Finden Sie Schüler mit Englisch-Ergebnissen zwischen 60 und 90: 

mysql> select id,name from students where english between 60 and 90;
+------+--------+
| id   | name   |
+------+--------+
|    2 | 沙悟净 |
|    4 | 白龙马 |
+------+--------+
2 rows in set (0.01 sec)

Studenten mit dem Nachnamen Sonne finden:

mysql> select id,name from students where name like '孙%';
+------+--------+
| id   | name   |
+------+--------+
|    1 | 孙悟空 |
+------+--------+
1 row in set (0.00 sec)

Finden Sie Schüler, deren Nachname Sun ist und deren Namenslänge 2 ist:

mysql> select id,name from students where name like'孙_';
Empty set (0.00 sec)

Im obigen Code zeigt es schließlich, dass Leer bedeutet, dass es keine Schüler gibt, die mit diesem Feld übereinstimmen. Dann sind viele Operationen in der obigen Tabelle ähnlich, daher wird der Blogger hier drei Beispiele geben, und Sie können es selbst anhand der Tabelle testen. 


3.7.2 Logische Operatoren

Operator veranschaulichen
UND Mehrere Bedingungen müssen WAHR sein, damit das Ergebnis WAHR ist
ODER Wenn eine Bedingung WAHR ist, ist das Ergebnis WAHR
NICHT Bedingung ist WAHR, Ergebnis ist FALSCH

 Fragen Sie die Schüler ab, deren Chinesisch-Punktzahl >=80 und Englisch-Punktzahl>=80 ist:

mysql> select id,name from students where chinese>= 80 and math>=80;
+------+--------+
| id   | name   |
+------+--------+
|    3 | 猪八戒 |
+------+--------+
1 row in set (0.00 sec)

Abfrage für Schüler, deren Chinesisch-Punktzahl >80 oder Englisch-Punktzahl <60 ist: 

mysql> select id,name from students where chinese>80 or english<60;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 孙悟空 |
|    3 | 猪八戒 |
+------+--------+
2 rows in set (0.00 sec)

Schüler befragen, die in Englisch durchgefallen sind:

mysql> select id,name from students where not english>=60;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 孙悟空 |
|    3 | 猪八戒 |
+------+--------+
2 rows in set (0.00 sec)

Wir können sehen, dass die Abfrage durch logische Operatoren mit dem Ausdruck von Operatoren wie && und || in C und Java konsistent ist, mit der Ausnahme, dass Englisch in MySQL verwendet wird.


3.8limit (Paginierung)

Die Paging-Abfrage soll die entsprechenden Daten nach den Vorschriften abfragen.Diese Vorschrift wird nach Ihren Bedürfnissen festgelegt, dh welche Seite oder Zeilen von Daten Sie abfragen möchten. Sein grammatikalisches Format besteht darin, eine Grenzwertanweisung auf der Grundlage der angegebenen Spaltenabfrage hinzuzufügen, und es gibt drei Formate:

-- Der beginnende Index ist 0

-- Beginnend bei 0, filtere n Ergebnisse

SELECT ... FROM Tabellenname [WHERE ...] [ORDER BY ...] LIMIT n;

-- Beginnend bei s, filtere n Ergebnisse

SELECT ... FROM tabellenname [WHERE ...] [ORDER BY ...] LIMIT s, n;

-- Beginnend mit s, filtere n Ergebnisse, was spezifischer ist als die zweite Verwendung, es wird empfohlen, sie zu verwenden

SELECT ... FROM Tabellenname [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;

Fragen Sie die ID- und Namensinformationen in den ersten drei Datensätzen der Schülertabelle ab, und ich kann am Ende Limit 3 hinzufügen:

mysql> select id,name from students limit 3;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 孙悟空 |
|    2 | 沙悟净 |
|    3 | 猪八戒 |
+------+--------+
3 rows in set (0.00 sec)

Sie können auch angeben, in welcher Zeile die Abfrage gestartet werden soll. Ich möchte beispielsweise eine Abfrage aus der dritten Zeile der Tabelle students und zwei Zeilen mit Datensätzen abfragen:

mysql> select id,name from students limit 2,2;
+------+--------+
| id   | name   |
+------+--------+
|    3 | 猪八戒 |
|    4 | 白龙马 |
+------+--------+
2 rows in set (0.00 sec)

Wir sehen, dass der gewünschte Effekt erzielt wird, daher lautet die Paginierungsabfragesyntax zum Angeben der Anzahl der Zeilen: limit n,s; wobei s die Startposition und n die Anzahl der Zeilen ist . Aber diese Methode ist nicht streng genug, die richtige sollte limit n offset s sein, wobei s auch die Startposition und n die Anzahl der Zeilen ist . Beachten Sie, dass die Anzahl der Zeilen basierend auf 0 für das erste Datenelement automatisch erhöht wird, was mit dem Index des Arrays übereinstimmt.


4. Daten ändern

Um Daten zu ändern, ist die verwendete SQL-Anweisung update . Die Syntax lautet: update table name set modify value where Bedingung; setze zum Beispiel die englische Punktzahl von Zhu Bajie in der Schülertabelle auf 0:

mysql> update students set english = 0 where name = '猪八戒';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Lassen Sie uns alle Informationen der Schülertabelle durch die vollständige Spaltenabfrage überprüfen:

Wir können sehen, dass Zhu Bajies Englisch-Score auf 0 gesetzt wurde. Natürlich können wir Daten auch durch Ausdrücke modifizieren. Beispielsweise wird die englische Punktzahl von Zhu Bajie durch den Ausdruck um 100 erhöht:

mysql> update students set english = english+100 where name = '猪八戒';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Wir können sehen, dass eine Modifikation durch Ausdrücke ebenfalls möglich ist, aber das Einzige, worauf Sie achten müssen, ist. Wenn wir ein Datenelement erhöhen oder verringern möchten, sollten wir es als data = data + value schreiben, nicht als data + = value, was dasselbe ist wie chinesisch = chinesisch + 100 im obigen Code;


5. Daten löschen

Die zum Löschen von Daten verwendete SQL-Anweisung lautet delete, und ihr grammatikalisches Format lautet: delete from table name where delete target; zum Beispiel lösche die Informationen zum weißen Drachenpferd in der Schülertabelle:

mysql> delete from students where name = '白龙马';
Query OK, 1 row affected (0.00 sec)

Zeigen Sie die Studententabelle an:

Wir können sehen, dass in der Tabelle students noch drei Datensätze übrig sind. Natürlich können wir durch delete auch die Informationen der gesamten Tabelle löschen:

Query OK, 3 rows affected (0.01 sec)

mysql> select * from students;
Empty set (0.00 sec)

Nach dem Löschen der gesamten Tabelleninformationen von Studenten werden diese als leer angezeigt, wenn wir die vollständige Spaltenabfrage verwenden. Beachten Sie, dass delete nur alle Daten in der Tabelle löscht, ohne die Tabelle zu löschen, und die Drop-Operation gefährlicher ist, sie löscht die gesamte Tabelle und alle Daten in der Tabelle. Daher müssen wir beim Löschen der Datenbankoperation aufpassen!


Der Inhalt des Artikels ist relativ reichhaltig und Sie müssen mehr üben, nachdem Sie heruntergekommen sind. Nur durch die Implementierung dieser Operationen können wir diese Wissenspunkte besser erfassen.Außerdem können Sie auch die Beispiele testen, die nicht in den Vergleichsoperatoren in der bedingten Where-Abfrage erwähnt werden. Dieser Blogbeitrag ist hier vorbei, vielen Dank für Ihre Geduld beim Lesen, wenn Sie etwas gewinnen, achten Sie bitte darauf.

Ich denke du magst

Origin blog.csdn.net/weixin_64916311/article/details/130004309
Empfohlen
Rangfolge