Está en la página 1de 39

ESPECIALIZACIN WEBMASTER

Desarrollo de aplicaciones con PHP y MySQL

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

TRABAJAR CON MySQL


Base de Datos MySQL Esquema Bsico de Una Aplicacin Web y BD Acceso a la base de datos a travs de la lnea de comandos.
Operadores Comandos Gestionar la BD

CENTRO DE COMERC IO

Herramienta de administracin: phpMyAdmin SQL: Lenguaje de Consulta Estructurado.

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Base de Datos MySQL


MySQL es la base de datos ms popular Open Source, con gran performance , fiable y fcil de usar, hace parte del grupo de aplicaciones de LAMP, La usan Empresas como Facebook, Google, Alcatel, Adobe entre otras. Corre en ms de 20 plataformas Tiene un buen soporte y documentacin en la Web Las Bases de datos permiten almacena informacin de forma estructurada y eficiente, disminuyen el tiempo de bsqueda , proporcionan informacin actualizada.

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

CENTRO DE COMERC IO

SERVICIOS CAUCA

Esquema Bsico de una Aplicacin Web y BD

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Acceso a la base de datos a travs de la lnea de comandos.


Una de las formas de comunicarse con MySQL es a travs de la lnea de comandos, vamos a inicio y digitamos cmd y damos enter.
Aparecer la lnea de comandos , desde aqu accedemos a el directorio donde esta instalado MySQL C:\xampp\mysql\bin. Y realizamos la ejecucin digitando mysql

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA Y

Operadores
Para observar la lista completa de comandos que MySQL interpreta, escriba help o \h en la lnea de comandos a continuacin observaremos algunos operadores y su significado.
OPERADOR SIGNIFICADO Solicita que introduzca un comando Solicita que introduzca la siguiente lnea de comando. Solicita que introduzca la siguiente lnea de una cadena que comienza por un apstrofe Solicita que introduzca la siguiente lnea de una cadena que comienza por comillas mysql> -> > >

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Comandos
A continuacin veremos una lista de comandos y su significado.
COMANDO PARMETRO quit SIGNIFICADO Sale del cliente de lnea de comando. Nombre de base de datos Tablas o bases de datos Nombre de la tabla Un a base de datos especifico. Muestra listas con las tablas o las bases de datos disponibles. Describe las columnas de una tabla Muestra la versin de una base de datos y su estado Nombre de archivo Ejecuta comandos desde un archivo como un script.

Y CENTRO DE COMERC IO use show describe status source

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

Gestionar la base de datos


Cuando ya este conectado a la base de datos, ya puede crear usuarios, bases de datos y tablas. Crear Usuarios. Para crear usuarios, ms all del usuario con privilegios por defecto root, utilice el comando grant. ste emplea la siguiente sintaxis:
GRANT PRIVILEGES ON DATABASE: OBJECTS TO usuario@ nombre_servidor IDENTIFIED BY Contrasea;

A continuacin veremos un ejemplo.

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Ejemplo de creacin de un usuario.


localhost GRANT PRIVILEGES ON *.* TO SENA@ localhost IDENTIFIED BY w3bMast3r;

Esta instruccin crea el usuario SENA, que posee acceso ilimitado de forma local. Para cambiar de usuario teclee la siguiente lnea de comando en MySQL:
exit

CENTRO DE COMERC IO

A continuacin inicie MySQL desde la lnea de comando con el nuevo nombre de usuario y contrasea. La sintaxis a emplear para especificar el nombre de usuario y contrasea al iniciar MySQL es:
mysql h nombre_servidor u nombre_usuario pcontrasea

Observe que no hay espacios entre p y contrasea. MySQL solicitar la contrasea si no aade nada despus de la marca -p. Si quiere que los usuarios accedan nicamente a sus propias tablas, reemplace * en la lnea GRANT PRIVILEGES ON *.* TO SENA por el nombre de la base de datos como se ve en la siguiente lnea. localhost GRANT PRIVILEGES ON tienda.* TO SENA@ localhost IDENTIFIED BY w3bMast3r;

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

Usuario ROOT
Para ejecutar la lnea anterior tendr que estar como root o con un usuario con privilegios. En el cdigo anterior, el comando tienda establece la base de datos sobre la

cual se asignan privilegios, los cuales crearn a continuacin. Para crear la base de datos tienda se emplea el comando CREATE DATABASE de la siguiente forma: CREATE DATABASE tienda; Otro ejemplo para la creacin de una base de datos de noticias inmobiliarios es: lindavista; CREATE DATABASE lindavista;

Si esto funciona obtendr una fila como la siguiente: Query OK, 1 row affected (0.03 sec)

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

Comenzar a usar la base de datos


Para comenzar a usar la base de datos escriba: USE tienda; Obtendr el siguiente resultado: changed. Database changed. Si lo ha hecho bien, obtendr nuevos datos los cuales podr seleccionar para ser usados

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Herramienta de administracin: phpMyAdmin


phpMyAdmin es una herramienta para la administracin del servidor de bases de datos MySQL Dispone de una interfaz grfica y es de libre distribucin Permite realizar todo tipo de operaciones sobre bases de datos:
crear, borrar y modificar tablas consultar, insertar, modificar y eliminar datos definir usuarios y asignar permisos realizar copias de seguridad

CENTRO DE COMERC IO

Est escrita en php y se ejecuta desde el navegador Si est instalada en la carpeta phpmyadmin, se ejecuta escribiendo en la barra de direcciones del navegador la url http://localhost/phpmyadmin/ Puede administrar bases de datos locales y remotas
ING. LEONARDO JAVIER BASTIDAS MORENO

CENTRO DE COMERC IO

SERVICIOS CAUCA

INTERFAZ GRFICA DE phpMyAdmin

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Seleccionando una Base de Datos a administrar en MySQL


BD cdcol TABLA cds Consulta SQL

CENTRO DE COMERC IO

Datos desplegados

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

SQL: Lenguaje de consulta Estructurado


SQL (Structured Query Language) es el lenguaje que se utiliza para comunicarse con la base de datos Procedimiento de comunicacin con la base de datos:
Una vez se ha definido lo que es una tabla en una base de datos, podemos incluir datos en ella. A travs de SQL podemos aadir, recuperar y manipular datos.

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

INSTRUCCIONES HABITUALES
Las instrucciones ms habituales son SELECT, INSERT, UPDATE, DELETE Veamos su sintaxis bsica y algunos ejemplos de uso Para ello utilizaremos una tabla noticias con cinco campos: un identificador nico de la noticia, el ttulo de la noticia, el texto de la noticia, la categora de la noticia y la fecha de publicacin de la noticia

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

CREAR TABLAS
Puede usar el comando create table para especificar la estructura de nuevas tablas dentro de la base de datos. Al crear la tabla esta tendr algunas opciones, a dems del nombre y tipo de datos. Al aadir datos a la tabla son especificados empleando el comando NOT NULL. La palabra clave PRIMARY KEY Indica a MySQL qu columna debe emplear como campo principal. Se puede hacer que esta clave sea auto incremental con el comando AUTO_INCREMENT

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

CENTRO DE COMERC IO

SERVICIOS CAUCA

CREANDO LA TABLA NOTICIAS

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

AADIENDO DATOS A UNA TABLA


El comando INSERT se emplea para aadir datos. SINTAXIS:
INSERT INTO tabla COLUMS ([columnas]) VALUES ([valores]); Si no especificamos las columnas, los valores deben aparecer en el mismo orden en el que fueron definidas al crear la tabla (siempre y cuando no se omita ningn valor de las columnas) hay normas especificas sobre como manejar sus datos para rellenar su base de datos empleando comandos SQL:
Los valores numricos no debe aparecer entre comillas Las cadenas deben incluirse entre comillas Los datos hora y fecha deben incluirse entre comillas Las funciones no deben incluirse entre comillas NULL no debe aparecer entre comillas.
ING. LEONARDO JAVIER BASTIDAS MORENO

CENTRO DE COMERC IO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

AADIENDO DATOS A LA TABLA NOTICIAS


INSERT INTO noticias VALUES (1, 'Nueva promocin en Nervin', '145 viviendas de lujo en urbanizacin ajardinada situadas en un entorno privilegiado', 'promociones', '2004-02-04', NULL); INSERT INTO noticias VALUES (2, 'ltimas viviendas junto al ro', 'Apartamentos de 1 y 2 dormitorios, con fantsticas vistas. Excelentes condiciones de financiacin.', 'ofertas', '200402-05', NULL); INSERT INTO noticias VALUES (3, 'Apartamentos en el Puerto de Sta Mara', 'En la playa de Valdelagrana, en primera lnea de playa. Pisos reformados y completamente amueblados.', 'costas', '2004-02-06', 'apartamento8.jpg'); INSERT INTO noticias VALUES (4, 'Casa reformada en el barrio de la Judera', 'Dos plantas y tico, 5 habitaciones, patio interior, amplio garaje. Situada en una calle tranquila y a un paso del centro histrico.', 'promociones', '2004-02-07', NULL); INSERT INTO noticias VALUES (5, 'Promocin en Costa Ballena', 'Con vistas al campo de golf, magnficas calidades, entorno ajardinado con piscina y servicio de vigilancia.', 'costas', '200402-09', 'apartamento9.jpg');

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

SENTENCIA SELECT
Sintaxis:

CENTRO DE COMERC IO

SELECT expresin FROM tabla [WHERE condicin] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT [offset,] row_count | row_count OFFSET offset]

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

Limitar los resultados empleando WHERE


Si por ejemplo, slo quiere mostrar las fechas de noticias de un determinado da Ejemplo:
SELECT * from noticias WHERE fecha=CURDATE() LIMIT 10 ORDER BY fecha DESC

Obtiene las noticias del da con un tope mximo de 10, ordenadas de la ms reciente a la ms antigua

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

SENTENCIA INSERT
Sintaxis:
INSERT [INTO] nombre_tabla [(nombre_columna,...)] VALUES ((expresin | DEFAULT),...), (...),... INSERT [INTO] nombre_tabla SET nombre_columna=(expresin | DEFAULT), ...

CENTRO DE COMERC IO

Ejemplo:
INSERT INTO noticias (id, titulo, texto, categoria, fecha) VALUES (37, Nueva promocin en Nervin, 145 viviendas de lujo en urbanizacin ajardinada situadas en un entorno privilegiado, promociones, CURDATE())

Inserta una noticia con los valores indicados


ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

SENTENCIA UPDATE
Sintaxis:
UPDATE nombre_tabla SET nombre_columna1=expr1 [, nombre_columna2=expr2 ...] [WHERE condicin] [ORDER BY ...] [LIMIT row_count]

CENTRO DE COMERC IO

Ejemplo: UPDATE noticias SET categoria = ofertas WHERE id=37 Modifica la categora de la noticia con id=37 de la tabla

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

SENTENCIA DELETE
Sintaxis: DELETE FROM nombre_tabla [WHERE condicin] [ORDER BY ...] [LIMIT row_count] Ejemplo: DELETE FROM noticias WHERE fecha < CURDATE()-10 Borra las noticias con ms de 10 das de antigedad

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

MANIPULACIN DE DEFINICIONES DE TABLAS


Una vez haya creado una tabla, y comience a almacenar informacin en ella, puede que tenga que realizar una modificacin de los tipos de columna. Por ejemplo, puede que un campo en el que especifico solo 30 caracteres necesita en realidad un tamao de 100. Podra redefinir toda la tabla, pero esto le haria perder todos los datos con los que contaba. Afortunadamente, MySQL le permite modificar los tipos de columnas sin perder sus datos.

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA Y CENTRO DE COMERC IO

CAMBIAR EL NOMBRE DE UNA TABLA


Para cambiar el nombre de una tabla debe usar la sintaxis: ALTER TABLE tabla RENAME nueva_tabla, para este ejemplo primero creemos la tabla libros.
CREATE TABLE libros ( titulo_id INT NOT NULL AUTO_INCREMENT, titulo VARCHAR (150), paginas INT,PRIMARY KEY (titulo_id));

Ahora cmbiele el nombre libros por publicaciones as: ALTER TABLE libros RENAME publicaciones;

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

CAMBIAR EL TIPO DE DATOS DE UNA COLUMNA


Para modificar los tipos de datos de una columna, debe usar la sintaxis:
ALTER TABLE tabla MODIFY tipo de datos de la columna Para mostrar un ejemplo crearemos una tabla llamada autores.
CREATE TABLE autores (autor_id INT NOT NULL AUTO_INCREMENT, titulo_id INT NOT NULL, autor VARCHAR (125), PRIMARY KEY (autor_id));

ahora modificaremos el campo auto para que pueda albergar 150 caracteres
ALTER TABLE autores MODIFY autor VARCHAR(150);

El comando MODIFY puede considerar, de forma opcional, uno de dos parmetros para modificar el orden en que aparece la columna dentro de la tabla . El comando FIRST hace que la columna aparezca en primer lugar en la tabla. AFTER columna hace que aparezca despues de la columna especificada. Por ejemplo en el siguiente cdigo la columna autor va a ocupar la posicin siguiente de id_autor.
ALTER TABLE autores MODIFY autor varchar(125) AFTER autor_id;

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA Y CENTRO DE COMERC IO

CAMBIAR EL NOMBRE DE UNA COLUMNA


Para renombrar una columna debe usar la sintaxis

ALTER TABLE tabla nuevo_nombre_columna antiguo_nombre_columna definicin_nueva_columna


Ejemplo: vamos a cambiar el nombre de la columna autor por el de nombre_autor
ALTER TABLE autores CHANGE autor nombre_autor varchar(125);

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Eliminar una columna / Tabla


Si al examinar las tablas de una BD decide que no necesita una columna en concreto, puede eliminarla. Sintaxis: ALTER TABLE tabla DROP columna; Ejemplo: en la tabla libros vamos a eliminar la columna paginas. Por tanto ya no sabremos cuantas paginas tienen los libros que aparecen en la BD
ALTER TABLE publicaciones DROP COLUMN paginas;

CENTRO DE COMERC IO

Para eliminar una tabla por completo tambien podemos utilizar el comando DROP
DROP TABLE test_table; ADVERTENCIA: Sea muy cuidadoso al eliminar las columnas o tablas. Al hacerlo puede perder datos o afectar el funcionamiento correcto de un programa.

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

COMBINAR TABLAS
La sentencia SELECT le permite ejecutar una consulta sobre ms de una tabla a la vez. Ejemplo: creemos la tabla compras y le agregamos un par de entradas de prueba
CREATE TABLE compras ( id_compra int NOT NULL AUTO_INCREMENT, id_usuario varchar(10) NOT NULL, id_titulo int(11) NOT NULL, purchased timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (id_compra)); INSERT INTO compras' VALUES (1, 'mdavis', 2, '2005-11-26 17:04:29'); INSERT INTO compras' VALUES (2, 'mdavis', 1, '2005-11-26 17:05:58');

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

El resultado de este ejemplo sera:


SELECT * FROM compras;

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Para crear una consulta que muestre las compras, autor y pginas
introduzca la siguiente instruccin SELECT libros.*, autores FROM libros, autores WHERE libros.id_titulo = autores.id_titulo; NATURAL JOIN: con esta sentencia se puede realizar la misma consulta, pero teniendo que teclear menos. Al empezar este comando, MySQL toma dos tablas y combina de forma automtica aquellos campos que tienen el mismo nombre. En el caso de las tablas con las que estamos trabajando, este sera el campo id_titulo.NATURAL JOIN es lo suficiente listo para no mostrar dos veces id_titulo, miremos el cdigo: SELECT * FROM libros NATURAL JOIN autores;
ING. LEONARDO JAVIER BASTIDAS MORENO

CENTRO DE COMERC IO

SERVICIOS CAUCA

Otros comandos
Join on: SELECT * FROM libros JOIN autores ON (libros.id_titulo=autores.id_titulo); Alias: SELECT * FROM libros AS l,autores AS a WHERE l.id_titulo = a. id_titulo; Busquedas con caracter % junto con LIKE SELECT * FROM autores WHERE autor LIKE "%b%"; Operadores Lgicos: puede utilizar junto con la clausula WHERE and, or y not.
ING. LEONARDO JAVIER BASTIDAS MORENO

CENTRO DE COMERC IO

SERVICIOS CAUCA

TALLER
Crear la base de datos lindavista. Crear la tabla noticias en la base de datos lindavista. Ejecutar las consultas con las sentencias vistas anteriormente. Cree una tabla llamada meses que contenga el numero del mes y el numero de da de cada mes. Elabore las instrucciones insert para incluir los meses y los das. Elabore una instruccin select para mostrar el mes que slo tiene 28 das. Elabore una consulta para mostrar slo aquellos meses que terminan en embre Consulte que es una Base de datos Relacional.

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA

Actividades
Envie las actividades planteadas a: lejabamo@misena.edu.co ASUNTO: FICHA 377181 - WEBMASTER NOMBRE_APELLIDO

CENTRO DE COMERC IO

ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

BIBLIOGRAFIA
PHP Y MySQL, Michele E. y Jon A. Phillips, ANAYA Multimedia,2008 Desarrollo de Aplicaciones Web, Ralph Moseley, ANAYA Multimedia,2007 Domine PHP y MySQL 2 Ed. Jose Lopez Quijado, ALFAOMEGA. PHP y MySQL, Tecnologas para el desarrollo de aplicaciones Web, Angel Cobo,2005. http://www.aulafacil.com/mysql/curso/Temario.htm Desarrollo de aplicaciones Web con PHP y MySQL http://www.lsi.us.es/cursos/cursophp/
Jos Mariano Gonzlez Romano mariano@lsi.us.es
ING. LEONARDO JAVIER BASTIDAS MORENO

SERVICIOS CAUCA CENTRO DE COMERC IO Y

RECURSOS
http://www.manualdephp.com/manualphp/formulariosphp.html http://www.anayamultimedia.es/cgi-bin/main.pl php.net/manual/es/resource.php recursophp.com/ http://www.ejemplode.com/20-php/ http://phpcodigo.blogspot.com/ http://www.lawebdelprogramador.com/codigo/PHP/inde x1.html

ING. LEONARDO JAVIER BASTIDAS MORENO

CENTRO DE COMERC IO

SERVICIOS CAUCA

PREGUNTAS?

ING. LEONARDO JAVIER BASTIDAS MORENO

También podría gustarte