TUTORIAL DE BASES DE DATOS + SQL + PHP DESDE CERO
PRESENTACIÓN.
Hola a todos. Hace ya mucho tiempo desde que escribí mi ultimo tutorial, manual o como lo quieran llamar, y creo que ya es hora de traer algo nuevo!!
En esta ocasión, vamos a aprender para que sirve una base de datos, como crearla, el uso de SQL, formularios... etc. Comenzaremos desde cero, con los conceptos basicos y aprendiendo a base de ejemplos, ya que es la mejor forma de ver este tipo de cosas...
¿QUE ES UNA BASE DE DATOS?
Una base de datos en si, puede considerarse como una especie de archivador electrónico; dicho de otra manera, un lugar donde almacenar un conjunto de archivos e información.
El usuario de una base de datos pude realizar entre otras cosas las siguientes tareas:
- Agregar nuevos archivos a la base de datos.
- Insertar datos nuevos en los archivos ya existentes
- Obtener datos almacenados.
- Borrar datos.
- Obtener datos de una manera especifica y personalizada
y otra serie de cosas que veremos mas adelante...
Por lo tanto, podríamos decir que en definitiva una base de datos es un sistema computadorizado cuyo propósito general es mantener información y hacer que esta sea accesible cuando se solicite.
Si aun te cuesta ver que es una base de datos, imagínate la sala de archivos del ayuntamiento de tu ciudad, donde tienen almacenados archivos y documentos en grandes armarios, carpetas, cuadernos... de una forma ordenada por ejemplo alfaveticamente, por zonas, por tipologia... etc. Pues una base de datos en informatica es en esencia lo mismo, pero con las siguientes ventajas:
- Es compacta. No hacen falta archivos de papeles que pudieran ocupar mucho espacio y con el tiempo pueden perderse, traspapelarse...etc .
- Es rapida. La maquina puede obtener, modificar y añadir datos con mucha mayor velocidad que un ser humano.
- Es menos laborioso. Se elimina gran parte del tiempo y esfuerzo de mantener archivos a mano en un espacio físico.
- La posibilidad de hacer copias de seguridad fácilmente (backups).
Posiblemente existirán algunas otras ventajas que se me olviden, pero principalmente podemos quedarnos con estas.
SISTEMA GESTOR DE BASES DE DATOS.
Un sistema gestor de bases de datos (SGBD) es un software que permite la interacción entre la base de datos, el usuario y las aplicaciones creadas.
Existen sistemas gestores libres y otros de pago.
El mas popular y conocido por su seguridad, estabilidad y fiabilidad es ORACLE, aunque también hay que decir que es un poco caro y esta mas bien destinado a empresas que al usuario común.
Entre los SGBD libres, destacan MySQL, SQLite y PostgreeSQL.
Un sistema gestor "de pago" y que posiblemente todos tengamos en nuestro PC y con el que trabajaremos inicialmente es ACCESS de Microsoft.
CREANDO NUESTRA PRIMERA BASE DE DATOS
Sin mas preámbulos, crearemos ya nuestra primera base de datos.
El primer paso en la creación de una base de datos, es la creación del esquema conceptual, es decir, estudiar previamente como sera nuestra base de datos.
Las tareas a realizar en el diseño conceptual son las siguientes:
1. identificar las entidades.
2. identificar las relaciones.
3. identificar los atributos.
4. determinar los dominios de los atributos.
5. Determinar los identificadores.
6. Determinar las jerarquías de generalización (si las hay).
7. Dibujar el diagrama entidad-relación.
8. Revisar el esquema conceptual local con el usuario.
No se asusten por toda esta terminología... en realidad es mas sencillo de lo que parece.
Para nuestra primera base de datos no seguiremos todo este estudio paso a paso, pues podríamos estar mucho tiempo analizando, pero veremos lo fundamental.
Comenzamos!!!
La primera base de datos que vamos a crear para este tutorial, va a ser muy sencilla. En ella almacenaremos a USUARIOS, FOROS y Nº DE POST.
Las bases de datos se componen por TABLAS.
Para nuestro ejemplo, necesitaremos 3 tablas que seran; la tabla USUARIOS, POST y FOROS.
- TABLA USUARIOS:
En todas las tablas tiene que haber un campo clave o principal, el cual sera diferente para cada campo de la tabla. Un ejemplo de esto puede ser el DNI, Nº de pasaporte, un ID que establezcamos...etc, pero nunca podremos establecer como clave principal un nombre, apellido, fecha de nacimiento... ya que puede dar la casualidad de que se repita para dos datos de la tabla.
Por lo tanto uno de los campos de nuestra tabla sera el ID_Usuario
También añadiremos otros que serán; Nick, Pais y Email, con estos serán suficientes para nuestro ejemplo.
Por lo tanto, la tabla USUARIOS quedaría de la siguiente forma:
Código:
ID_Usuario
Nick
Pais
- TABLA FOROS:
En esta tabla asignaremos como clave a ID_Foro y pondremos ademas los campos Nombre y Descripcion de tal forma que nuestra tabla FOROS quedara de la siguiente forma:
Código:
ID_Foro
Nombre
Descripcion
- TABLA POST:
La tabla POST surge en realidad como relacion de muchos a muchos entre la tabla USUARIOS y la tabla FOROS.
Existen varios tipos de relaciones;
- Relacion de 1 a muchos. (hay que poner la clave de la tabla 1 en la tabla muchos)
- Relacion de muchos a muchos. (hay que crear una tabla intermedia con las claves de ambas tablas)
Mas adelante estudiaremos todos tipos de relaciones... de momento no quiero liaros mas.
Entonces, como iba diciendo, entre USUARIOS y FOROS hay una relación de muchos a muchos, porque un usuario puede postear en muchos foros, y un foro puede ser posteado por muchos usuarios. Por esta razón, surge una tabla intermedia donde se almacenaran los post que hace cada usuario en los foros. Dicha tabla a de contener las claves principales de los foros relacionados.
La tabla POST tendrá por lo tanto la siguiente estructura:
Código:
ID_Usuario
ID_Foro
Post
ID_Usuario e ID_Foro serán las claves principales de la tabla POST.
Una vez visto esto, abramos el Microsoft Access, y comencemos a crear nuestras tablas!!
[Tienes que estar registrado y conectado para ver este vínculo]
Una vez abierto access, hacemos clic en NUEVO > BASE DE DATOS EN BLANCO, y seleccionamos un nombre o dejamos el que esta por defecto.
Se nos abrirá una tabla por defecto y sino, damos a crear nueva tabla.
Nos aseguramos de estar trabajando en vista diseño:
[Tienes que estar registrado y conectado para ver este vínculo]
Una vez estamos en VISTA DISEÑO metemos los campos de la tabla USUARIOS.
[Tienes que estar registrado y conectado para ver este vínculo]
Prestamos atención a las Mayúsculas y minúsculas, podremos barra baja _ y no guiones (-) espacios ni barras ( / ) el nombre de la tabla la llamaremos USUARIOS todo con mayúsculas o como quieran... pero deben acordarse o seguir siempre un orden, porque sino luego las sentencias SQL fallaran!
Creamos las dos tablas que nos quedan, la de USUARIOS y POST de la misma forma...
CREAR > TABLA EN VISTA DISEÑO
e insertamos los campos.
Una vez tengamos las tres tablas, tendremos algo asi:
[Tienes que estar registrado y conectado para ver este vínculo]
Ahora que ya tenemos las tablas creadas, hacemos clic en HERRAMIENTAS DE BASES DE DATOS >> RELACIONES
[Tienes que estar registrado y conectado para ver este vínculo]
Nos aparecerá una ventana para donde AGREGAREMOS nuestras 3 tablas.
A continuación, para hacer las relaciones, hacemos clic en el id_foro de la tabla FOROS y lo arrastramos hasta el id_foro de la tabla POST. Nos aparecera una ventana de relaciones donde deberemos marcar la casilla de exigir integridad referencial.
[Tienes que estar registrado y conectado para ver este vínculo]
Hacemos lo mismo para id_usuario.
Al final de las relaciones tendremos lo siguiente:
[Tienes que estar registrado y conectado para ver este vínculo]
Ahora ya podemos cerrar las relaciones y GUARDAR!!!
Asta aquí, hemos creado ya nuestras tablas y establecido las relaciones entre ellas, a continuación, procederemos a meter datos en las tablas.
Hacemos clic en la tabla USUARIOS y se nos abrirá por defecto en vista de datos. Meted 5 o 6 usuarios...
por ejemplo:
[Tienes que estar registrado y conectado para ver este vínculo]
Seguimos añadiendo datos a las tablas POST y FOROS:
por ejemplo:
[Tienes que estar registrado y conectado para ver este vínculo]
Pues bien, con esto ya tenemos nuestra base de datos creada!!
GUÁRDENLA pues con ella trabajaremos mas adelante cuando veamos SQL! que sera en el siguiente apartado.
Aquí les dejo la Base de datos que he creado en este tutorial por si alguien a tenido algun problema o se la quiere descargar:
[Tienes que estar registrado y conectado para ver este vínculo]
INTRODUCCIÓN AL LENGUAJE SQL
SQL significa Structured Querly Languaje, o LENGUAJE ESTRUCTURADO DE CONSULTA.
SQL no nació por si solo... sino que fue creado por los desarrolladores de aplicaciones de bases de datos para responder a una serie de necesidades.
Con SQL podremos ejecutar muchos tipos de instrucciones que nos permitirán leer datos de las tablas, borrarlos, insertar datos, obtener datos de una manera especifica...etc.
Una sentencia SQL es como una "frase" escrita en ingles con la que decimos lo que queremos obtener y de donde obtenerlo.
Todas las sentencias empiezan con un "verbo" (palabra reservada) seguida del resto de clausuras...(algunas obligatorias y otras condicionales).
Si quieren pueden informarse un poco mas sobre el lenguaje SQL por la red, pero teniendo estos conceptos básicos sera mas que suficiente por ahora.
CONSULTAS SQL.
Todas las consultas que realicemos, deberán tener una sintaxis ordenada que iremos viendo a lo largo de este capitulo.
Las consultas que realizaremos por ahora seguirán la siguiente sintaxis:
SELECT campos FROM tablas WHERE condiciones
Ahora, volvamos a nuestra Base de Datos y vallamos a CREAR >> DISEÑO DE CONSULTA >> y se nos abrira un cuadro llamado "Mostrar tabla" pero lo CERRAMOS.
[Tienes que estar registrado y conectado para ver este vínculo]
Ahora vamos a VISTA SQL tal y como vemos en la imagen:
[Tienes que estar registrado y conectado para ver este vínculo]
Ahora ya estamos en la consola desde donde podremos ejecutar consultas SQL.
Comenzaremos con una serie de consultas sencillas. Solo tienen que escribir la consulta y dar a ejecutar para ver los resultados:
[Tienes que estar registrado y conectado para ver este vínculo]
Comenzaremos con la siguiente consulta:
Código:
SELECT * FROM USUARIOS;
Como ven, les muestra todos los datos de la tabla usuarios.
Siempre que pongamos * nos referiremos a "todos"
Volvamos a vista SQL y probemos:
Código:
SELECT Nick, Email, Pais FROM USUARIOS;
¿Se hacen una idea de como funciona verdad?
Si traducimos la sentencia veremos que estamos diciendo... SELECCIONA "el" Nick, Email, Pais DE USUARIOS.
Aquí van otros ejemplos:
Código:
SELECT Nick, Email, Pais FROM USUARIOS WHERE ID_Usuario=1;
Código:
SELECT * FROM USUARIOS WHERE ID_Usuario=1;
Código:
SELECT Nombre, Descripcion FROM FOROS;
Ahora que ya hemos visto como funciona esto de las consultas SQL, en el siguiente capitulo veremos un manual de SQL un poco mas especifico y cosas mas avanzadas.
TUTORIAL SQL
Ahora que ya hemos visto un poco de SQL, vamos a pasar a estudiarlo un poco mas detalladamente.
- Sintaxis de la sentencia SELECT (consultas simples)
Citar
SELECT
- ALL (viene por defecto (muestra todas las tablas))
- DISTINCT (no muestra las repeticiones)
- TOP n - PERCENT - (saca las tuplas que quieras, puede ir en función de un porcentaje)
FROM (especificación de tabla)
WHERE (condición de selección)
ORDER BY - nombre columna/nº columna -
- ASC (ascendiente)
- DESC (descendiente)
La clausura WHERE nos acepta los siguientes operadores:
= (igual)
<> (distinto de)
< (menor que)
> (mayor que)
<= (menor o igual que)
>= (mayor o igual que)
Veamos algunos ejemplos aplicando lo aprendido con nuestra base de datos.
Si ejecutamos:
Código:
SELECT TOP 1 * FROM USUARIOS
Nos devolverá el 1º campo de la tabla usuarios, en nuestro caso:
[Tienes que estar registrado y conectado para ver este vínculo]
Código:
SELECT TOP 50 PERCENT * FROM USUARIOS
Nos devolverá la mitad de los usuarios (el 50%) que haya en la tabla usuarios. En nuestro caso, al haber 6 usuarios, esta consulta nos devolverá los primeros 3 usuarios.
Espero que no tengan problemas hasta aquí. Si todo les va bien, pueden ir probando por su cuenta las sentencias que quieran. Intenten meter las siguientes condiciones a alguna consulta (seguro que os sale ):
Código:
SELECT * FROM USUARIOS WHERE Nick='TXS';
- WHERE ID_Usuario=1;
- WHERE ID_Usuario=1 OR ID_Usuario=5;
- WHERE ID_Usuario <> 3;
- WHERE ID_Usuario >= 3 AND ID_Usuario <= 6
-- ORDER BY Nick DESC
Vallan practicando consultas!!! es la única forma de aprender!!!
TEST DE RANGO (BETWEEN)
Examina si el valor de la expresión esta comprendido entre los dos valores definidos.
Tiene la siguiente sintaxis:
Código:
SELECT Nick, Pais
FROM USUARIOS
WHERE ID_Usuario BETWEEN 2 AND 5;
Muestra el Nick y el Pais de los USUARIOS que estan entre los ID_Usuario 2 y 5
Seria lo mismo que escribir:
Código:
SELECT Nick, Pais
FROM USUARIOS
WHERE ID_Usuario>=2 AND ID_Usuario<=5;
TEST DE PERTENENCIA A CONJUNTO (IN)
Examina si el valor de la expresion es uno de los valores incluidos en la lista de valores.
Tiene la siguiente sintaxis:
Código:
SELECT Nick, Pais
FROM USUARIOS
WHERE ID_Usuario IN (1,2,4,6);
Mostrara el Nick y Pais de los USUARIOS que tengan el ID_Usuario 1,2,4,6.
Obtendríamos lo mismo que escribir:
Código:
SELECT Nick, Pais
FROM USUARIOS
WHERE ID_Usuario=1 OR ID_Usuario=2 OR ID_Usuario=4 OR ID_Usuario=6;
TEST DE VALOR NULO (IS NULL)
Una condición, puede dar como resultado el valor verdadero TRUE, falso FALSE o nulo NULL.
En la base de datos que nosotros hemos creado, no hay ningún campo que sea nulo, pero supongamos que tenemos una base de datos con empleados, directores, oficinas... etc y queremos la lista de las oficinas que no tienen director. Tendríamos que ejecutar la siguiente consulta:
Código:
SELECT oficina, ciudad
FROM OFICINAS
WHERE director IS NULL;
o por ejemplo, si queremos la lista de los empleados asignados a alguna oficina:
Código:
SELECT nombre, apellidos
FROM EMPLEADOS
WHERE oficina IS NOT NULL;
fácil verdad??
TEST DE CORRESPONDENCIA CON PATRON (LIKE)
Se utiliza cuando queremos utilizar caracteres comodines para formar el valor con el que comparar.
Los comodines mas usados son los siguientes:
? Representa un carácter cualquiera.
* Representa varios caracteres.
# Representa un dígito cualquiera (0-9)
Por ejemplo, si queremos el Nick de los usuarios que su país empiece por E, ejecutaríamos la siguiente consulta:
Código:
SELECT Nick
FROM USUARIOS
WHERE Pais LIKE 'E*';
o si queremos el nick y pais de los usuarios que tengan en su nombre una 'a', haríamos:
Código:
SELECT Nick, Pais
FROM USUARIOS
WHERE Nick LIKE '*a*';
SUM (suma) AVG (media) MIN (minimo) MAX, COUNT, STDEV....
Existen una serie de funciones que nos permiten obtener datos de nuestra base de datos de una forma concreta como son:
SUM > suma
MIN > minimo
AVG > media
MAX > maximo
STDEV > desviacion estandar de una serie de numeros
COUNT > cuenta datos
... existen otra serie de sentencias, pero para nosotros, estás son mas que suficientes.
probemos:
Código:
SELECT SUM (Post) FROM POST;
Nos devolverá el total de los post, es decir la suma de post.
Código:
SELECT SUM (Post) FROM POST WHERE ID_Foro=1;
Nos devolverá el total de los post del foro 1
Código:
SELECT AVG (Post) FROM POST WHERE ID_Foro=3;
Nos devuelve la media de post del foro 3
Código:
SELECT MAX (Post) FROM POST;
Devuelve el máximo de post que se han publicado
... y el resto de sentencias siguen la misma estructura o similar, no creo que tengan problemas, y si quieren algún otro ejemplo me dicen.
PRODUCTO CARTESIANO "Muy importante"
La resolución del producto cartesiano a la hora de ejecutar algunas sentencias es fundamental.
Supongamos que queremos realizar una consulta en la que intervengan 2 o mas tablas. Con lo visto hasta ahora, si os mando mostrar el nick, nombre de foro y post de los usuarios, posiblemente ariais:
Código:
SELECT Nick, Nombre, Post FROM USUARIOS, FOROS, POST;
Pero al ejecutar esa sentencia, nos devolvera un monton de datos mal...
Citar
Nick | Nombre | Post
TXS Hacking 22
TXS Programacion 22
TXS Webmaster 22
Pasqui Hacking 22
Pasqui Programacion 22
Pasqui Webmaster 22
Skywallker Hacking 22
Skywallker Programacion 22
Skywallker Webmaster 22
Redrick Hacking 22
Redrick Programacion 22
Redrick Webmaster 22
Dynamique Hacking 22
Dynamique Programacion 22
Dynamique Webmaster 22
Xianuro Hacking 22
Xianuro Programacion 22
Xianuro Webmaster 22
TXS Hacking 44
TXS Programacion 44
TXS Webmaster 44
Pasqui Hacking 44
Pasqui Programacion 44
Pasqui Webmaster 44
Skywallker Hacking 44
Skywallker Programacion 44
Skywallker Webmaster 44
Redrick Hacking 44
Redrick Programacion 44
Redrick Webmaster 44
Dynamique Hacking 44
Dynamique Programacion 44
Dynamique Webmaster 44
............
............
............
y de esta forma seguiría la lista hasta 342 registros!!
Para que no nos muestre toda esta "basura" es necesario resolver el producto cartesiano, es decir, establecer los datos de las tablas que están relacionados.
En la tabla USUARIOS hay un ID_Usuario
En la tabla POST hay un ID_Usuario
y
En la tabla POST hay un ID_Foro
En la tabla FOROS hay un ID_Foro
Estos datos es necesario relacionarlos, para ello, estableceremos en la clausura WHERE la siguiente sintaxis;
Código:
WHERE USUARIOS.ID_Usuario=POST.ID_Usuario AND POST.ID_Foro=FOROS.ID_Foro
Asi indicaremos los datos que estan relacionados entre las tablas, y al realizar la consulta no nos mostrara repeticiones y lo agrupara de la manera correcta.
De este modo, volviendo a la cuestión de mostrar el NICK, NOMBRE del foro y POST, tendríamos que ejecutar la siguiente consulta:
Código:
SELECT Nick, Nombre, Post
FROM USUARIOS, FOROS, POST
WHERE USUARIOS.ID_Usuario=POST.ID_Usuario AND POST.ID_Foro=FOROS.ID_Foro;
Esta nos devolvería todo correctamente;
[Tienes que estar registrado y conectado para ver este vínculo]
Podemos seguir estableciendo clausuras como por ejemplo que solo nos muestre los de un usuario en concreto, entonces la consulta seria:
Código:
SELECT Nick, Nombre, Post
FROM USUARIOS, FOROS, POST
WHERE USUARIOS.ID_Usuario=POST.ID_Usuario AND POST.ID_Foro=FOROS.ID_Foro AND USUARIOS.ID_Usuario=1;
o
Código:
SELECT Nick, Nombre, Post
FROM USUARIOS, FOROS, POST
WHERE USUARIOS.ID_Usuario=POST.ID_Usuario AND POST.ID_Foro=FOROS.ID_Foro AND USUARIOS.Nick='TXS';
Con todo esto visto, ya casi estamos llegando al final del "tutorial para lumis de SQL". Ahora pasaremos a ver las sentencias para insertar datos, modificar datos, borrar filas y borrar tablas.
Insertar una fila, INSERT INTO ... VALUES ...
La inserción de nuevos datos en una tabla se realiza añadiendo filas enteras a la tabla, la sentencia SQL que lo permite es la orden ISERT INTO
La inserción se puede realizar de una fila o de varias filas de golpe. Nosotros veremos como hacerlo para insertar una fila.
Supongamos que queremos agregar un nuevo USUARIO.
Vamos a la tabla USUARIOS, y vemos que su estructura es la siguiente:
Citar
| TABLA USUARIOS |
ID_Usuario
Nick
Pais
Para insertar un nuevo usuario, podríamos ejecutar la siguiente consulta:
Código:
INSERT INTO USUARIOS VALUES (7,'Askatasun','España','askatasun:-com');
Esta consulta nos funcionaria, pero para hacer las cosas un poco mejor, usaremos otro método que veremos en un momento.
Imagina que usamos la sentencia anterior para añadir una nueva fila a una tabla, pero queremos dejar algún dato en blanco o que por lo que sea nos liamos en el orden... Para eso, hay otra sentencia INSERT INTO que nos permite establecer antes las posiciones donde se añadiran los datos.
Mejor, veamos un ejemplo:
Código:
INSERT INTO USUARIOS (ID_Usuario, Nick, Pais, Email) VALUES (7,'Askatasun','España','askatasun:-com')
Esta sentencia es la recomendada, y aunque sea un poco mas larga es mejor aprenderlo asi.
Si queremos añadir un usuario pero desconocemos el pais, simplemente tendríamos que hacer:
Código:
INSERT INTO USUARIOS (ID_Usuario, Nick, Email) VALUES (8,'ZeroMercy','zeromercy:-com')
*Nota; Al ser tablas relacionadas, hay que seguir las reglas de integridad referencial.
Modificar el contenido de las filas, UPDATE
Supongamos que queremos poner a 0 los post del usuario 2 del foro 1:
Código:
UPDATE POST
SET Post=0
WHERE ID_Usuario=2 AND ID_Foro=1;
o bien, supongamos que queremos doblar (multiplicar por dos) los post del usuario 1 en el foro 3
Código:
UPDATE POST
SET Post=Post*2
WHERE ID_Usuario=1 AND ID_Foro=3;
dividir...
Código:
UPDATE POST
SET Post=Post/2
WHERE ID_Usuario=1 AND ID_Foro=3;
Sencillo verdad?
Borrar filas, DELETE
La sentencia DELETE elimina filas de una tabla. Su sintaxis es la siguiente:
Citar
DELETE (tabla) FROM (origen) WHERE (posibles condiciones)
Borrar una tabla, DROP TABLE
La sentencia DROP TABLE tabla, nos permite borrar una tabla de la BD.
Código:
DROP TABLE USUARIOS
Este seria un ejemplo de como eliminar una tabla, aunque en la base de datos que estamos empleando, no nos lo permitirían al estar relacionadas.
Una vez visto esto, pasaremos a ver otro gestor de bases de datos >>> MySQL
SGBD MySQL orientado al desarrollo web con PHP
MySQL es un sistema gestor de bases de datos "libre" que esta desarrollado por SUN MICROSYSTEMS.
MySQL lo podemos encontrar casi seguro instalado junto a PHPMyAdmin en cualquier hosting/servidor que compremos o que obtengamos gratuitamente para publicar nuestra web.
Para este manual, he preferido que sean ustedes los que se monten su propio "localhost" en su PC para aprender, ¿como hacerlo?, lo veremos a continuación.
Instalando MySQL + APACHE + PHP + PHPMyAdmin
Existen varios programas que nos instalan automáticamente estos servicios en nuestro PC que nos permitirán trabajar con paginas web y bases de datos empleando PHP.
Entre los mas destacados se encuentran: [Tienes que estar registrado y conectado para ver este vínculo] y [Tienes que estar registrado y conectado para ver este vínculo]
Podremos descargar cualquiera de los dos, u otro que conozcan, aunque el que yo empleare para este tutorial y el cual os recomiendo es EASYPHP, el cual podrán descargar gratuitamente de su web.
Una vez descargado, lo instalan y el disco donde tengan su sistema operativo. La instalación es sencilla, dejen los valores por defecto hasta que complete la instalación.
Una vez instalado, lo podrán ejecutar desde INICIO >> PROGRAMAS >> EASYPHP >>
[Tienes que estar registrado y conectado para ver este vínculo]
Les aparecerá al lado del reloj de windows, un icono con el que podrán interactivo haciendo clic con el botón derecho del ratón.
Una vez este ejecutándose, abrimos firefox y colocamos la url [Tienes que estar registrado y conectado para ver este vínculo] o [Tienes que estar registrado y conectado para ver este vínculo]
Hacemos clic donde se indica en la imagen (mysqlgestion) para acceder a nuestro nuevo sistema gestor de bases de datos!!!
Si siguen el tutorial desde el principio, puede que ya estén acostumbrados a la facilidad y entorno intuitivo de microsoft access, y a primera vista, este nuevo sistema les resulte complejo, pero enseguida verán que en base es igual y le cogerán el ritmo rápidamente.
CREANDO UNA NUEVA BASE DE DATOS
Partiendo desde el punto anterior, ahora nos encontramos en [Tienes que estar registrado y conectado para ver este vínculo] es decir, en el phpMyAdmin.
Vamos a crear una base de datos nueva con la que trabajaremos y realizaremos nuestros ejercicios. Dicha BD vamos a llamarla MiWeb.
Podemos crear la base de datos de dos formas:
- Abriendo la pestaña SQL y ejecutando la instruccion:
Código:
CREATE DATABASE `MiWeb` ;
- Mediante el entorno de phpMyAdmin tal y como vemos en la imagen:
[Tienes que estar registrado y conectado para ver este vínculo]
Vamos a comenzar desarrollando un ejemplo sencillo, de como crear una tabla y despues mostrar los datos mediante php en nuestra web. Mas adelante, intentaremos crear una web un poco mas compleja con usuarios, categorias, noticias...etc.
Una vez dentro de la base de datos que acabamos de crear (MiWeb), nos aparecera la opcion de "Crear nueva tabla en la base de datos miweb"
[Tienes que estar registrado y conectado para ver este vínculo]
Nombraremos a la tabla como "NOTICIAS" y le asignaremos 5 campos. (mas adelante podemos agregar mas campos si lo deseamos)
A continuación, procederemos a introducir los campos para la tabla:
Citar
TABLA USUARIOS
ID_Usuario > tipo entero > clave primaria
Usuario > tipo texto > longitud 20
Tematica > tipo texto > longitud 20
Fecha > tipo date
Noticia > tipo varchar > longitud 255
[Tienes que estar registrado y conectado para ver este vínculo]
Tambien podemos crearla ejecutando la senencia SQL;
Código:
CREATE TABLE `miweb`.`NOTICIAS` (
`ID_Noticia` INT NOT NULL ,
`Usuario` TEXT NOT NULL ,
`Tematica` TEXT NOT NULL ,
`Fecha` DATE NOT NULL ,
`Noticia` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `ID_Noticia` )
) ENGINE = InnoDB
Una vez creada nuestra tabla, vamos a la pestaña INSERTAR y metemos datos para nuestra nueva tabla, o bien, ejecutáis la siguiente sentencia SQL para introducir los mios.
Código:
INSERT INTO `miweb`.`NOTICIAS` (
`ID_Noticia` ,
`Usuario` ,
`Tematica` ,
`Fecha` ,
`Noticia`
)
VALUES (
'1', 'TXS', 'Webmaster', '2009-06-12', 'Comenzamos un nuevo tutorial sobre Bases de Datos + SQL + PHP en nuestro foro. No se lo pierdan!!'
), (
'2', 'TXS', 'Webmaster', '2009-06-14', 'ORACLE anuncia descuentos para pequeñas y medianas empresas que quieran comprar una licencia de su SGBD. Ademas, ofrece nuevos servicios y horarios de atencion las 24 horas del dia.'
);
Asi insertaremos 2 noticias en la tematica Webmaster.
Añadamos 2 mas para hacking!!
Código:
INSERT INTO `miweb`.`NOTICIAS` (
`ID_Noticia` ,
`Usuario` ,
`Tematica` ,
`Fecha` ,
`Noticia`
)
VALUES (
'3', 'Pasqui', 'Hacking', '2009-06-15', 'El encriptador de infiernohacker ya esta totalmente a su disposicion. Cualquier duda o sugerencia no dude en ponerse en contacto con nosotros.'
), (
'4', 'Skywallker', 'Hacking', '2009-06-17', 'Participa en el primer reto infiernohacker. Hay muchos premios a repartir para los primeros en conseguirlo. Suerte!'
);
Una vez insertadas las noticias, nuestra tabla tendrá un aspecto similar a este:
[Tienes que estar registrado y conectado para ver este vínculo]
Para nuestra primera toma de contacto con mysql ya es mas que suficiente. Podriamos haber añadido un campo para titulo o mas tablas, pero bueno, ya aremos algo mas complejo mas adelante!!
CREANDO UN USUARIO PARA NUESTRA BASE DE DATOS
La mayoría de las bases de datos traen por defecto un usuario administrador que recibe el nombre de ROOT. Pueden usar este usuario si quieren, aunque yo para este tutorial empleare otro con los mismos privilegios que crearemos a continuacion.
Vayan a la pestaña PRIVILEGIOS del PHPMyAdmin
[Tienes que estar registrado y conectado para ver este vínculo]
A continuacion seleccionen *Agregar un nuevo usuario
Denle un nombre al nuevo usuario, yo le llamare Admin, y establezcan una contraseña, que en mi caso sera 5636
Como Servidor seleccionen LOCAL
En Base de datos para el usuario dejen marcada *Ninguna
En Privilegios globales Marquen todos
Los Límites de recursos déjenlos en 0
Hagan clic en CONTINUAR para acabar de crear su usuario.
CONECTANDO CON NUESTRA BASE DE DATOS A TRAVÉS DE PHP
Ahora que ya tenemos nuestra mini base de datos montada, vamos a ver como leer los datos a traves de PHP y mostrarlos en nuestra web.
En primer lugar, abrimos el dreamweaver, bloc de notas, o el editor que utilizen y escribimos el siguente codigo:
Código:
Jue Feb 09, 2012 10:09 pm por Mercury15
» Mitos sobre la CPU (Verdades/Mentiras)
Jue Mar 03, 2011 9:56 pm por Mercury15
» Todo lo que hay que saber sobre el Exploit WMF
Jue Ago 05, 2010 8:12 pm por Mercury15
» Tutorial crear troyano profesional by Panzerfaust
Vie Jul 16, 2010 8:41 pm por Mercury15
» ¿Cómo comprar con Ukash en España? [Xat.com]
Vie Jul 16, 2010 7:54 am por Mercury15
» Descargar Text Aloud + Voces Crack [FullPack]
Jue Jul 15, 2010 8:39 pm por leon
» Ultimas novedades
Sáb Jul 03, 2010 10:58 am por Mercury15
» Ausencia de Mercury15 [2010]
Vie Jun 25, 2010 12:31 pm por Naruto
» Tengo una duda
Jue Jun 24, 2010 10:58 am por Naruto