En la anterior entrega de la serie dimos los primeros pasos firmes en el mundo de MySQL y aprendimos a iniciar y cerrar una sesión contra el servidor. Hoy, ya con más confianza, crearemos nuestra primera base de datos.
Si tienes cierto conocimiento sobre bases de datos relacionales (aunque sea gracias a Access) ya sabrás que una base de datos es un contenedor en el que almacenamos información relacionada y organizada en una serie de estructuras que son las tablas. Antes de que diseñemos las tablas en sí, es preciso que creemos ese contenedor.
Supongamos que deseamos organizar la biblioteca de casa. Queremos tener registro de todos nuestros libros y de todo lo que sucede con ellos. Deseamos poder efectuar búsquedas por autor o por categorías, saber su ubicación exacta, tener un control de los préstamos, o cualquier otra información que nos pudiera ser útil. El primer paso es crear la base de datos, ese contenedor que almacenará toda esa información.
Inicia sesión en MySQL tal como explicamos en el artículo anterior. Si todo va bien, deberás tener a tu disposición el prompt de MySQL.
mysql>
Para crear una base de datos SQL dispone del comando CREATE DATABASE, seguido por el nombre de la base de datos:
mysql> CREATE DATABASE biblioteca;
Query OK, 1 row affected (0.00 sec)
La segunda línea nos confirma que todo ha ido correctamente y nos devuelve incluso el tiempo que ha tardado en realizar la operación.
No es necesario escribir CREATE DATABASE con letras mayúsculas, pero hacerlo es un convenio común adoptado por todos los programadores SQL, diferenciando así de un vistazo, el comando del argumento. Si hubieses escrito create database, en su lugar, el resultado habría sido el mismo.
Sin embargo, mucho cuidado al escribir biblioteca. Dependiendo del sistema operativo que utilices, será sensible a mayúsculas o no. En Windows daría igual escribir BIBLIOTECA que biblioteca, pero en Linux se trataría de bases de datos diferentes.
Observa también el punto y coma con el el que finalizamos el comando. Si por algo se te olvida, no te preocupes, tendrás ocasión de introducirlo en la siguiente línea:
mysql> CREATE DATABASE biblioteca
-> ;
Query OK, 1 row affected (0.00 sec)
A modo de ejemplo, vamos a crear una segunda base de datos para almacenar nuestros contactos personales:
mysql> CREATE DATABASE contactos;
Query OK, 1 row affected (0.00 sec)
El comando SHOW DATABASES nos devuelve un listado con todas las bases de datos existentes. Veámoslo en acción:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| biblioteca |
| contactos |
| mysql |
+--------------------+
4 rows in set (0.00 sec)
Además de las bases de datos biblioteca y contactos nos encontramos con otras dos que han sido creadas por el sistema.
Vamos a eliminar ahora la base de datos contactos. El comando SQL que nos permite realizar esto es DROP DATABASE:
mysql> DROP DATABASE contactos;
Query OK, 0 rows affected (0.00 sec)
Comprobemos que ha desaparecido del listado:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| biblioteca |
| mysql |
+--------------------+
3 rows in set (0.00 sec)
Fin de la excursión. Desconéctate del servidor con
mysql> exit
Bye
exit es un ejemplo de comando que no requiere punto y coma al final.
Ya hemos creado nuestra primera base de datos, biblioteca, contenedor en el que almacenaremos todos los objetos relacionados con nuestra colección de libros. Ya casi estamos en condiciones de crear las tablas, pero antes será necesario un paso previo…
Javier Montero Gabarró
Fecha de la última revisión: 30 de abril de 2012
El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)
El Club del Autodidacta
excelente forma de explicar tengo una pregunta soy nuevo en esto asi que quiero saber como puedo guardar una tablas ya creada con campos y registros pero volverlo a guardar con otro nombre despues de modificar sus campos y registros y asi sucesivamente porfavor
En primer lugar, crea una tabla vacía con la misma estructura que la anterior:
CREATE TABLE nueva LIKE vieja;
y luego llénala con los datos de la vieja:
INSERT INTO nueva SELECT * FROM vieja;
Saludos
mucho gusto Javier te agradezco por la respuesta a mi pregunta y si la verdad que me sirvió de mucho gracias y bueno te tengo otra pregunta por favor lo que que pasa es que ahora quiero esa «nueva» tabla que cree y las demás que cree poderlos volverlos a utilizar con todos sus datos en la unica tabla «vieja» que tenia.
te agradezco el tiempo que te tomas en leer el mensaje y responderlo muchas gracias esperando tu respuesta me despido
La manera más simple que tienes de hacerlo es renombrando la vieja, guardándola como copia de seguridad y renombrando a continuación la nueva con el nombre de la vieja. Por ejemplo:
RENAME TABLE tabla_vieja TO tabla_vieja_bak;
RENAME TABLE tabla_nueva TO tabla_vieja;
Saludos y suerte.
javier mucho gusto y gracias `por la respuesta bueno tengo una intriga y pienso como podria hacerse con un UPDATE porque esa era la manera con la cual quería hacerlo pero no sabia como actualizar todos los registros de una tabla vieja a una nueva y queria porfavor saber si por esta alternativa se puede realizar lo mismo por favor te lo agradezco
Vamos a ver… ¿la tabla nueva que has creado sustituye completamente a la vieja o debe fusionarse con ella?