Ejecución de sentencias SQL en una sola línea de comando – MySQL / Linux

Hola a todos. Esta entrada es muy puntual y básico, pero es necesario conocer esta posibilidad porque nos puede servir para automatizar procesos (crontab); por tanto, les comparto la forma de cómo ejecutar una (o varias) sentencias SQL en una sola línea de comando desde Linux (Ubuntu en específico).

A continuación, la línea de comando:

mysql -u root -pMiPasswd miBaseDeDatos -Bse "update tabla set c2='1' where c1=1;"

Donde:

  • -u root → Es el parámetro para asignar un nombre de usuario; en este caso, root.
  • -pMiPasswd → Es el parámetro para ingresar una contraseña; en este caso, la contraseña está vista en la línea de comando (MiPasswd), lo cual puede ser un poco inseguro pero igual; si solo nosotros administramos el server…
  • miBaseDeDatos → El nombre de la base de datos desde donde se quiere ejecutar la sentencia SQL.
  • -Bse
    • B → Batch | Si se trata de un SELECT , se muestran los resultados usando el TAB como separador de columnas y un salto de línea por cada registro.
    • s → Silent | Da como resultado un formato de salida no tabular y el escape de caracteres especiales. Muestra menos información en la salida.
    • e → Execute | Ejecuta la sentencia y luego se sale.
  • {Sentencia SQL} Separado por el » ; «, se pueden ejecutar todas las sentencias que se permite.
Ejemplo 1.

A continuación, un ejemplo de un SELECT con únicamente un parámetro, o sea, el necesario: -e :

Ejemplo 2.

Bien, espero que la información les haya servidor. Saludos.

Comentarios por Facebook

comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*