Actualizado el 14-01-2007
versión para imprimir

el prompt de mysql

En anteriores entregas hemos visto lo básico sobre el daemon (mysqld) y mysqladmin, utilidad esta que nos sirve, sobre todo, para crear y borrar las bases de datos. A partir de aqui nos manejaremos sobre todo con mysql, el programa cliente.

En el uso diario de mysql probablemente no utilizaremos mucho la linea de comandos, ya que utilizaremos scripts como phpmyadmin para las tareas administrativas y las propias páginas php (o perl) para explotar nuestra base de datos. Sin embargo, la linea de comandos es la forma por defecto de usar la base de datos, y es imprescindible estar familiarizado con ella.

Para acceder abrimos una sesion DOS y navegamos hacia el directorio bin de la instalación mysql. Una vez alli tecleamos mysql, que es el nombre del programa cliente. Primera cuestión. Si tenemos creado un usuario, hemos de entrar con ese nombre:

C:/mysql/bin>mysql -u root -pmicontraseña
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2 to server version: 3.23.43

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>_

Bien, cosas que hay que ver aqui: ya sabemos que la forma de meter nombre de user y pass es con las opciones -u y -p. Ten en cuenta que si solo pones -p (sin la contraseña detrás) el sistema te pedirá que la introduzcas en cuanto intentes ejecutar la orden. Si quieres dar directamente la contraseña, advierte que has de escribirla inmediatamente detrás de la opción -p, esto es, sin espacios. Es preferible usar la opción -p sin contraseña y escribirla despues, por razones de seguridad (si la metes junto a la opción -p estas escribiendo tu passw de modo visible a todos). Fijate que el prompt del sistema ha cambiado a mysql>

Las instrucciones que podemos dar aqui son las que corresponden a la versión mysql del lenguage SQL (lenguaje de consultas estructurado).

Para introducir una orden hemos de teclearla y ordenar la ejecución pulsando punto y coma (;) o 'g'. La tecla ENTER no es aqui la tecla de ejecución, su unico efecto es el de introducir una línea nueva. Veamos:

mysql> show tables
    -> ;
+----------------+
| Tables_in_irv1 |
+----------------+
| tablalib       |
+----------------+
1 row in set (0.39 sec)

mysql>

Fijate que hemos tecleado la orden show tables para que mysql nos muestre las tablas que existen en la base de datos en uso (en este caso era irv1). Al pulsar ENTER el sistema simplemente introdujo una linea en blanco y siguió a la espera. Al teclear en la segunda línea el punto y coma, ejecutó la orden.

Como ya he escrito varias veces antes, la linea de comandos es en muchas ocasiones una herramienta mas rápida y poderosa que una interfaz gráfica. No obstante hay que reconocer que DOS no tiene una linea de comando muy amigable. Recuerda que puedes cargar la utilidad de DOS doskey que te facilitará la vida al permitirte reproducir los ultimos comandos utilizados pulsando la flecha de cursor hacia arriba. Y ten en cuenta que si decides que no quieres ejecutar un comando que está en proceso de introducción, puedes cancelarlo tecleando c :

mysql> SELECT
-> USER
-> c
mysql> 
El siguiente cuadro muestra cada uno de los prompts que puedes ver cuando uses mysql:
mysql> Listo para un nuevo comando
->     Esperando una nueva línea 
'>     Esperando la siguiente línea, hay una cadena abierta con '
">     Esperando la siguiente línea, hay una cadena abierta con "

Las sentencias multi-línea ( prompt ->) ocurren normalmente cuando nos equivocamos y pulsamos ENTER para ejecutar un comando. En ese caso, completamos la orden en la siguiente linea pulsando ; y listo. Pero tambien es muy util para introducir ordenes largas con mayor comodidad, separando la entrada en varias lineas.

Los prompts '> y "> tienen lugar cuando introducimos una orden multilinea, y en la linea o lineas precedentes hay una cadena sin terminar. La cadena comienza con una comilla simple o doble, y al incluir esa comilla en el prompt, mysql nos recuerda que tenemos que cerrarla antes de ejecutar la orden.

Ten en cuenta que mientras no cierres la cadena con su comilla correspondiente, todo lo que teclees (incluido c de cancelar y quit o exit) será considerado por mysql como simple texto parte de la cadena, y no lo ejecutará.

This site powered by Phorum.