COMO MANIPULAR MYSQL
Es muy normal que utilicemos MySQL a través de páginas PHP y para administrar la base de datos utilicemos un programa como PhpMyAdmin, pero a veces no nos queda de otra que acceder a la base de datos a través de la línea de comandos.
MySQL tiene un programa, que se llama con el mismo nombre de la base de datos (mysql) que sirve para gestionar la base datos por línea de comandos. Ese programa, en una instalación de Windows se encuentra en un directorio como
C:\Archivos de programa\MySQL\MySQL Server 4.1\bin
El directorio puede variar, por ejemplo, puede estar localizado en la raíz del disco C:, o en cualquier otro lugar donde podamos haber instalado MySQL. Para acceder a la consola de MySQL en Windows tendremos que estar situados dentro de ese directorio.
En Linux, por supuesto, también se puede acceder a MySQL por línea de comandos. Posiblemente desde cualquier directorio podamos acceder a la consola de MySQL, sin necesidad de situarse en el directorio donde esté instalado.
Conectar con el servidor MySQL
Lo primero que tendremos que hacer es conectar con el sistema gestor de MySQL.
Para ello, desde la línea de comandos invocamos a MySQL. Para ello, simplemente
tenemos que escribir el comando "mysql" e indicarle unas opciones de
conexión.
Lo más normal es que tengamos que indicar algún otro dato para conectar con la
base de datos, como el usuario, la clave o la dirección del servidor con el que
queremos conectar. La sintaxis sería la siguiente:
mysql -h nombre_servidor -u nombre_usuario -p
Si deseamos conectarnos a la base de datos en local y con nombre de usuario
root tendríamos que escribir:
mysql -u root -p
mysql -u root -p
Lo primero que nos preguntará será el password para el usuario root. Una vez
introducida la clave, ya estaremos dentro de la línea de comandos de MySQL. Con
ello el prompt cambiará a algo como esto:
mysql>
Podríamos haber indicado la contraseña directamente en la línea de comandos
para iniciar la sesión con MySQL, pero esto se desaconseja por razones de
seguridad. De todos modos, la sintaxis hubiera sido:
mysql -u root -pmi_clave
mysql -u root -pmi_clave
Nos fijamos que hay un espacio en blanco entre -u y el nombre de usuario(root). Sin embargo, entre -p y la clave no
debemos poner ningún espacio.
Dentro de la consola de MySQL
Una vez dentro, tendremos a nuestra disposición todas las sentencias de MySQL para el trabajo con la base de datos y el lenguaje SQL.
Lo más normal es que primero te tengas que conectar con una base de datos en concreto, de entre todas las que puedes tener creadas en tu servidor MySQL. Eso se hace con el comando use, seguido del nombre de la base de datos que deseas conectar.
mysql> use miprimerabasedatos;
Esto nos conectaría con la base de datos llamada "miprimerabasedatos".
Atención: Hay que fijarse que todas las sentencias dentro de la línea de comandos de MySQL acaban en ";". Si no colocamos el punto y coma, lo más seguro es que no se ejecute el comando y nos vuelva a salir el prompt para que sigamos introduciendo el comando. Si lo que queríamos era ejecutar la sentencia que habíamos escrito antes, con simplemente entrar el ";" será suficiente. Es decir, no debemos escribir de nuevo la sentencia entera, sólo el ";" y volver a apretar "enter".
Si queremos ver una lista de las bases de datos alojadas en nuestro servidor podemos escribir el comando show databases. Así:
mysql>show databases;
Con esto nos mostraría una lista de las bases de datos de nuestro servidor. Algo como esto:
mysql> show databases;
Si queremos crear una base datos, podremos hacerlo con el comando "create database" seguido del nombre de la nueva base de datos.
Eso nos creará una base de datos que se llama "miprueba". Como habíamos comentado, si queremos luego usar esa base de datos escribiríamos:
Lógicamente, esta base de datos recién creada estará vacía, pero si estuviéramos usando una base de datos ya creada y queremos ver las tablas que tiene escribiríamos el comando "show tables".
mysql> show tables;
Si no hay tablas, nos dirá algo como "Empty set", pero si tenemos varias tablas dadas de alta en la base de datos que estamos usando, nos saldrá una lista de ellas:
Ahora, procederemos a crear una tabla. Podremos crearla utilizando el comando: create table mas nombre_tabla mas (nombre_campo mas tipo_dato mas (numero_caracteres_que_acepta)).
Ejemplo:
Eso nos creará una tabla llamada "prueba" y tiene un campo llamada ID que es de tipo int y su extensión es de 5 caracteres.
Tipos de datos mas comunes en MySQL.
Aquí tienen algunos tipos de datos que mas se utilizan
en MySQL:
Integer, Int: número
entero con o sin signo. Con signo el rango de valores va desde -2147483648 a
2147483647. Sin signo el rango va desde 0 a 429.4967.295
Double: números
reales (grandes y con decimales). Permiten almacenar todo tipo de número no
entero.
Char: almacena
una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres.
Varchar: almacena una cadena de longitud
variable. La cadena podrá contener desde 0 a 255 caracteres.
Date: tipo
fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001
al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia
DateTime: Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos
Otras Sentencias SQL
Desde la consola de MySQL podemos indicar por línea de comandos todo tipo de
sentencias en lenguaje SQL, como selecciones, inserciones, actualizaciones,
creación de tablas, etc. El mecanismo es el que se puede deducir. Simplemente
colocamos la sentencia a ejecutar seguida del punto y coma. Veamos una serie de
sentencias seguidas y el resultado de ejecutarlas:
Ahora ingresaremos algunos datos a la tabla. Para eso escribiremos insert into mas nombre_tabla mas (nombre_campo) mas values mas (valor_a_ingresar)
Ejemplo:
y esa misma utilizamos hasta ingresar todos los datos que se quieren.
mysql> insert into prueba (id) values (2);
Query OK, 1 row affected (0.00 sec)
mysql> insert into prueba (id) values (3);
Query OK, 1 row affected (0.00 sec)
Para visualizar los datos insertados en la tabla utilizamos la siguiente sentencia:
select mas * mas from mas nombre_tabla;
Ejemplo:
Y nos muestra los datos que ingresamos.
Para salir de la línea de comandos de MySQL
Una vez hemos terminado de trabajar con MySQL, si queremos cerrar la conexión
con el servidor, simplemente escribimos "quit" desde el prompt de
MySQL: