1. Abrir phpMyAdmin
El programa phpMyAdmin viene integrado en el paquete XAMPP con el que
hemos instalado php. para abrirlo vamos a la página de bienvenida de XAMPP, la
cual, si no hemos cambiado el archivo "index.php" de la carpeta "htdocs",
podemos abrirlo escribiendo en el navegador: http://localhost
En esta página, en la columna de la izquierda, veremos un apartado que pone
"herramientas", y dentro de el "phpMyAdmin", pulsamos, y se nos abre el
programa.
También podemos abrirlo escribiendo en la ventana del
navegador http://localhost/phpmyadmin
Una vez abierto obtenemos la siguiente ventana:
En esta página nos fijamos donde pone Crear nueva base de datos, debajo,
en la ventana de la izquierda escribiremos el nombre de la nueva base de datos
que queramos crear, y después pulsamos el botón "crear".
Vamos a crear una base de datos como ejemplo, la cual seguiremos
rellenandola en los siguientes pasos que demos. Conviene, antes de crear una
base de datos, hacer una planificación de la misma, es decir, planificar sobre un
papel cuantas tablas va a tener, que columnas van a ir en cada tabla, y qué
relaciones van a tener unas tablas con otras.
Nuestra base de datos va a tratar de escritores y obras literarias, por lo que la
planificaremos de la siguiente manera:
2. Tablas Campos
idAutor
Autor
Año Nacimiento
Año Fallecimiento
Autores
Lugar nacimiento
Vida
Estilo
refEpoca
idObra
Título
año 1ª edición
Argumento
Obras
Crítica
refAutor
refEpoca
refGenero
idEpoca
Época Época
Tiempo comprendido
idGenero
Género
Género
Y estas son las relaciones que hay entre las tablas:
Tipos de campos
3. Observamos que aparte de los campos o columnas normales que debe tener
la tabla, hemos introducido otros campos, los cuales utilizaremos para crear las
relaciones entre las tablas.
Los campos que empiezan por "id" sirven para identificar cada registro, para
ello haremos que sean campos con auto incremento, es decir que el primer
registro tendrá el número uno, y al crear nuevos registros, se aumenta el número
del anterior en una unidad, así los registros quedan numerados. Es lo que se llama
una campo indexado, en el cual se crea una clave primaria que identifica de
manera única a cada registro.
Los campos que empiezan por "ref" serán los que estén relacionados con
otros registros de otras tablas, de manera que podamos vincular estos datos a
otras tablas. Es decir,si un dato está vinculado a otro, esto implica que al cambiar
el primero, se cambia automáticamente el segundo.
Además los campos pueden clasificarse según el tipo de contenido que
puedan admitir, por ejemplo, los campos de auto incremento son campos de
número entero. Según el tipo de contenido los campos pueden ser:
Contienen tanto cifras como letras, podemos escribir en ellos cualquier cosa hasta
Alfanuméricos 255 caracteres.
Entero Se pueden escribir números enteros.
Decimales Admite tanto números enteros como decimales.
Fechas Para almacenar fechas, pueden admitir distintos formatos de fecha.
Memo Campos alfanuméricos de longitud ilimitada.
Tal como se ha visto con los campos "id" son campos que contienen números
Autoincrementables enteros, los cuales se incrementan en una unidad cada vez que se crea un nuevo
registro.
Una vez que tenemos diseñada la estructura de la base de datos, pasaremos
a crear la base de datos, abrimos phpMyAdmin, y debajo de donde pone "crear
nueva base de datos, (casilla izquierda), escribimos "Literatura", después
pulsamos el botón "crear.
Crear tabla
En la página anterior creamos la base de datos "Literatura". Para ello hemos
abierto phpMyAdmin, y donde pone "crear nueva base de datos" escribimos
"Literatura" y pulsamos en "crear".
Nos aparece otra pantalla, en ella en la parte central tenemos lo siguiente:
4. imagen 1
Nos fijamos en el recuadro "crear nueva tabla en la base de datos literatura",
Donde pone "nombre" escribimos "Autores", que será el nombre de la primera
tabla, y donde pone número de campos ponemos "1". De momento vamos a crear
la tabla con un campo, luego iremos añadiendo los demás.
Crear campo
Pulsamos luego en continuar y nos sale otra pantalla, en ella nos fijamos en el
siguiente cuadro:
5. imagen 2
Definimos aquí el campo o columna que queremos crear, para ello se
necesitan algunos datos:
Campo: Escribimos aquí el nombre del campo que queremos crear. En nuestro
caso escribiremos idAutor
Tipo: Se define el tipo de campo, es decir si es alfanumerico, entero, de fecha,
memo, etc. Para ello elegimos entre las distintas opciones de la lista desplegable,
la cual explicaremos más adelante. de momento elegimos "INT", que indica que es
un número entero.
Longitud/Valores: Se define aquí la longitud del campo. En caso de texto escrito
es el maximo número de caracteres. Nosotros escribiremos 6
Predeterminado: Indica el valor del campo en caso de que se quede sin rellenar.
Lo normal es poner "NULL", si queremos marcar que está vacío. o "como fuera
definido" si queremos que muestre algún valor. En este caso, escribiremos en el
recuadro inferior el valor predeterminado lo que debe mostrar. Nosotros lo
dejaremos con "NULL"
Indice: Aquí elegimos entre distintas opciones, Como es un campo debe contener
la clave primaria elegiremos "PRIMARY".
AUTO_INCREMENT: marcamos esta casilla, ya que será un campo con auto
incremento.
El resto de casillas las dejamos en blanco.
6. Una vez escritos todos los datos, vamos a la parte inferior de la página, y
pulsamos donde pone "Grabar". Nos aparecerá otra pantalla, la cual
comentaremos más adelante, de momento vamos a explicar lo que hemos hecho.
Los tres primeros datos que nos piden son obligatorios, de otra manera nos
da un mensaje de error y el campo no se crea. El dato "Predeterminado",
debemos ponerlo en "NULL" si el campo es numérico (entero o decimal), y no
queremos un valor predeterminado. Los otros datos son opcionales, indicando
algún valor, dependiendo del tipo de campo que queramos tener.
Tipos de campo
En la casilla "Tipo, debemos poner el tipo de campo que queremos tener,
según el tipo de campo, elegiremos las siguientes opciones:
Alfanumérico: "VARCHAR" o "CHAR".
Número entero: "INT" o también "TINYINT", "SMALLINT" o "MEDIUMINT". la
diferencia entre ellos está en el margen de números que puede aceptar.
Número decimal: "DECIMAL", "FLOAT", "DOUBLE" o "REAL".
Fecha: "DATE", "DATETIME", "TIMESTAMP", "TIME" o "YEAR". Las diferencias
entre ellos están principalmente en el formato de la fecha.
Memo: "TEXT", "TINYTEX", "MEDIUMTEXT" o "LONGTEXT. La diferencia entre
ellos está principalmente en la longitud del texto que puede guardarse.
Crear nuevos campos
Después de pulsar el botón "grabar" para crear el primer campo, nos aparece
otra pantalla: Nos fijamos también en la parte central:
imagen 3
Vemos la estructura de la tabla, con sus campos, como de momento sólo
tenemos un campo, sólo aparece uno. Debajo de la tabla vemos que pone "Añadir
7. 1 campo(s)"; el número "1" podríamos cambiarlo por otro número, pero vamos a
dejarlo así. Marcamos esta ocpión y pulsamos luego en "continuar".
Nos aparecerá otra vez la pantalla vista antes para crear un campo, (imagen
2), pero ahora rellenaremos los datos de otra manera, ya que vamos a crear el
segundo campo. Estos serán los siguientes:
Campo: Autor - Tipo: VARCHAR - Longitud/Valores: 255 -
Predeterminado: none - Índice: "UNIQUE"-.
El resto de casillas las dejaremos en blanco.
imagen 4
La diferencia entre los índices "PRIMARY" y "UNIQUE", está en que
"PRIMARY" crea una clave principal que es una referencia para diferenciar los
registros de la tabla, mientras que "UNIQUE" sólo nos garantiza de que no pueda
haber dos celdas iguales, en diferentes registros, dentro del mismo campo.
Una vez rellenas las casillas podemos optar por volver a la tabla, (imagen 3),
pulsando en "grabar", donde repetiremos el proceso para insertar un nuevo
campo; o pulsar en "continuar" para seguir en la misma pantalla pero para insertar
otro campo.
imagen 5
Seguimos añadiendo los campos que faltan para completar la tabla, en los
cuales insertaremos los siguientes datos:
Campo Tipo Longitud/Valores Predeterminado
8. Año nacimiento INT 4 none
Año fallecimiento INT 4 none
Lugar nacimiento VARCHAR 255 none
Vida TEXT 1000 none
Estilo TEXT 1000 none
refEpoca varchar 255 none
Para ello repetimos el proceso visto hasta ahora para crear los campos. Los
datos que no hemos dado los dejamos en blanco. Al acabar el último campo
pulsamos en "grabar".
La Tabla la veremos ahora de la siguiente manera:
imagen 6
El prodecimiento para crear el resto de tablas es exactamente el mismo, pero
esto lo veremos en la próxima página.
Trabajar con una tabla
En la página anterior creamos la primera tabla de nuestra base de datos,
ahora vamos a detenernos en explicar las opciones que se presentan para trabajar
con la tabla. Esta era la imagen de la tabla:
9. imagen 1
Vemos que a la derecha de cada campo tenemos una serie de iconos, los
cuales se repiten debajo de la tabla por si queremos seleccionar más de un
campo. Al pulsar sobre ellos se abren distintas opciones- Estos son los botones:
: Examinar. Muestra la vista de todos los datos que hay guardados en las
columnas que hemos señalado. También podemos elegir esta opción con todos
los campos de la tabla en la parte superior de la página.
: Cambiar. Abre la misma pantalla que cuando creamos un campo, desde
ahí permite cambiar la estructura del campo.
: Eliminar. Elimina el campo señalado. Antes de eliminarlo definitivamente
sale una pantalla que pregunta si realmente se desa eliminar.
: Clave Primaria. Crea una clave primaria en el campo señalado.
: Clave Unica. Crea una clave única en el campo señalado.
: Índice. Crea una indice para el campo señalado.
Crear las tablas que faltan.
Siguiendo con la base de datos que habiamos diseñado en las páginas
anteriores, debemos crear las tablas que faltan, para ello lo primero es
posicionarse en la página inicial de la base de datos. Para ello, desde la página
inicial de phpMyAdmin, en la columna de la izquierda se muestran las bases de
10. datos que hay en el programa. Elegimos la base de datos "literatura" y pulsamos
en ella.
Si no estamos en la página principal, siempre podemos volver a ella desde la
parte superior izquierda del cuadro principal, donde pone "Servidor: localhost".
Una vez posicionados, veremos en el cuadro principal lo siguiente:
Prodecemos igual que para crear la primera tabla, por lo que en el cuadro de
abajo, donde pone "crear nueva tabla en la base de datos literatura", insertaremos
el nombre de la tabla en "nombre", y pondremos un "1" en "Número de campos".
Lo mismo haremos para las otras tablas, después de posicionarnos en la página
de inicio de la base datos.
Solo nos falta insertar los datos para crear las tablas, los cuales son los
siguientes:
Tabla obras
Campo Tipo Longitud/ Valores Predeterminado Índice AUTO_ INCREMENT
idObra INT 6 none PRIMARY Marcado
Titulo VARCHAR 255 none UNIQUE
Año 1ª edicion INT 4 none
Argumento TEXT 1500 none
Critica TEXT 1500 none
relAutor VARCHAR 255 none
relEpoca VARCHAR 255 none
relGenero VARCHAR 255 none
Tabla Epoca
11. Longitud/ AUTO_
Campo Tipo Predeterminado Índice
Valores INCREMENT
idEpoca INT 6 none PRIMARY Marcado
Epoca VARCHAR 255 none UNIQUE
Tiempo
VARCHAR 255 none
comprendido
Tabla Genero
Campo Tipo Longitud/ Valores Predeterminado Índice AUTO_ INCREMENT
idGenero INT 6 none PRIMARY Marcado
Genero VARCHAR 255 none UNIQUE
Relaciones entre las tablas
Una vez creadas las tablas abrimos la página de inicio de la base de datos,
allí veremos las diferentes tablas:
imagen 2
Para crear las relaciones entre las distintas tablas, en esta misma página,
vemos en la parte superior izquierda, un cuadro que pone "Diseñador". pulsamos
ahi, y se nos abre el siguiente panel:
12. imagen 3
Vemos que cada tabla está representada por una barra, estas barras
podemos cambiarlas de sitio arrastrándolas dentro del panel. Además si pulsamos
en la flecha azul de la izquierda, se abre la lista de los campos que contiene cada
tabla. Abrimos pues mediante la flecha azul todas las tablas, y las arrastramos
hasta una posición más cómoda:
13. imagen 4
Pulsamos después en el tercer botón de la parte superior, al detener el ratón
encima de este botón sale un cuadro que pone "crear relacion". Al pulsar sale un
cuadro con fondo verde que dice "Seleccione la llave de referencia". Llevamos el
ratón hasta el campo "Epoca" en la tabla epoca, y hacemos clic. El mensaje del
cuadro cambia, ahora pone "Seleccione la llave extranjera", ahora llevamos el
ratón al campo "refEpoca" de la tabla "Autores" y hacemos clic. Sale un cuadro
donde pone "crear relación", pulsamos en "ok" y vemos que las dos tablas quedan
unidas por una línea. Esto indica que están relacionadas. hacemos lo mismo con
las siguientes relaciones:
Desde "Autor" en tabla "Autores" hacia "refAutor" en tabla "Obras".
Desde "Genero" en tabla "Genero" hacia "refGenero" en tabla "Obras".
Desde "Epoca" en tabla "Epoca" hacia "refepoca" en tabla "Obras".
Una vez que hemos creado las relaciones anteriores el panel mostrará las
relaciones, de manera parecida al siguiente:
14. imagen 5
Ya tenemos la estructura de la base de datos acabada, ahora necesitamos
saber cómo introducir los diferentes datos. eso lo veremos en la proxima página.
Si queremos eliminar una relación pulsaremos en la parte final de la flecha
que las une, nos saldrá un cuadro que dice "Eliminar la relación", pulsamos en
"borrar" para eliminarla o en "cancelar" si queremos dejarla.
Abrir cuadro de introducir datos
Seguimos con la base de datos "literatura" creada en las páginas anteriores,
ahora debemos rellenar la base con algunos datos. para ello empezaremos por la
tabla "Genero". Abrimos esta tabla en phpMyAdmin, y vemos que en la parte de
arriba hay una serie de opciones:
Pulsamos sobre "insertar" y se nos abre una nueva pantalla:
15. Vemos que nos sale un panel para insertar nuevos registros en la tabla. Este
panel puede estar repetido, para insertar dos registros a la vez, si queremos
insertar sólo uno rellenaremos sólo la primera parte, y si queremos ver el panel
sólo para un registro, iremos a la parte de abajo , donde pone "reinicie la insercion
con 2 filas", cambiamos el 2 por el 1, y nos quedaremos con un solo panel para
insertar.
Los datos a insertar los escribiremos en la columna "Valor", para cada uno de
los campos. Los campos que empiezan por id (con autoincremento) no los
rellenaremos, por lo que aquí rellenamos el primer dato para el campo género,
Escribimos "Novela" y pulsamos luego en contiinuar:
La columna "Función", a no ser que queramos hacer algun tipo de operación
con los datos que insertamos, la dejaremos siempre en blanco. Vamos a la parte
de abajo, donde pone "grabar y luego volver", dejamos las opciones como están, y
debajo de ellas pulsamos en "continuar". Nos aparece la siguiente pantalla:
16. Nos aparece la tabla en vista "examinar", en la cual aparecen los diferentes
registros de la tabla. Si queremos ver la tabla en la vista que estaba antes,
pulsamos en la parte superior en "estructura" y si queremos volver a insertar un
nuevo registro pulsamos en la parte superior en insertar, y volvemos a comenzar
el proceso.
Seguiremos insertando nuevos registros en la tabla, con los siguientes valores
para el campo Genero: "poesía", "teatro". Recuerda que el campo "idGenero no
debe rellenarse al ser de auto incremento. Para ello pulsamos en insertar y
volvemos a repetir el proceso.
Es posible que al pulsar en "continuar" al acabar de insertar un registro, no
nos salga la vista "examinar" sino la vista "SQL", podemos cambiar la vista desde
la parte superior de la página, pulsando en examinar.
Ahora en vista examinar, veremos la tabla con los tres registros que hemos
incluido:
17. Como ves, hay también diferentes opciones para la manera en la que pueden
verse los registros o filas.
Rellenar las tablas con datos
Ahora que ya sabemos cómo introducir los datos, rellenaremos algunos datos
en el resto de las tablas. Empezamos por la tabla "Epoca" en la cual
introduciremos los siguientes datos:
Epoca Periodo comprendido
Edad Media Siglos X a XIV
Renacimiento Siglo XV
Barroco Siglos XVI y XVII
Neoclásico Siglo XVIII
Romanticismo Siglo XIX, primera mitad
Realismo Siglo XIX, segunda mitad
Generación 98 De 1890 a 1920
Generación 27 de 1920 a 1940
Actual De 1940 hasta hoy
Recuerda que el campo "idEpoca" no debe rellenarse, ya que es de auto
incremento. Una vez introducidos los datos, la tabla, en vista examinar, la veremos
así:
18. Para no alargar demasiado la página introduciremos sólo un registro en cada
una de las dos tablas que faltan. En los campos relacionados con otras tablas, no
escribimos el valor, sino que lo seleccionamos en una lista, esa lista son los
valores introducidos en el campo de la tabla con el que está relacionado.
En la tabla Autores introduciremos el siguiente registro:
Autor: Arcipreste de Hita
Fecha Nacimiento : 1280
Fecha Fallecimiento : 1351
Lugar Nacimiento : Alcalá de Henares
Vida : Fue clérigo y ejerció de arcipreste en Hita, actual provincia de Guadalajara.
Se conocen muy pocos datos de su biografía, apenas su nombre y el de uno de
los protagonistas de su libro, Ferrán García,
Critica: Fue el creador de una obra miscelánea predominantemente narrativa en
verso que constituye una de las obras literarias más importantes de la literatura
medieval española, el Libro de buen amor.
refEpoca: -Edad media (lo elegimos en la lista desplegable).
Y ahora en la tabla Obras introducimos el siguiente registro:
Obra: Libro del buen amor
Año 1ª edicion: 1330
Argumento: El libro contiene una colección heterogénea de diversos materiales
unidos en torno a una pretendida narración autobiográfica de asuntos amorosos
del propio autor,
Critica: Es una composición extensa y variada de 1728 estrofas. Está considerada
de forma unánime como una de las cumbres literarias españolas de cualquier
tiempo, y no solo de la Edad Media.
refAutor: -Arcipreste de Hita
refEpoca: -Edad media
refGenero: -Poesia
19. Aunque la base de datos ya esta funcionando, tenemos que solucionar
todavía algunos detalles, como lo de subirla al servidor, o poder hacer alguna
copia, etc. Esto lo veremos en la siguiente página.
Privilegios
En la parte superior de la página de PhpMyAdmin, vemos también otra serie
de opciones. Algunas de estas permiten realizar una serie de operaciones con las
bases de datos o con las tablas, otras dan información sobre el funcionamiento de
la base de datos y de phpMyAdmin.
Empezamos por la opción privilegios, si pulsamos ahí obtenemos la siguiente
pantalla.
20. Aquí tenemos la lista de usuarios, desde aquí podemos añadir o eliminar un
nuevo usuario, además si pulsamos en el último cuadro del usuario, (donde hay un
muñeco con un lapiz), podemos editar los privilegios. Desde ahí podemos añadir o
cambiar la contraseña para el usuario, y además elegir entre otra serie de
opciones.
Los privilegios, así como la contraseña puede ser para un usuario, o sólo para
una base de datos. Esto si estamos trabajando en el servidor local, ("localhost"),
en un ordenador personal nuestro, no tiene importancia, ya que no se suelen
poner contraseñas, pero si trabajamos en un ordenador compartido, o en el
21. servidor, es más que necesario poner contraseñas para que no puedan interferir
en nuestro trabajo.
La opción Exportar
Vemos también en la parte superior las opciones "Exportar", e "Importar".
La opción Exportar nos permite guardar nuestra base de datos en un archivo.
Podemos exportar tanto una base de datos entera, como una sola tabla. para ello
basta con abrir la página de exportar desde el inicio de la base, (guardará la base
entera) o desde la vista de una tabla (guardamos sólo la tabla).
Si pulsamos en "Exportar", veremos que se puede guardar el archivo en
diferentes formatos, entre ellos están Microsoft Excel, microsoft Word, PDF. Estos
generan documentos en estos formatos que reproducen el contenido de la base
de datos o de la tabla guardada.
Sin embargo la opción que más nos puede interesar es la de guardarlo en
formato SQL, ya que guarda la base o la tabla para poder ser reintroducida otra
vez en MySQL mediante el phpMyAdmin. La base en este caso la guardaremos en
un forma de archivo en nuestro ordenador.
Es esta una buena opción para poder trasladar una base de datos hecha en el
servidor local (localhost), hasta el servidor de web (el que muestra nuestra página
en la web). La mayoría de las veces, al contratar un hosting para subir tu web, se
incluye el poder utilizar bases de datos MySQL, y el programa phpMyAdmin.
Asegurate, si quieres utilizar bases de datos en tu web, antes de contratar un
hosting de que esto sea así.
La forma de guardar o exportar la base de datos o la tabla es muy sencilla,
una vez has pulsado en "Exportar" se abre una pantalla, a la derecha tienes las
diferentes opciones de formatos, y a la derecha, según el formato elegido,
aparecerán diferentes opciones de lo que queremos guardar en cada formato. De
forma predeterminada ya vienen marcadas algunas, lo más normal es dejar las
opciones predeterminadas. Luego en la parte de abajo, pulsamos en "continuar" y
se nos abrirá el cuadro para guardar el archivo, sólo tenemos que elegir "guardar"
y buscar la carpeta donde queremos guardarlo.
.
La opción Importar
Esta opción permite recuperar o añadir bases de datos o tablas que tengamos
guardados en archivos. Si lo que añadimos es una tabla, debemos tener el
phpMyAdmin abierto en la base de datos en la que la queremos añadir.
Los formatos de archivo admitidos para poder importarlos son "sql" y "csv".
Para importar un archivo, pulsamos en "Importar", se abre una pantalla, y en el
primer cuadro llamado "archivo a importar", donde pone "localización del archivo
de texto", pulsamos en "Examinar". Se nos abre el buscador de windows para
localizar el archivo. Una vez buscado el archivo y selecionado, pulsamos en "abrir"
y si el archivo está bien y es compatible, se añadirá a phpMyAdmin. Si el archivo
es de tipo "csv" antes de esto hay que seleccionar el tipo de archivo en el recuadro
inferior, donde pone "formato del archivo importado".
Una vez importado el archivo (tabla o base de datos) debemos revisar las
relaciones entre las tablas, (opción diseñador), ya que no siempre éstas vienen en
el archivo importado.
22. A lo largo de este tema hemos ido creando una base de datos "literatura", en
el siguiente enlace te puedes descargar el archivo para importar esta base. El
archivo está en formato comprimido, una vez guardado, debes descomprimirlo
mediante winrar o winzip, y luego importarlo desde phpMyAdmin.
Descargar base de datos literatura.
Trabajar con bases de Microsoft Access
Es posible que tengamos ya hecha una base de datos en otro formato que no
sea el SQL, y que queramos que sus datos puedan verse en la web, o
simplemente que estemos acostumbrados a trabajar con otro tipo de formato. En
ese caso lo que debemos hacer es trasladar los datos de una formato a otro. Para
ello en la mayoría de los casos no hay que volver a crear la base de datos de
nuevo e insertar todos los registros. Sino que hay una serie de "drivers" o
programas que nos ayudan a pasar una base a otro formato.
Microsoft access es uno de los programas para bases de datos más popular,
y puede que más fácil de usar, ya que tiene multitud de asistentes, y opciones
gráficas para crear una base de datos e insertarlos. Los que conocemos MIcrosoft
access y otros programas como OpenOficeBase tienen la posibilidad de crear
formularios, desde los que rellenamos cómodamente los datos de cada registro, o
de crear informes nos dan una versión para imprimir de una serie de datos.
Para trasladar una base de datos de Microsoft access a MySql necesitamos
Instalar el driver ODBC para MySQL. Este es un pequeño programa que nos
permitirá trasladar la base de datos desde Microsoft access a MySQL. Este driver
es gratuito y podemos descargarlo desde la página de
MySQLhttp://www.mysql.com/downloads/connector/odbc/ El programa se llama
Connector/ODBC 5.1.7.
Una vez en la página indicada, Eliges el sistema operativo que tienes, y si
queres descargarlo en archivo comprimido o listo para instalar. pulsas en
"download" y aparece una pantalla en la que normalmente te debes registrar como
nuevo usuario, Tras rellenar un formulario con tus datos en la siguiente pantalla te
sale otra página en la que te puedes descargar el programa para ello elige un
lugar cualquiera desde donde descargarlo.
La instalación es como la de cualquier otro programa y no tiene más
complicación.
Una vez instalado podrás importar, exportar o vincular tablas, por ejemplo,
supongamos que queremos copiar una base de datos de Access a MySQL, lo que
haremos será en primer lugar crear una base de datos en phpMyAdmin con el
mismo nombre. Por ejemplo, si tenemos una base de datos en access con nuestra
colección de CDs, llamada "Mis discos", crearemos otra base de datos con
phpMyAdmin, llamada también "Mis discos".
Ahora abrimos la base de datos en access, vamos a su panel principal, en la
vista "tablas", y elegimos una tabla:
23. Paso 1:En el menú principal elegimos la opción "Archivo/Exportar...", o
también podemos elegir la opción "Exportar..." haciendo clic con el botón derecho
del ratón, una vez seleccionada la tabla.
Se abre un cuadro "Exportar tabla 'nombre_tabla' a... " . En la parte de abajo
del cuadro vemos la opción "Guardar como tipo: Abrimos la lista de opciones y
elegimos la opcion "Bases de datos OBDC ()"
Paso 2:Se nos abre otro cuadro en donde debemos poner el nombre que
debe tener la tabla en MySQL, normalmente dejaremos el mismo nombre,:
24. Paso 3:Pulsamos en aceptar y se abre otra pantalla. En ella elegimos la
pestaña de la derecha, "Origen de datos de equipo"
Aparecen en una lista las bases de datos que están ya conectadas a access,
para poder exportar, importar o vincular tablas. Como es la primera vez que
exportamos una tabla, la base "Discos" no aparece en la lista. Para la segunda
tabla que exportemos, ya aparecerá el nombre, por lo que lo elegiremos y
pulsaremos en "Aceptar", pero de momento lo que debemos hacer es pulsar en el
botón "Nuevo...". Se abre el siguiente cuadro:
25. Paso 4:Elegimos la primera opción si queremos que sólo pueda acceder el
usuario del equipo que está trabajando, o la segunda, si queremos que puedan
acceder todos los usuarios. Pulsamos luego en "Siguiente" y sale la siguiente
pantalla:
Paso 5:Tenemos aquí una lista de los controladores o drivers para conversión
de bases de datos, elegimos el que hemos instalado antes, es decir "MySQL
ODBC 5.1. Driver", y pulsamos en siguiente. Aparece la la siguiente pantalla:
27. Paso 7:Debemos rellenar el cuadro con los datos que conectan con la base
de datos. En primer lugar en "Data Source Name:"Pondremos El nombre de la
base de datos, para identificarlo en la lista.
En "TCP/IP Server:", el nombre o localización del servidor, como estamos
trabajando en local, pondremos "localhost".
en "Port:" nos viene ya dado un número de puerto. lo dejamos como está.
En Database buscamos entre la lista el nombre de la base de datos a la que
queremos exportar la tabla.
Pulsamos luego en OK y nos sale la siguiente pantalla:
Paso 8:Como ves sale la misma pantalla que en el tercer paso, pero esta vez
contiene en la lista la base de datos en la que queremos exportar las tablas. la
elegimos, y pulsamos en aceptar.
La tabla está copiada toda entera a MySql. Para copiar las demás tablas es
mucho más fácil, ya que del paso 3, en el que podemos elegir la base de datos,
pasamos al final. Podemos después añadir las relaciones entre ellas.
Para importar o vincular tablas, los pasos son parecidos, ya que nos salen las
pantallas vistas anteriormente, y se trabaja de la misma forma. Esto lo haremos
desde access, pulsando en "Archivo / Obtener datos externos / Importar", para
importar tablas desde MySQL, o "Archivo / Obtener datos externos / Vincular
tablas" para vincular tablas.
La opción "vincular" es tal vez la más interesante para quien quiera trabajar
con Microsoft Access, ya que todo lo que se cambie en las tablas vinculadas se
28. cambia automáticamente en MySQL. Es decir trabajamos con tablas cuyo archivo
está en MySQL, pero con el formato de access.
Introducción
En el tema anterior vimos cómo hacer una base de datos con el programa
phpMyAdmin. Sin embargo lo realmente interesante es poder ver en una página
web los datos guardados en estas bases.
MySQL permite no sólo ver los datos guardados mediante phpMyAdmin, sino
también introducir nuevos datos o modificar los existentes. La conexión entre la
base de datos y la página se realiza de forma automática, de manera que al
insertar, cambiar o borrar cualquier dato en la base, se cambia automáticamente
en la página.
No sólo podemos guardar datos desde la web, sino que podemos incluso
crear una nueva base de datos MySQl, insertar las tablas, y luego los datos en
esas tablas, es decir, podemos prescindir de phpMyAdmin para crear la base de
datos, y crearla completamente desde la página web.
Para ello MySQL dispone de un lenguaje de programación específico, el cual
se inserta dentro del lenguaje php. Este lenguaje es bastante fácil, ya que no tiene
ni variables propias (sí podemos usar las de php), ni estructuras. simplemente
consiste en decir a la máquina lo que queremos hacer (buscar, insertar, borrar,
etc.)
Datos necesarios
Lo primero que debemos hacer, para trabajar con una base de datos desde
nuestra página, es conectar con MySQL, para ello en principio debemos saber los
datos que nos permitan localizar y conectar con MySQL, estos son:
Servidor: Es el nombre de la máquina en la que está el programa MySQL. Si
trabajamos en local, es decir en nuestro ordenador con XAMPP o algún otro
programa que nos lo haya instalado, el nombre es localhost
Usuario: Dentro de MySQL puede haber uno o varios usuarios, Cada uno de ellos
tiene un nombre diferente. Si trabajamos en local, el usuario por defecto es root.
Contraseña: Cada usuario tiene una contraseña, trabajando en local, el usuario
por defecto "root" no tiene contraseña, sin embargo siempre hay que ponerla por
lo que pondremos un valor vacio: "".
Para tener nuestra página en la web, el servidor debe proporcionarnos estos
datos, los cuales, está claro que serán distintos que en en servidor local, por lo
que es conveniente guardarlos en variables para, antes de subir la página,
cambiarlos.
<?php
$servidor = "localhost";
$usuario = "root";
$contrasena = "";
?>
Si tenemos varias páginas conectadas a la base de datos, para no tener que
cambiarlos en todos, podemos guardarlos como variables de sesión.
29. Conectar con MySQL
Ahora ya podemos conectar con MySQL, para ello utilizaremos la siguiente
función:
$db=mysql_connect($servidor,$usuario,$contrasena);
Si trabajamos en local, y lo que estamos haciendo son sólo pruebas,
podemos poner también;
$db=mysql_connect("localhost","root","");
Como parámetros debemos pasar el servidor, el usuario y la contraseña, en
este orden.
El funcionamiento es parecido a manejar archivos, es decir, una vez abierta la
conexion, la guardamos en una variable, (en este caso $db), esta es la referencia,
y funciona igual que el manejador para los archivos.
Por lo tanto cuando acabemos de manipular los datos de la base, debemos
cerrar la conexion, esto se hara mediante la función:
mysql_close($db);
Donde la variable $db es la variable de referencia que hemos puesto al abrir
la conexión.
Conectar con una base de datos.
Una vez conectado a MySQL, el siguiente paso es indicarle la base de datos
con la que queremos conectar, ya que dentro de un mismo usuario, éste puede
tener varias bases de datos, por lo que una vez conectados, usaremos la siguiente
función:
mysql_select_db("nombre_base_datos",$db);
Como primer argumento de la función se pone el nombre de la base de datos,
y como segundo ponemos la referencia.
Por lo que para conectar con la base de datos "literatura", creada en el tema
anterior, escribiremos lo siguiente;
<?php
$servidor = "localhost";
$usuario = "root";
$contrasena = "";
$db=mysql_connect($servidor,$usuario,$contrasena);
mysql_select_db("literatura",$db);
mysql_close($db)
?>
Trabajar con la base de datos.
Una vez que hemos conectado con la base de datos, ya podemos trabajar
con ella. Cambiar, buscar, añadir, borrar, o cualquier otra operación que queramos
hacer con la base de datos, debemos hacerla con la base de datos abierta.
Además debemos escribirlo en lenguaje MySQL, el cual debemos mandarlo al
programa MySQL para que lo ejecute.
Para ello en primer lugar escribiremos el lenguaje MySQL y se guarda en una
variable. Siguiendo el ejemplo anterior, podriamos escribir:
$sql="select * from autores";
30. En este ejemplo el código MySQL es "select * from autores".
Este código seleccionará la tabla "autores" de la base "literatura". Más adelante se
explicará cómo hacer para poder ver la tabla.
Observa que el código MySQL lo hemos guardado en la variable $sql, esto
es porque ahora debemos mandarlo a la base de datos, esto lo hacemos mediante
la siguiente función:
$datos=mysql_query($sql,$db)
Donde el primer argumento ($sql) es el código MySQL y el segundo es la
referencia a la conexión.
Los datos requeridos están en la variable $datos, más adelante veremos
cómo extraerlos para verlos en la página. Lo visto hasta ahora es el código básico
imprescindible para trabajar con una base de datos MySQL.
El código completo visto hasta ahora para trabajar con una base de datos en
local quedará así:
<?php
$db=mysql_connect($servidor,$usuario,$contrasena);
mysql_select_db("nombre_base_datos",$db);
$sql="código_MySQL";
$datos=mysql_query($sql,$db)
mysql_close($db);
?>
En este código se supone que hemos guardado previamente los nombres del
servidor, usuario y contraseñá en sus respectivas variables.
En la variable $datos mandamos o recibimos los datos que se refieren a la
base y que hemos escrito encódigo_MySQL.
El código visto hasta ahora es básico para trabajar con cualquier base de
datos en MySQL.
Crear una base de datos
Veremos en esta página cómo se pueden crear bases de datos MySQL y sus
tablas desde una página web hecha con php.
Vamos a empezar primero por crear una base de datos.
Para crear una nueva base de datos, una vez conectado con MySQL
escribiremos el siguiente código MySQL:
$sql="create database `nombreBase`";
Observa que el nuevo nombre de la base de datos se escribe entre los
signos ` ` Es decir el signo del acento grave , para escribirlo pulsaremos la tecla
del acento grave (a la derecha de la "P") y despues el espaciador.
Como siempre, después de escribir la línea con el lenguaje MySQL, debemos
mandar la instrucción mediante la función mysql_query();. El código
completo para crear una nueva base de datos será el siguiente.
<?php
$db=mysql_connect("localhost","root","");
31. $sql="create database `miagenda`";
mysql_query($sql,$db);
mysql_close($db);
?>
En este ejemplo hemos creado una nueva base de datos llamada "miagenda".
La base de datos creada está de momento vacía (sin tablas ni ningún dato). Si
ejecutamos el código de nuevo, se comprueba primero si la base existe, por lo que
no se vuelve a crear de nuevo.
Podemos comprobar que la base de datos se ha creado, abriendo
phpMyAdmin, donde veremos que hay una nueva base de datos con el nombre
que le hayamos dado.
También podemos poner como nombre de la base de datos una variable, en
ese caso la base de datos tomará el nombre del valor de la variable, por lo que
mediante formularios podemos hacer que cada usuario tenga su propia base de
datos.
$nombre="anyelguti"
$sql="create database `$nombre`";
Mostramos aquí la variable y la forma de insertarla en el código MySQL, por
supuesto no debemos de olvidar nunca que el código MySQL (recogido en la
variable $sql) debe ir siempre dentro de la conexión, es decir entre las
funciones $db=mysql_connect(); y mysql_close($db);.
Tampoco debemos olvidar nunca mandarlo a MySQL mediante la
función mysql_query($sql,$db);.
Decimos esto porque a partir de ahora mostraremos , para manejar bases de
datos, simplemente el código MySQL, dando por supuesto que hay que incluir el
resto del código en la página.
Insertar nuevas tablas
Una vez que hemos creado la base de datos, debemos insertar en ella las
tablas que la forman. Para ello, como siempre conectamos a MySQL y tal como
vimos en el apartado anterior, conectamos con la base de datos:
$db=mysql_connect("localhost","root","");
mysql_select_db("miagenda",$db);
Pondremos después el código para crear la tabla:
$sql = "create table `agenda` (`IDagenda` int(6) not null
auto_increment primary key) type = MyISAM;";
Hemos creado aquí una tabla llamada "agenda" con un único campo llamado
"IDagenda". Vamos a explicar el código:
create table `agenda` : Para crear un elemento escribimos primero la
palabra create, después indicamos el tipo de elemento que deseamos crear,
en este caso table y por último entre `comillas` se escribe el nombre del
elemento, en este caso de la tabla. Observa que en realidad no son comillas, sino
el acento grave, tal como hicimos para insertar la base de datos.
(`IDagenda` : Dentro del paréntesis escribiremos los datos de los campos
que formarán la tabla. En primer lugar, y entre acentos, escribimos el nombre del
primer campo.
32. int(6) : Escribimos después el tipo de campo tal como vimos en el tema
anterior al crearlos con phpMyAdmin (int=num entero, float=num decimal,
varchar=alfanumérico, text=texto largo, etc), y seguido, entre paréntesis la longitud
máxima de ese campo.
not null auto_increment primary key) : A continuación
ponemos el resto de propiedades del campo, es decir en este caso not
null indica que el campo no puede ser nulo. auto_increment indica que
es un campo de auto incremento. y primary key indica que eel campo será
la clave primaria. si quisieramos incluir más campos los pondríamos a
continuación,separado por una coma, y siguiendo los mismos pasos. Como no
vamos a incluir más, cerramos el paréntesis.
type = MyISAM; : esta instrucción debemos ponerla siempre al final, para
indicar cómo debe manejar los datos MySQL. en realidad podemos poner
también engine = MyISAM;.
El código MySQL es indiferente escribirlo en mayúsculas o minúsculas, por
tanto podemos poner tantocreate table como CREATE TABLE; sin
embargo los nombres de los elementos creados, (tablas y campos), sí distinguen
entre mayúsculas y minúsculas, por lo que si un campo lo creamos con su nombre
en mayúscula, cuando vayamos a buscarlo o leer sus datos, deberemos escribirlo
de la misma manera. Igualmente la palabraMyISAM debemos escribirla tal como
está aquí, ya que se refiere a un tipo de código.
Por último, como es habitual, mandamos el código, y cerrarmos la conexión:
mysql_query($sql,$db);
mysql_close($db);
Ayuda de phpMyAdmin
Si tenemos dudas de cómo se escribe un cierto código, siempre podemos
hacer el siguiente truco: abrimos phpMyAdmin, y creamos en este caso la tabla tal
como se explicó en el tema anterior. Una vez creada se vuelve a la pantalla
anterior, alli vemos que hay el siguiente cuadro:
En él pulsamos enla parte inferior derecha donde pone "crear código PHP", y
nos saldrá lo siguiente:
Como ves en el recuadro nos sale la línea de código php que debemos
insertar en la página para que la instrucción se realice desde la página.
Evidentemente aquí la tabla ya la tenemos creada mediante phpMyAdmin. A partir
de aquí podemos, o borrarla en phpMyAdmin, para volver a crearla en la página, o
33. utilizar el código para crear nuevas tablas, con características similares, en ese
caso en el código cambiaríamos el nombre de la tabla y del campo.
Este truco puede usarse para cualquier tipo de operaciones, tanto de creación
como de búsqueda, borrado, mostrar datos, etc.
Vemos aquí que el código es algo diferente. al principio pone CREATE
TABLE `miagenda`.`agenda`esto se debe que se supone que no
hemos conectado antes a la base de datos
mediantemysql_select_db("miagenda",$db). Es decir podemos
prescindir de conectar antes a la base de datos y poner directamente este código
que indica primero la base de datos `miagenda` y después, seguido de un
punto se indica el nombre de la tabla .`agenda`.
Incluir más campos
Incluiremos ahora el resto de los campos en la tabla creada anteriormente,
para ello utilizamos el código siguiente:
$sql="alter table `nombre_tabla` add `nuevo_campo`
propiedades, add `nuevo_campo` propiedades";
Después de escribir alter table, en `nombre_tabla`escribiremos
el nombre de la tabla. Para insertar nuevos campos escribimos la instrucción add,
seguida del nombre del campo (`nuevo_campo`) y a continuación las
propiedades del campo (varchar(50) not null default'') . Para
insertar otro campo, lo separaremos del anterior mediante una coma, y
empezaremos otra vez por la instrucción add.
Seguimos ahora con el ejemplo anterior, en el cual incluimos en la tabla
nuevos campos. El código será el siguiente:
<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("miagenda",$con);
$sql = "alter table `agenda`
add `nombre` varchar(50) not null default '',
add `telefono` int(9) not null default '000000000',
add `email` varchar(100) not null default '---@---',
add `descripcion` text(2000) not null default '' ";
mysql_query($sql,$con);
mysql_close($con);
?>
para incluir cada uno de los campos debemos, además de poner la
pàlabra add delante del nombre, incluir las instrucciones not
null y default ''. La instrucción not nul indica que no es un campo
nulo, y la instrucción default indica el valor por defecto que tomará el campo,
el cual debemos indicarlo seguidamente entre comillas.