Verwenden von MySQL mit grundlegenden SQL-Befehlen

Kurz: Erfahren Sie, wie Sie grundlegende SQL-Befehle im Open Source-Datenbankverwaltungssystem MySQL verwenden.

MySQL ist der am häufigsten verwendete relationale Datenbankmanager . Die Benutzerfreundlichkeit und die Open Source-Lizenz haben wesentlich zu dieser Popularität beigetragen.

Letzte Woche habe ich die Installation und Konfiguration von MySQL in Ubuntu behandelt. In diesem Artikel werde ich Ihnen mehrere MySQL-Funktionen vorstellen, wobei ich mich hauptsächlich auf die Grundlagen beschränke .

Hinweis: Bei MySQL- Abfragen (Befehlen) wird die Groß- und Kleinschreibung nicht berücksichtigt . Es ist jedoch üblich, ALL CAPS für die eigentlichen Befehlsschlüsselwörter und Kleinbuchstaben für den Rest zu verwenden .

Grundlegende SQL-Befehle

Herstellen und Trennen der Verbindung zum MySQL Server

Um Abfragen eingeben zu können, müssen Sie zunächst eine Verbindung zum Server mit MySQL herstellen und die MySQL-Eingabeaufforderung verwenden. Der Befehl dafür lautet:

mysql -h host_name -u user -p 

-h wird verwendet, um einen Hostnamen anzugeben (wenn sich der Server auf einem anderen Computer befindet; wenn dies nicht der Fall ist, lassen Sie ihn einfach weg). -u erwähnt den Benutzer und -p gibt an, dass Sie ein Kennwort eingeben möchten.

Obwohl dies aus Sicherheitsgründen nicht empfohlen wird, können Sie das Kennwort direkt in den Befehl eingeben, indem Sie es direkt nach -p eingeben. Wenn das Kennwort für test_user beispielsweise 1234 lautet und Sie versuchen, auf dem von Ihnen verwendeten Computer eine Verbindung herzustellen, können Sie Folgendes verwenden:

 mysql -u test_user -p1234 

Wenn Sie die erforderlichen Parameter erfolgreich eingegeben haben, wird die MySQL-Shell-Eingabeaufforderung ( mysql> ) angezeigt :

Geben Sie Folgendes ein, um die Verbindung zum Server zu trennen und die mysql-Eingabeaufforderung zu verlassen :

 QUIT 

Die Eingabe von quit (bei MySQL wird die Groß- und Kleinschreibung nicht berücksichtigt) oder \ q funktioniert ebenfalls. Drücken Sie die Eingabetaste, um das Menü zu verlassen.

Sie können Informationen über die Version auch mit einem einfachen Befehl ausgeben:

 sudo mysqladmin -u root version -p 

Hinweis: Stellen Sie sicher, dass Sie mit dem Server verbunden sind, bevor Sie eine der Fragen eingeben, die ich behandeln werde.

Wenn Sie eine Liste mit Optionen anzeigen möchten, verwenden Sie:

 mysql --help 

Verwenden von Abfragen in MySQL

MySQL speichert Daten in Tabellen und verwendet Befehle, die als Abfragen bezeichnet werden ( SQL = Structured Query Language). Bevor wir uns mit dem Speichern, Zugreifen auf und Ändern von Daten befassen, gehe ich auf grundlegende Fragen ein, damit Sie den Überblick behalten.

Da MySQL Tabellen verwendet, wird die Ausgabe von Abfragen auch in Tabellen angezeigt. Allen SQL-Anweisungen sollte ein Semikolon ( ; ) folgen, obwohl es Ausnahmen gibt (insbesondere: QUIT). Sie können Spalten mit Komma ( , ) trennen. Hier sind einige grundlegende Beispiele:

 mysql> SELECT VERSION(); mysql> SELECT CURRENT_DATE; mysql> SELECT VERSION(), CURRENT_DATE; 

Als Beispiel würde die dritte Abfrage etwas Ähnliches ausgeben:

 +-----------+--------------+ | VERSION() | CURRENT_DATE | +-----------+--------------+ | 8.0.15 | 2019-04-13 | +-----------+--------------+ 1 row in set (0, 41 sec) 

Da ein Semikolon ( ; ) das Ende einer Anweisung markiert, können Sie auch mehrere Anweisungen in eine einzelne Zeile schreiben.

Zum Beispiel anstelle von:

 mysql> SELECT VERSION(); mysql> SELECT CURRENT_DATE; 

Sie könnten auch schreiben:

 mysql> SELECT VERSION(); SELECT CURRENT_DATE; 

Sie können auch mehrzeilige Abfragen eingeben (wenn Sie vor dem Drücken der Eingabetaste kein Semikolon am Ende der Zeile einfügen ). In diesem Fall gibt MySQL einfach eine andere Eingabeaufforderung ein, damit Sie Ihren Befehl fortsetzen können. Zum Beispiel:

 mysql> SELECT -> VERSION() ->, -> CURRENT_DATE; 

Mehrzeilige Abfragen treten auch dann auf, wenn Sie keine Zeichenfolge in einer Zeile beendet haben (ein Wort, das von ' oder ' umgeben ist ).

Wenn Sie eine Abfrage abbrechen möchten, geben Sie \ c ein und drücken Sie die Eingabetaste .

Es gibt Eingabeaufforderungen mit unterschiedlichen Bedeutungen:

  • mysql> = bereit für neue abfrage
  • -> = Warten auf nächste Zeile der mehrzeiligen Abfrage
  • '> = Warten auf die nächste Zeile, Warten auf die Vervollständigung einer Zeichenfolge, die mit einem einfachen Anführungszeichen beginnt ( ' )
  • „> = Warten auf die nächste Zeile, Warten auf die Vervollständigung einer Zeichenfolge, die mit einem doppelten Anführungszeichen beginnt ( )
  • `> = Warten auf die nächste Zeile, Warten auf die Vervollständigung eines Bezeichners, der mit einem Backtick ( ` ) begann
  • / *> = Warten auf die nächste Zeile, Warten auf die Vervollständigung eines Kommentars, der mit /*

Sie können mit NOW ( ) neben dem aktuellen Datum auch die aktuelle Uhrzeit ( hh: mm: ss ) sowie den Benutzer, mit dem Sie über USER () verbunden sind, ausdrucken :

 mysql> SELECT NOW(); mysql> SELECT USER(); 

Dies wird etwas Ähnliches ausgeben:

 +---------------------+ | NOW() | +---------------------+ | 2019-04-13 23:53:48 | +---------------------+ 1 row in set (0, 00 sec) +----------------+ | USER() | +----------------+ | [email protected] | +----------------+ 1 row in set (0, 00 sec) 

Mit MySQL können Sie auch mathematische Berechnungen durchführen :

 mysql> SELECT COS(PI()/3), (10-2+4)/3; 

Ausgabe:

 +--------------------+------------+ | COS(PI()/3) | (10-2+4)/3 | +--------------------+------------+ | 0.5000000000000001 | 4.0000 | +--------------------+------------+ 

Verwenden von Datenbanken in MySQL

1. Informationen über Datenbanken erhalten

Zunächst können Sie verfügbare Datenbanken auflisten mit:

 mysql> SHOW DATABASES; 

Sie können die ausgewählte Datenbank auch anzeigen mit:

 mysql> SELECT DATABASE(); 

Dies gibt NULL aus, wenn keine Datenbank ausgewählt ist. Hier ist eine Beispielausgabe für die beiden genannten Anweisungen:

 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ +------------+ | DATABASE() | +------------+ | NULL | +------------+ 

2. Datenbanken erstellen

Dazu geben Sie einfach einen Befehl ein:

 mysql> CREATE DATABASE example_db; 

Hinweis: In Ubuntu 18.04 (oder einem anderen Unix-basierten System) werden bei Datenbank- und Tabellennamen die Groß- und Kleinschreibung beachtet .

3. Datenbanken auswählen

Um eine Datenbank auszuwählen, müssen Sie erwähnen, dass Sie sie verwenden möchten:

 mysql> USE example_db; 

Bei Erfolg erhalten Sie folgende Nachricht:

 Database changed 

Wenn dies nicht erfolgreich ist, erhalten Sie eine Fehlermeldung, dass MySQL die angegebene Datenbank nicht finden kann.

Sie können eine Datenbank auch auswählen, wenn Sie eine Verbindung zum Server herstellen, indem Sie den Namen einer vorhandenen Datenbank am Ende des Befehls connect angeben:

 mysql -h host_name -u user_name -p example_table 

Zum Beispiel:

 mysql -u root -p example_table 

Verwenden von Tabellen in SQL

1. Informationen zu Tabellen abrufen

Um die Tabellen in der aktuellen Datenbank aufzulisten, verwenden Sie:

 mysql> SHOW TABLES; 

Hinweis: Stellen Sie sicher, dass Sie eine Datenbank ausgewählt haben.

Wenn die Datenbank leer ist (z. B. eine neu erstellte), wird Folgendes ausgegeben:

 Empty set (0, 00 sec) 

Nach dem Erstellen von Tabellen erfolgt die Ausgabe wie folgt:

 +----------------------+ | Tables_in_example_db | +----------------------+ | table_1 | | table_2 | +----------------------+ 1 row in set (0, 00 sec) 

2. Tabellen erstellen

Um Tabellen zu erstellen, müssen Sie das Layout angeben - die Spalten und welche Art von Daten sie speichern sollen.

In meinem Beispiel speichere ich Informationen zu einer Gruppe von Personen: Name, Geburtsdatum, Geschlecht, Land. So kann ich diese Tabelle erstellen:

 mysql> CREATE TABLE table_1 (name VARCHAR(30), birth_date DATE, sex CHAR(1), country VARCHAR(40)); 

Hinweis: Sie können den Befehl auch in mehrere Zeilen schreiben .

Sie sehen, dass ich den Tabellennamen ( table_1 ) und den Namen der Spalten ( name, birth_date, sex, country ) erwähnt habe. Nach den Spaltennamen habe ich den Datentyp angegeben, den sie speichern. VARCHAR (n) sind Zeichenfolgen mit maximal n Zeichen Länge, DATE ist selbsterklärend (Format CCYY-MM-DD ) und CHAR (1) bedeutet ein einzelnes Zeichen (speziell beabsichtige ich die Verwendung von 'm' und 'f' für Männer und Frauen ). Andere gebräuchliche Typen sind INT (Ganzzahlen), BOOL (Boolesche Werte), TIME (HH: MM : SS). In MySQL stehen viele Datentypen zur Verfügung (numerisch, Zeichenfolge, Datum und Uhrzeit). Sie können auch komplexere Datentypen verwenden, z. B. AUTO_INCREMENT .

Die Tabelle wird nun angezeigt, wenn Sie TABELLEN ANZEIGEN .

Wenn Sie möchten, können Sie das Layout einer Tabelle mit ALTER TABLE ändern :

 mysql> ALTER TABLE table_1 ADD email VARCHAR(50); mysql> ALTER TABLE table_1 DROP birth_date; 

In diesen Beispielen wurde eine Spalte hinzugefügt (erstes Beispiel) und eine Spalte gelöscht (zweites Beispiel). Weitere Informationen zu ALTER TABLE finden Sie hier, da es auch erweiterte Verwendungsmöglichkeiten bietet.

3. Tabellen beschreiben

Die Struktur einer Tabelle können Sie jederzeit einsehen mit:

 mysql> DESCRIBLE table_name; 

Zum Beispiel:

 mysql> DESCRIBE table_1; 

wird ausgegeben:

 +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | name | varchar(30) | YES | | NULL | | | birth_date | date | YES | | NULL | | | sex | char(1) | YES | | NULL | | | country | varchar(40) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 4 rows in set (0, 00 sec) 

4. Löschen von Tabellen

Die Anweisung zum Löschen von Tabellen lautet:

 DROP TABLE table_name; 

5. Einfügen von Daten in Tabellen

Um Daten einzufügen, müssen Sie die Werte angeben, die in jede Spalte eingefügt werden sollen (in derselben Reihenfolge wie in der Tabellendefinition). Für leere oder unbekannte Werte sollten Sie NULL verwenden . Stellen Sie sicher, dass nicht numerische Werte in Anführungszeichen ( ' ) oder doppelte Anführungszeichen ( ) gesetzt sind. Die Werte sollten durch Kommas ( , ) getrennt werden.

Hier einige Beispiele für Smith und Emily:

 mysql> INSERT INTO table_1 VALUES ('Smith', '1980-04-24', 'm', 'Argentina'); mysql> INSERT INTO table_1 VALUES ('Emily', '1994-07-19', 'f', NULL); 

6. Tabellen leeren

Wenn Sie eine Tabelle leeren möchten (alle Einträge löschen), verwenden Sie:

 DELETE FROM table_name; 

Mit WHERE können Sie bestimmte Zeilen löschen :

 DELETE FROM table_name WHERE col_name = value 

In den folgenden Abschnitten werde ich näher darauf eingehen.

7. Aktualisieren von Tabelleneinträgen

Die Syntax zum Aktualisieren eines Eintrags lautet:

 UPDATE table_name SET col = 'value' WHERE conditions 

Zum Beispiel:

 UPDATE table_1 SET country = 'France' WHERE name = 'Emily' 

Wenn Sie keine Bedingungen angeben, werden alle Einträge geändert.

8. Abrufen von Daten aus Tabellen

Der MySQL-Befehl zum Extrahieren von Daten aus Tabellen lautet SELECT . Die Struktur einer solchen Aussage ist:

 SELECT what FROM where WHERE conditions; 

Ich werde einige gängige Anwendungen durchgehen, damit Sie verstehen, wie Sie genau das aus der Datenbank extrahieren, was Sie wollen.

ein. Auswahl aller Daten

Am einfachsten ist es, alle Daten einer Tabelle anzuzeigen. Zum Beispiel:

 mysql> SELECT * FROM table_1; 

Der Platzhalter ( * ) steht für alles, Tabelle_1 ist die Tabelle, aus der ich extrahiere. Sie können sehen, dass ich den WHERE- Teil weggelassen habe; Es ist optional, Bedingungen für die ausgewählten Daten festzulegen.

b. Auswahl bestimmter Daten

Zuerst werde ich die Zeilen auswählen .

Um bestimmte Zeilen auszuwählen, müssen Sie Bedingungen angeben, die die Daten eingrenzen:

 mysql> SELECT * FROM table_1 WHERE name = 'Smith'; mysql> SELECT * FROM table_1 WHERE sex = 'm'; mysql> SELECT * FROM table_1 WHERE birth_date SELECT * FROM table_1 WHERE sex = 'f' AND birth_date > '1991-1-1'; mysql> SELECT * FROM table_1 WHERE sex = 'm' OR country = 'France'; mysql> SELECT * FROM table_1 WHERE country IS NOT NULL; 

In den ersten beiden Beispielen vergleiche ich einfach Zeichenfolgen (ohne Berücksichtigung der Groß- / Kleinschreibung ). Sie können auch Werte wie Datumsangaben und Ganzzahlen mit Vergleichsoperatoren ( >, =, <=, = ) vergleichen. wird verwendet, um " nicht gleich " zu bezeichnen. Sie können mehrere Bedingungen mit logischen Operatoren ( AND, OR ) angeben. AND hat eine höhere Priorität als OR . Bei komplexeren Bedingungen empfiehlt es sich, Klammern zu verwenden.

IS NOT NULL ist eine Möglichkeit, nur Zeilen anzuzeigen, die keinen Wert für die angegebene Spalte haben. Sie können arithmetische Vergleichsoperatoren nicht mit NULL verwenden, da sie einen fehlenden Wert darstellen (das Ergebnis wird ebenfalls NULL sein). Sie sollten IS NULL und IS NOT NULL verwenden .

Sowohl NULL als auch werden als FALSE behandelt, der Rest als TRUE .

Jetzt gehe ich auf die Anzeige bestimmter Spalten ein .

Dazu müssen Sie die anzuzeigenden Spalten durch Kommas trennen. Zum Beispiel:

 mysql> SELECT name, birth_date FROM table_1; 

Sie können sich wiederholende Daten auch loswerden. Wenn ich zum Beispiel alle Geburtsdaten erhalten möchte (ohne den gleichen Wert mehrmals zu erhalten, wenn zu diesem Zeitpunkt mehrere Personen geboren wurden), verwende ich Folgendes:

 mysql> SELECT DISTINCT birth_date FROM table_1; 

Dies zeigt nur DISTINCT- Ergebnisse an.

Um noch genauer zu werden, können Sie die Anzeige bestimmter Spalten mit Bedingungen ( WO ) kombinieren:

 mysql> SELECT name, sex FROM table_1 WHERE country = 'France' AND birth_date < '1991-1-1'; 

c. Daten sortieren

Um Daten zu sortieren, verwenden Sie ORDER_BY :

 mysql> SELECT name FROM table_1 ORDER BY birth_date; 

Sie können sehen, dass ich dies mit der Auswahl bestimmter Daten kombiniert habe. Der obige Befehl zeigt die Namen aller Einträge in aufsteigender Reihenfolge nach Geburtsdatum an.

Sie können auch in absteigender Reihenfolge bestellen:

 mysql> SELECT name FROM table_1 ORDER BY birth_date DESC; 

Die Sortierung kann auf mehrere Spalten angewendet werden. Um beispielsweise in absteigender Reihenfolge nach Geburtsdatum und am selben Datum in aufsteigender Reihenfolge nach Namen geborene Personen zu sortieren, würde ich Folgendes verwenden:

 mysql> SELECT name FROM table_1 ORDER BY birth_date DESC, name; 

d. Daten manipulieren

Sie können das aktuelle Datum mit CURDATE () abrufen . Mit diesem und einem weiteren Jahr können Sie mit TIMESTAMPDIFF () eine Differenz berechnen (z. B. um das Alter einer Person zu ermitteln) :

 mysql> SELECT name, birth_date, CURDATE(), -> TIMESTAMPDIFF(YEAR, birth_date, CURDATE()) AS age -> FROM table_1 ORDER BY age; 

Hier ist die Ausgabe für eine Beispieltabelle_1:

 +--------+------------+------------+------+ | name | birth_date | CURDATE() | age | +--------+------------+------------+------+ | Emily | 1994-07-19 | 2019-04-13 | 24 | | Danny | 1992-08-04 | 2019-04-13 | 26 | | Joanna | 1992-08-04 | 2019-04-13 | 26 | | Joe | 1985-03-11 | 2019-04-13 | 34 | | Smith | 1980-04-24 | 2019-04-13 | 38 | +--------+------------+------------+------+ 

TIMESTAMPDIFF () verwendet als Argumente die Einheit für das Ergebnis (YEAR) und zwei Daten (birth_date, CURDATE ()), für die eine Differenz berechnet werden soll. Das Schlüsselwort AS ( Alias) benennt die resultierende Spalte und erleichtert die Arbeit (in diesem Beispiel: Sortieren nach Alter).

Um auf bestimmte Datumsteile zu verweisen, können Sie YEAR (), MONTH () und DAYOFMONTH () verwenden und das Datum als Argument verwenden . Zum Beispiel:

 mysql> SELECT name, birth_date, MONTH(birth_date) FROM table_1; 

Sie können die Ergebnisse (Monate, Jahre, Tage) wie normale Zahlen vergleichen. Um diese jedoch mit Dingen wie dem folgenden Monat zu vergleichen, können Sie nicht einfach CURDATE () hinzufügen, da dies dazu führen kann, dass Sie nach dem 13. Monat oder einem anderen solchen Unsinn suchen . Die Problemumgehung dafür ist INTERVAL und DATE_ADD () :

 mysql> SELECT name, birth_date FROM table_1 WHERE MONTH(birth_date) = MONTH(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)); 

Sie können auch den Modulo-Operator ( MOD ) verwenden:

 mysql> SELECT name, birth_date FROM pet WHERE MONTH(birth_date) = MOD(MONTH(CURDATE()), 12) + 1; 

Die Verwendung ungültiger Datumsangaben gibt NULL zurück und erzeugt WARNUNGEN, gesehen mit:

 mysql> SHOW WARNINGS; 

e. Verwenden der Mustererkennung

In MySQL steht _ für ein einzelnes Zeichen und % für Zeichen und Muster, bei denen die Groß- und Kleinschreibung nicht beachtet wird . Anstelle von = und , um Muster zu verwenden, sollten Sie LIKE und NOT LIKE verwenden :

 mysql> SELECT birth_date FROM table_1 WHERE name LIKE '%a%'; mysql> SELECT birth_date FROM table_1 WHERE name LIKE '%b'; mysql> SELECT birth_date FROM table_1 WHERE name LIKE 'c%'; mysql> SELECT * FROM table_1 WHERE name LIKE '___'; 

In diesen Beispielen werden die Geburtsdaten der Einträge ausgewählt, bei denen der Name " a " enthält (erstes Beispiel), mit " b " endet (zweites Beispiel) oder mit " c " beginnt (drittes Beispiel). Im letzten Beispiel werden Zeilen ausgewählt, deren Name genau drei Zeichen enthält (drei Instanzen von ' _ ').

Sie können auch erweiterte reguläre Ausdrücke mit REGEXP_LIKE () (auch REGEXP- und RLIKE- Operatoren) verwenden. Reguläre Ausdrücke werden in diesem Handbuch nicht behandelt. Weitere Informationen finden Sie hier.

f. Ergebnisse zählen

Das Zählen von Daten ist wichtig und hat in der realen Welt viele Verwendungsmöglichkeiten. MySQL verwendet für solche Aufgaben COUNT () . Das einfachste Beispiel ist das Zählen der Einträge einer Tabelle :

 mysql> SELECT COUNT(*) FROM table_1; 

Sie können die Anzahl auch auf Gruppen aufteilen . Zum Beispiel könnte ich nach Land gruppieren und anzeigen, wie viele Einträge in jedem Land vorhanden sind:

 mysql> SELECT country, COUNT(*) FROM table_1 GROUP BY country; 

Sie könnten noch spezifischere Gruppen erwähnen, indem Sie mehr Spalten eingeben , nach denen gruppiert werden soll . Zum Beispiel:

 mysql> SELECT country, sex, COUNT(*) FROM table_1 GROUP BY country, sex; 

Diese Ergebnisse könnten auch zusammen mit WHERE verwendet werden, um die Ausgabe einzugrenzen .

Seien Sie vorsichtig beim Zählen. Wenn Sie neben COUNT () noch etwas angeben, das gedruckt werden soll, und diese Spalten nach GROUP BY nicht erwähnen, erhalten Sie möglicherweise einen Fehler oder unerwartete Ergebnisse (siehe ONLY_FULL_GROUP_BY ).

G. Mehrere Tabellen verwenden

Dies möchten Sie möglicherweise in einem etwas komplexeren Kontext tun.

Stellen Sie sich beispielsweise vor, es gibt eine andere Tabelle ( table_2 ), in der das Datum ( date ) für die Personen ( name ) gespeichert ist, die an Besprechungen ( meeting ) teilgenommen haben .

Sie können anzeigen, wie alt die Personen in diesen Tabellen waren, als sie an Besprechungen teilnahmen:

 mysql> SELECT table_1.name, TIMESTAMPDIFF(YEAR, birth_date, date) AS age, meeting FROM table_1 INNER JOIN table_2 ON table_1.name = table_2.name; 

Dies wird ungefähr so ​​aussehen:

 +-------+------+-----------------+ | name | age | meeting | +-------+------+-----------------+ | Emily | 21 | Dog Lovers Club | | Emily | 22 | Dog Lovers Club | | Emily | 23 | Hackathon | | Smith | 36 | TED Talk | | Smith | 38 | Footbal Match | +-------+------+-----------------+ 

Ich werde versuchen, die Syntax zu erklären. Als Namen mussten wir table_1.name und table_2.name erwähnen, da die Spalte in beiden Tabellen vorhanden ist (für birth_date, date und meeting mussten wir die Tabelle nicht angeben, da sie für eine von ihnen eindeutig sind). Dies verwendet die Aussagen, die ich bereits behandelt habe.

Der interessante Teil ist dieser:

  FROM table_1 INNER JOIN table_2 ON table_1.name = table_2.name; 

INNER JOIN setzt die Tabellen zusammen und nimmt die Zeile, die etwas gemeinsam hat, eine Bedingung, die durch das Schlüsselwort ON angegeben wird. In diesem Fall, wenn die Namen übereinstimmen.

Hinweis: Sie können dieselbe Tabelle auch mit sich selbst zusammenstellen, um möglicherweise zwei SELECT-Ergebnisse zu vergleichen.

Verwenden des Stapelmodus in MySQL

Ein weiteres nettes Feature ist der Batch-Modus . Anstelle der interaktiven Shell können Sie die Anweisungen in eine Datei einfügen und ausführen :

 mysql -h host_name -u user_name -p < batch_file 

Sie werden dann aufgefordert, ein Kennwort einzugeben (falls für den Benutzer erforderlich). Wenn Sie weiterhin ausgeführt werden möchten, anstatt bei Fehlern anzuhalten, verwenden Sie –force .

Sie können die Ausgabe sogar in ein anderes Programm oder in eine Datei umleiten :

 mysql -h host_name -u user_name -p < batch_file | less mysql -h host_name -u user_name -p output_file 

Sie können auch eine interaktive Ausgabe mit -t oder eine Echoausgabe mit -v- Parametern erhalten.

Wenn Sie sich in der interaktiven MySQL-Shell befinden und ein Skript ausführen möchten, verwenden Sie eine der beiden folgenden Methoden:

 mysql> source batch_file; mysql> \. batch_file; 

Einpacken

In diesem Artikel habe ich verschiedene Möglichkeiten beschrieben, wie Sie mit MySQL tabellarische Datenbanken verwalten und sogar erweiterte Funktionen ausprobieren können.

Ich würde mich freuen, wenn dieser Leitfaden Benutzern und Anfängern hilft, die Schwierigkeiten haben. Selbst wenn Sie kein Anfänger sind, hoffe ich, dass Sie etwas lesen, von dem Sie nichts wussten. Wenn es dir geholfen hat, lass es uns in den Kommentaren wissen!

Empfohlen

So installieren und konfigurieren Sie Ubuntu SDK in Ubuntu 16.04 und 14.04
2019
Behebung des Fehlers "Fehler beim Abrufen" mit Google Chrome unter Ubuntu und Linux Mint
2019
Kanarische Inseln sparen mit Open Source 700.000 Euro
2019