Come usare SQL nel terminale?


11

Voglio creare semplici tabelle, inserire valori al suo interno e fare query. Come eseguirli nel terminale?

Risposte:


8

Si crea un database digitando

 mysql

Nel prompt che inserisci, inizi quindi creando il tuo database (come spiegato da onik nei commenti):

 CREATE DATABASE dbname

Dopo aver creato quel database, puoi sperimentarlo. Puoi semplicemente digitare mysqlun terminale e puoi fare tutto quello che vuoi. È possibile che tu abbia creato un ruolo nel tuo database con il tuo nome utente.

Come descritto nella risposta di Sauruv, puoi anche connetterti al database come segue (senza lo spazio tra p e la tua password o meglio, semplicemente non utilizzare l'opzione -p e otterrai una richiesta di password [crediti vai a onik]):

Sintassi:

mysql -u user_name -ppassword dbname

-u : Specify mysql database user name
-p : Prompt for password
dbname : Specify database name

3
In realtà, la sintassi specificata si connette solo al database specificato, non lo crea. Dovrai prima connetterti senza specificare un database ed eseguire CREATE DATABASE [dbname]. Inoltre, se specifichi la password sulla riga di comando (non consigliata, la sintassi è mysql -u user_name -ppassword database, senza lo spazio tra p e la tua password. Puoi anche omettere la password qui e MySQL ti chiederà, che è più sicuro.
onik

@onik hai assolutamente ragione. La prossima volta, sentiti libero di modificare la mia risposta o di copiarla ed elaborarla nella tua risposta. A titolo di ringraziamento, ho trovato una buona risposta per te su un'altra domanda e l'ho votata.
don.joey,

6

Ecco la sintassi per eseguire l'istruzione sql dal terminale

Presumo che tu stia usando MySQL.

Sintassi:

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

Clearificance:

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

Esempio:

  • Se vuoi creare una tabella, personallora:

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

    dove rootè il nome utente, mydbè il nome del database. Allo stesso modo è possibile eseguire qualsiasi query desiderata.

  • Se vuoi insertvalori in person:

    mysql -u root -p -e 'Insert into person(PersonID,LastName,FirstName) Values(100,"Kumar","Saurav")' mydb
    
  • Se si desidera selezionare tutte le informazioni da persone si desidera salvare in un file:

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

E ovviamente puoi creare un database usando il terminale stesso

  • Per creare il database mydb, eseguire il seguente comando nel terminale:

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

    creerà silenziosamente un database mydb senza fornire alcun messaggio / output.

  • Per elencare tutti i database eseguire questo comando nel terminale:

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

Spero che ti aiuti .. Rispondi se hai bisogno di ulteriore assistenza ..


1

mysql è un semplice strumento da riga di comando. mysql è la riga di comando ed è molto facile da usare. Richiamalo dal prompt dell'interprete dei comandi nel modo seguente:

$ mysql

Produzione

mysql>

Potrebbe essere necessario fornire nome utente mysql, password e nome host, utilizzare:

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

mysql>

Per elencare il database digitare il seguente comando

mysql> show databases;

Produzione

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

information_schema e mysql sono i nomi dei database. Per utilizzare questi database e per elencare le tabelle disponibili digitare i due comandi seguenti:

mysql> use mysql;

Produzione:

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

Ora elenca le tabelle:

mysql> show tables;

Produzione:

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

1

mycli

mysqlla console di default è bella e carina, ma forse è più carina mycli(e alternativa a Postgres pgcli).

Installazione : su Ubuntu 16.04+ è su repository ufficiali: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

immagine dello schermo

Riferimento


0

C'è sqlline che potrebbe connettersi a qualsiasi rdbms (Oracle, mysql, postgres, h2 e altri), anche csv, cassandra, elastic-search, mongo (via apache-calcite).

Esiste una pagina di dimostrazioni di progetti con brevi video dimostrativi. Fornisce editing su più righe, evidenziazione della sintassi, completamento automatico intelligente, supporto dialettale.

Potrebbe essere incorporato e non è necessario installarlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.