jueves, 15 de mayo de 2014

Modos de ejecución de comandos en MySQL



Cuando se ejecute un comando SQL desde el cliente MySQL se disponen de dos modos, el modo interactivo y el modo por lotes (o batch):

A continuación se describe el uso de ambos modos:

1. Modo por Lotes (o batch): Consiste en la ejecución del cliente sin necesidad de abrir la interfaz MySQL, ya que se redirige la entrada de datos desde un fichero (script) que contiene todas las instrucciones SQL separadas por el carácter punto y coma (;) y que van a interpretarse una a una, si se produce un error en alguna de ellas, se detendrá la ejecución del script emitiendo el correspondiente mensaje de error. Esto requiere la siguiente orden:


#> mysql < batch-file


Si se necesitara incluir parámetros de conexión en la línea de comandos, el comando podría verse así:

#> mysql -u user -p < batch-file
Enter password: ********
Si se desea que el script continúe su ejecución aunque alguna de sus sentencias produzca errores, se debe agregar la opción –force en la línea de comando.


Cuando utilizar el modo por lotes del MySQL:
  • Cuando se tenga que realizar la misma instrucción varias veces, ya sea diaria o semanal. Resulta conveniente realizar un script y así evitar volver a escribir cada vez que se requiera realizar la instrucción
  • Cuando se requieran ejecutar varias instrucciones SQL.
  • Cuando se crea una instrucción que contenga múltiples líneas o múltiples sentencias. Si se comete un error, no se necesita reescribir todo.
  • Cuando se ejecuta una consulta y la salida es muy extensa, puede ejecutarse a través del paginador more en lugar de ver desaparecer rápidamente el resultado por la parte superior de la pantalla: shell> mysql < batch-file | more
  • Cuando se requiera una consulta que debe ser enviada a un fichero para un proceso posterior:
  • shell> mysql < batch-file > mysql.out
  • Cuando no se permite la interactividad. Por ejemplo, cuando se realiza una tarea de cron (Linux) solo puede emplearse ejecuta una consulta a través de una tarea de cron (en Linux). En este caso, debe emplearse el modo por lotes.

Ejemplo de como utilizar el modo por lotes:
Mostrar las Base de datos que están en MySQL y la estructura de la tabla "user" de la base de datos "mysql":

1. Utilizando un editor de texto (nano, gedit, etc) crear el archivo "ejemplo1.txt" con los siguientes comandos de MySQL:
SHOW DATABASES;
USE mysql;
DESCRIBE user;

2. Una vez guardado, ejecutar desde el terminal la siguiente instrucción:
#> mysql -u user -p < ejemplo1.txt
Enter password: ********


2. Modo interactivo: Se realiza dentro del entorno del cliente MySQL, se ejecuta el comando mysql con ciertos parámetros para ingresar a la interfaz del MySQL. El MySQL muestra un "prompt" en el cual el servidor interpreta cada instrucción escrita por el usuario y la ejecuta de manera inmediata.
Aquí podrá saber Cómo conectarse y desconectarse del MySQL de modo Interactivo



No hay comentarios:

Publicar un comentario