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á.