Wie verwende ich SQL im Terminal?

11

Ich möchte einfache Tabellen erstellen, Werte einfügen und Abfragen durchführen. Wie werden sie im Terminal ausgeführt?

user198612
quelle

Antworten:

8

Sie erstellen eine Datenbank durch Eingabe

 mysql

In der Eingabeaufforderung, die Sie eingeben, erstellen Sie zunächst Ihre Datenbank (wie von onik in den Kommentaren erläutert):

 CREATE DATABASE dbname

Sobald Sie diese Datenbank erstellt haben, können Sie damit experimentieren. Sie können einfach mysqlein Terminal eingeben und alles tun, was mit SQL zu tun hat. Möglicherweise haben Sie mit Ihrem Benutzernamen eine Rolle in Ihrer Datenbank erstellt.

Wie in Sauruvs Antwort beschrieben, können Sie auch wie folgt eine Verbindung zur Datenbank herstellen (ohne das Leerzeichen zwischen p und Ihrem Passwort oder besser, verwenden Sie einfach nicht die Option -p und Sie erhalten eine Passwortabfrage [Credits gehen an onik]):

Syntax:

mysql -u user_name -ppassword dbname

-u : Specify mysql database user name
-p : Prompt for password
dbname : Specify database name
don.joey
quelle
3
Die von Ihnen angegebene Syntax stellt nur eine Verbindung zur angegebenen Datenbank her und erstellt diese nicht. Sie müssen zuerst eine Verbindung herstellen, ohne eine Datenbank anzugeben, und ausführen CREATE DATABASE [dbname]. Wenn Sie das Kennwort in der Befehlszeile angeben (nicht empfohlen, lautet die Syntax außerdem mysql -u user_name -ppassword databaseohne Leerzeichen zwischen p und Ihrem Kennwort. Sie können das Kennwort auch hier weglassen, und MySQL fordert Sie dazu auf, was sicherer ist.
onik
@onik du hast absolut recht. Sie können meine Antwort beim nächsten Mal entweder bearbeiten oder kopieren und in Ihre eigene Antwort umwandeln. Als Dank habe ich eine gute Antwort von Ihnen auf eine andere Frage gefunden und sie positiv bewertet.
don.joey
6

Hier ist die Syntax zum Ausführen der SQL-Anweisung vom Terminal

Ich gehe davon aus, dass Sie verwenden MySQL.

Syntax:

mysql -u user_name -p password -e 'SQL Query' database

Clearance:

-u : Specify mysql database user name
-p : Prompt for password
-e : Execute sql query
database : Specify database name

Beispiel:

  • Wenn Sie eine Tabelle erstellen möchten, gehen Sie wie folgt vor person:

    mysql -u root -p -e 'Create table person(PersonID int, LastName varchar(255), FirstName varchar(255))' mydb
    

    Wo rootist der Benutzername, mydbist der Name der Datenbank. Ebenso können Sie jede gewünschte Abfrage ausführen.

  • Wenn Sie insertWerte in person:

    mysql -u root -p -e 'Insert into person(PersonID,LastName,FirstName) Values(100,"Kumar","Saurav")' mydb
    
  • Wenn Sie alle Informationen auswählen personund in einer Datei speichern möchten:

    mysql -u root -p -e 'Select * from person' mydb > personinfo
    

Und natürlich können Sie eine Datenbank mit dem Terminal selbst erstellen

  • Um die Datenbank mydb zu erstellen, führen Sie den folgenden Befehl im Terminal aus:

    mysql -u root -p -e 'create database mydb'
    

    Es wird stillschweigend eine Datenbank- Mydb erstellt, ohne eine Nachricht / Ausgabe zu geben.

  • Um alle Datenbanken aufzulisten, führen Sie diesen Befehl im Terminal aus:

    mysql -u root -p -e 'show databases'
    

Hoffe es hilft dir .. Antworte wenn du weitere Hilfe brauchst ..

Saurav Kumar
quelle
1

MySQL ist ein einfaches Kommandozeilen-Tool. MySQL ist eine Befehlszeile und sehr einfach zu bedienen. Rufen Sie es an der Eingabeaufforderung Ihres Befehlsinterpreters wie folgt auf:

$ mysql

Ausgabe

mysql>

Möglicherweise müssen Sie den MySQL-Benutzernamen, das Kennwort und den Hostnamen angeben. Verwenden Sie dazu:

$ mysql --user=your-user-name --password=your-password

mysql>

Geben Sie den folgenden Befehl ein, um die Datenbank aufzulisten

mysql> show databases;

Ausgabe

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

information_schema und mysql sind Namen von Datenbanken. Geben Sie die folgenden zwei Befehle ein, um diese Datenbank zu verwenden und verfügbare Tabellen aufzulisten:

mysql> use mysql;

Ausgabe:

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

Listen Sie nun Tabellen auf:

mysql> show tables;

Ausgabe:

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
17 rows in set (0.00 sec)
mysql>
Tanmay Kulkarni
quelle
1

mycli

mysqlDie Standardkonsole ist in Ordnung und hübsch, aber vielleicht hübscher mycli(und die Alternative von Postgres pgcli).

Installation : Unter Ubuntu 16.04+ gibt es offizielle Repos:sudo apt install mycli

$ mycli --help
Usage: mycli [OPTIONS] [DATABASE]

  A MySQL terminal client with auto-completion and syntax highlighting.

  Examples:
    - mycli my_database
    - mycli -u my_user -h my_host.com my_database
    - mycli mysql://my_user@my_host.com:3306/my_database

Bildschirmfoto

Referenz

Pablo Bianchi
quelle
0

Es gibt sqlline , die mit jedem rdbms (Oracle, mysql, postgres, h2 und andere) verbunden werden kann, auch csv, cassandra, elastische Suche, mongo (über Apache-Calcit).

Es gibt eine Projektdemoseite mit kurzen Demovideos. Sie bietet mehrzeilige Bearbeitung, Syntaxhervorhebung, intelligente automatische Vervollständigung und Dialektunterstützung.

Es könnte eingebettet sein und muss nicht installiert werden.

Serg
quelle