Línea de comandos

En la introducción a MySQL muestro algunas aplicaciones que se pueden utilizar para interactuar con MySQL y es probable que te preguntes ¿Por qué utilizar la línea de comandos – terminal – si existen aplicaciones especializadas?

En el contexto de estas publicaciones es por dos razones:

  1. Los datos de conexión que utilices para conectarte con la línea de comandos – terminal – son los que vas a utilizar con PHP. *
  2. Aunque es poco probable que necesites conectarte a MySQL utilizando la línea de comandos – terminal -, no está de más conocer cómo hacerlo y cómo llegar hasta la base de datos con la que quieres trabajar.

* Dependiendo del proveedor y tipo hospedaje – hosting – que tengas. Es probable que por seguridad no esté permitido este tipo de conexiones de manera remota, si tu administras tu hosting – o te dan acceso de administrador – es probable que tengas que hacer una conexión utilizando SSH. Una vez que iniciaste sesión utiliza la línea de comandos para interactuar con MySQL.

Para utilizar MySQL desde la línea de comandos – terminal – es necesario iniciar MySQL como cualquier otra aplicación.

Si estás utilizando XAMPP / MAMP / WAMP abre el menú de control e inicia MySQL – no es necesario iniciar Apache.

Si instalaste MySQL directamente revisa si existe el comando mysql para poder ejecutar mysql desde tu ubicación actual, si no es así tienes que buscar la carpeta donde está el binario – la aplicación – de mysql y ejecutarlo desde ahí – o crear una variable de ambiente / agregarlo al PATH pero eso no lo vamos a ver -.

Para este ejemplo caso estoy usando homebrew. Para iniciar mysql desde la línea de comandos tengo que teclear.

# Iniciar mysql desde 
# la línea de comandos
# utilizando homebrew

$ mysql.server start

Para detenerlo tecleo:

# Detener mysql desde 
# la línea de comandos
# utilizando homebrew

$ mysql.server stop

Con XAMPP / MAMP / WAMP se detiene desde el panel de control.

Si no has abierto la línea de comandos – terminal – es momento de hacerlo.

En windows en el buscador de Aplicaciones – hasta windows 7 era menú inicio + buscar – teclea CMD y aparece una aplicación que representa la pantalla de una computadora. Dale click.

En OS X la Terminal está en /Applications/Utilities – /Aplicaciones/Utilidades – o CMD + U

Una vez abierta la línea de comandos tienes que ir a donde está la aplicación de MySQL

# MySQL está en las siguientes
# ubicaciones

# XAMPP en windows 
C:\> cd  xampp\mysql\bin

# XAMPP en OS X:
$ cd /Applications/XAMPP/xamppfiles/bin

# MAMP en OS X: 
$ cd /Applications/MAMP/Library/bin

Una vez que estás en la ubicación donde está mysql y que se esté ejecutando vamos a iniciar sesión

# si no se especifica el equipo
# se asume que es localhost
# opción  h
$ mysql -h localhost -u root  

# Al utilizar -p mysql va a visualizar
# un prompt para preguntar por la contraseña.

$ mysql -h localhost -u root -p

# Si se quiere especificar la contraseña
# al momento de la conexión
# NO hay que dejar espacio entre 
# -p y la contraseña

# Si MySQL utiliza sockets
# podemos especificar la ubicación
# del socket en el sistema de archivos
# con --socket
# y utilizar las opciones para 
# determinar el usuario y la contraseña

$ mysql --socket=/var/mysql/mysql.sock -u root
$ mysql --socket=/var/mysql/mysql.sock -u root -p
$ mysql --socket=/var/mysql/mysql.sock -u root -proot

$ mysql -h localhost -u root -proot

# Estas configuraciones utilizan
# el puerto 3306 para conectarse
# a MySQL
# Si utilizar MAMP o sabes que 
# MySQL está utilizando otro puerto
# puedes agregar la opción -P

# MAMP utiliza el puerto 8889 para MySQL

$ mysql -h localhost -P 8889 -u root  

Iniciar mysql desde la linea de comandos

Prompt

Al utilizar la consola, el prompt de mysql se puede visualizar de las siguientes maneras:

mysql>
Prompt predeterminado.
MySQL está listo para recibir instrucciones – es la línea que se visualiza después de Type ‘help’ en la imagen anterior -.

->
Espera la siguiente línea, de una instrucción que más de una línea.
MySQL prompt guión

‘>
Espera la siguiente línea, indica terminar una cadena que inicia con un apóstrofe ( ‘ ).

MySQL prompt comillas simples

«>
Espera la siguiente línea , indica terminar una cadena que inicia con comillas ( » ).

MySQL prompt comillas dobles

Sentencias para trabajar en la línea de comandos

Algunas sentencias que nos van a ayudar a trabajar en la línea de comandos son.

SELECT VERSION();
Muestra la versión de MySQL que se está utilizando.

mysql> SELECT VERSION( );

SELECT USER( );
Muestra el usuario con el que se inició sesión.

mysql> SELECT USER( );

SHOW DATABASES( );
Muestra las bases de datos existentes en el sistema.
Estas bases de datos son las que el usuario – que inició sesión – tiene el permiso de utilizar.

mysql> SHOW DATABASES( );

USE nombre_base_datos;
Utiliza la base de datos nombrada para trabajar.

mysql> USE nombre_base_datos;

SHOW TABLES( );
Muestra las tablas existentes en la base de datos seleccionada.
Estas tablas son las que el usuario – que inició sesión – tiene el permiso de utilizar.

mysql> SHOW TABLES( );

DESCRIBE nombre_tabla;
Muestra la estructura de la tabla seleccionada.

mysql> DESCRIBE nombre_tabla;

exit;
Sale de la consola de MYSQL al Sistema Operativo.

mysql> exit;

Recuerda:

Una vez que iniciaste sesión en MySQL y que elegiste la base de datos con la que quieres trabajar puedes utilizar todas las sentencias que hemos visto – distintos operadores, ordenar, limitar, consultar más de una tabla, etc. – pero ten en cuenta lo siguiente:

Las sentencias deben terminar con punto y coma.
Los resultados de las consultas se muestran en filas y columnas.
La primera fila contiene los nombres de las columnas.
Las filas siguientes contienen los resultados de la consulta.
Si el contenido a visualizar es mucho es probable que haya desplazamiento en los renglones y no se pueda leer el resultado.