Translate

viernes, 22 de junio de 2012

MYSQL, Mi Base de Datos

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

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

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: