Comment utiliser SQL dans le terminal?


11

Je veux créer des tables simples, y insérer des valeurs et faire des requêtes. Comment les effectuer dans le terminal?

Réponses:


8

Vous créez une base de données en tapant

 mysql

À l'invite que vous entrez, vous commencez ensuite par créer votre base de données (comme expliqué par onik dans les commentaires):

 CREATE DATABASE dbname

Une fois que vous avez créé cette base de données, vous pouvez l'expérimenter. Vous pouvez simplement taper mysqldans un terminal et vous pouvez faire tout ce que vous voulez avec sql. Il est possible que vous ayez créé un rôle dans votre base de données avec votre nom d'utilisateur.

Comme décrit dans la réponse de Sauruv, vous pouvez également vous connecter à la base de données comme suit (sans l'espace entre p et votre mot de passe ou mieux, n'utilisez pas l'option -p et vous obtiendrez une invite de mot de passe [crédits aller à onik]):

Syntaxe:

mysql -u user_name -ppassword dbname

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

3
En fait, la syntaxe que vous avez spécifiée se connecte uniquement à la base de données spécifiée, elle ne la crée pas. Vous devrez d'abord vous connecter sans spécifier de base de données et exécuter CREATE DATABASE [dbname]. De plus, si vous spécifiez le mot de passe sur la ligne de commande (non recommandé, la syntaxe est mysql -u user_name -ppassword database, sans l'espace entre p et votre mot de passe. Vous pouvez également omettre le mot de passe ici et MySQL vous le demandera, ce qui est plus sûr.
onik

@onik vous avez absolument raison. La prochaine fois, n'hésitez pas à modifier ma réponse ou à la copier et à la développer dans votre propre réponse. En guise de remerciement, j'ai trouvé une bonne réponse de votre part sur une autre question et je l'ai votée positivement.
don.joey

6

Voici la syntaxe pour exécuter l'instruction sql à partir du terminal

Je suppose que vous utilisez MySQL.

Syntaxe:

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

Exemple:

  • Si vous souhaitez créer une table, personalors:

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

    rootest le nom d'utilisateur, mydbest le nom de la base de données. De même, vous pouvez exécuter n'importe quelle requête que vous souhaitez.

  • Si vous voulez des insertvaleurs dans person:

    mysql -u root -p -e 'Insert into person(PersonID,LastName,FirstName) Values(100,"Kumar","Saurav")' mydb
    
  • Si vous souhaitez sélectionner toutes les informations personet enregistrer dans un fichier:

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

Et bien sûr, vous pouvez créer une base de données en utilisant le terminal lui-même

  • Pour créer la base de données mydb, exécutez la commande suivante dans le terminal:

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

    il créera silencieusement une base de données mydb sans donner de message / sortie.

  • Pour répertorier toutes les bases de données, exécutez cette commande dans le terminal:

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

J'espère que cela vous aide .. Répondez si vous avez besoin d'aide supplémentaire ..


1

mysql est un simple outil en ligne de commande. mysql est en ligne de commande et il est très facile à utiliser. Appelez-le à l'invite de votre interpréteur de commandes comme suit:

$ mysql

Production

mysql>

Vous devrez peut-être fournir le nom d'utilisateur, le mot de passe et le nom d'hôte mysql, utilisez:

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

mysql>

Pour répertorier la base de données, tapez la commande suivante

mysql> show databases;

Production

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

information_schema et mysql sont le nom des bases de données. Pour utiliser ces bases de données et répertorier les tables disponibles, tapez les deux commandes suivantes:

mysql> use mysql;

Production:

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

Maintenant, listez les tableaux:

mysql> show tables;

Production:

+---------------------------+
| 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 par défaut est belle et jolie, mais peut-être plus jolie mycli(et c'est l'alternative Postgres pgcli).

Installation : Sur Ubuntu 16.04+ est sur les dépôts officiels: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

capture d'écran

Référence


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.