¿Cómo usar SQL en la terminal?


11

Quiero crear tablas simples, insertar valores en él y hacer consultas. ¿Cómo realizarlos en la terminal?

Respuestas:


8

Haces una base de datos escribiendo

 mysql

En la solicitud que ingrese, comenzará creando su base de datos (como explica onik en los comentarios):

 CREATE DATABASE dbname

Una vez que haya creado esa base de datos, puede experimentar con ella. Simplemente puede escribir mysqlen una terminal y puede hacer cualquier cosa relacionada con SQL que desee. Es posible que haya creado un rol en su base de datos con su nombre de usuario.

Como se describe en la respuesta de Sauruv, también puede conectarse a la base de datos de la siguiente manera (sin el espacio entre p y su contraseña o mejor, simplemente no use la opción -p y recibirá un mensaje de contraseña [los créditos van a onik]):

Sintaxis:

mysql -u user_name -ppassword dbname

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

3
En realidad, la sintaxis que especificó solo se conecta a la base de datos especificada, no la crea. Primero tendrá que conectarse sin especificar una base de datos y ejecutar CREATE DATABASE [dbname]. Además, si especifica la contraseña en la línea de comandos (no se recomienda, la sintaxis es mysql -u user_name -ppassword database, sin el espacio entre p y su contraseña. También puede omitir la contraseña aquí y MySQL le pedirá que sea más segura.
onik

@onik tienes toda la razón. La próxima vez, siéntase libre de editar mi respuesta o copiarla y elaborarla en su propia respuesta. A modo de agradecimiento, he encontrado una buena respuesta de usted en otra pregunta y la he votado.
don.joey

6

Aquí está la sintaxis para ejecutar la instrucción sql desde la terminal

Supongo que estás usando MySQL.

Sintaxis:

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

Claridad:

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

Ejemplo:

  • Si desea crear una tabla, personentonces:

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

    donde rootestá el nombre de usuario, mydbes el nombre de la base de datos. De manera similar, puede ejecutar cualquier consulta que desee.

  • Si quieres insertvalores en person:

    mysql -u root -p -e 'Insert into person(PersonID,LastName,FirstName) Values(100,"Kumar","Saurav")' mydb
    
  • Si desea seleccionar toda la información persony desea guardarla en un archivo:

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

Y, por supuesto, puede crear una base de datos utilizando el propio terminal

  • Para crear la base de datos mydb ejecute el siguiente comando en la terminal:

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

    silenciosamente creará una base de datos mydb sin dar ningún mensaje / salida.

  • Para enumerar todas las bases de datos, ejecute este comando en la terminal:

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

Espero que te ayude. Responde si necesitas más ayuda.


1

mysql es una herramienta simple de línea de comandos. mysql es línea de comando y es muy fácil de usar. Invoque desde el indicador de su intérprete de comandos de la siguiente manera:

$ mysql

Salida

mysql>

Es posible que deba proporcionar el nombre de usuario, la contraseña y el nombre de host de mysql, use:

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

mysql>

Para enumerar la base de datos, escriba el siguiente comando

mysql> show databases;

Salida

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

information_schema y mysql son nombres de bases de datos. Para usar estas bases de datos y para enumerar las tablas disponibles, escriba los dos comandos siguientes:

mysql> use mysql;

Salida:

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

Ahora enumere las tablas:

mysql> show tables;

Salida:

+---------------------------+
| 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 consola predeterminada es buena y bonita, pero quizás sea más bonita mycli(y es la alternativa de Postgres pgcli).

Instalación : en Ubuntu 16.04+ está en repositorios oficiales: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

captura de pantalla

Referencia


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.