Php Con Mysql

download Php Con Mysql

of 21

  • date post

    19-Oct-2015
  • Category

    Documents

  • view

    126
  • download

    0

Embed Size (px)

Transcript of Php Con Mysql

PHP con MySQL: Introduccin a SQLSQL(Structured query language) es el lenguaje para interactuar con las bases de datos, el cual nos permitir insertar registros, actualizar registros, buscar registros as como manipular tablas.El lenguaje SQL es semejante en todos los servidores de base de datos salvo pequeas diferencias, en nuestro caso veremos una gua de SQL para MySQL. Los ejemplos los puedes probar directamente en la lnea de comandos de MySQL o en algn cliente comophpMyAdminoNavicat.

Preparando los datosPara nuestro ejemplo imaginemos que necesitamos almacenar los datos de una empresa. Para cada empresa necesitamos guardar: nombre, direccin, telfono y una imagen con su logo. Entonces necesitaremos crear una tabla a la que llamaremos empresa la cual tendr 5 campos: id: ser el identificador (interno) de la empresa el cual ser un nmero entero. nombre: es el campo que aceptar una cadena de texto con el nombre de la empresa. direccion: campo que guardar una cadena de texto con la direccin de la empresa. telefono: es un campo que aceptar solo nmeros que representan el telfono de la empresa. imagen: es el campo donde guardaremos el nombre del archivo del logo de la empresa.

Crear tablas con SQLPara definir la estructura de la tabla utilizaremosCREATE TABLE, donde se asigna el nombre de la tabla as como cada uno de los campos indicando que tipos de datos vamos a almacenar. Entre los principales tipos de datos disponibles tenemos: int: que permite guardar nmeros enteros. float: permite almacenar datos decimales. date: para guardar fechas, el formato de la fecha esaaaa-mm-dd. datetime: es para guardar fecha y hora, el formato esaaaa-mm-dd hh:mm:ss. time: para almacenar la hora, el formato de la hora eshh:mm:ss. char(n): almacena una cadena de texto de longitud fijan(De 0 a 255 caracteres). varchar(n): para cadenas de tamao variable de hastancaracteres (De 0 a 255). textes un campo para almacenar textos de hasta 65535 caracteres.

Para nuestro ejemplo crearamos la tabla con 5 campos, donde el primero de ellos ser el identificador de la empresa que ser un entero que ser ir auto-incrementando.[SQL]CREATE TABLE empresa (id int(11) NOT NULL AUTO_INCREMENT,nombre varchar(180),direccion varchar(180),telefono int(8),imagen varchar(50))[/SQL]

Notese que por cada campo definimos el tipo de dato que puede almacenar. Los campos nombre y direccin aceptan textos de hasta 180 caracteres mientras que el campo imagen solo acepta 50 caracteres como mximo.

Insertar datos con SQLPara insertar datos en las tablas haremos uso de la sentenciaINSERT INTO, para ello podemos indicar los campos con sus respectivos valores, esto respetando los tipos de datos aceptados.Para nuestra tabla recin creada, insertaremos registros de la siguiente forma:[SQL]INSERT INTO empresa (nombre, direccion, telefono, imagen)VALUES (Apple, 1 Infinite Loop, Cupertino, 89961010, apple.png)[/SQL]

Como se aprecia no es necesario incluir el dato para elidpor el del tipo AUTO_INCREMENT lo cual significa que se crear automticamente y con un valor incrementado en 1 al anterior registro.Si estamos insertando todos los valores de una tabla, podramos obviar los nombres de los campos si mantenemos el mismo orden en el que fueron creados los campos.

[SQL]INSERT INTO empresaVALUES (Apple, 1 Infinite Loop, Cupertino, 89961010, apple.png)[/SQL]

Tambin se pueden insertar solo algunos campos de la tabla y no necesariamente en el orden en que fueron creados los campos en donde si debemos indicar los nombres de los campos, por ejemplo:

[SQL]INSERT INTO empresa (nombre, logo)VALUES (Apple, apple.png)[/SQL]

Los campos para los que no asignamos valores tendrn valores nulos o el valor por defecto que hayamos definido en la creacin de la tabla.

Editar datos con SQLPara actualizar datos de los registros de una tabla se puede utilizarUPDATE, donde indicamos la tabla donde se harn los cambios, los campos a reemplazar con sus respectivos valores asi como la condicin que se debe cumplir para realizar el cambio de los datos.Para hacer uso de estas condiciones, MySQL provee de funciones de comparacin como: =para comparar si dos valores son iguales. para comparar si dos valores son diferentes. !=para comparar si dos valores son diferentes. Igual al operador . prueba si el datos es mayor a otro. IS NULLdevuelve verdadero si el campo es nulo. IS NOT NULLverdadero si el campo no es nulo.

Adicionalmente se pueden utilizar las funciones booleanas comoNOT,AND,ORyXOR.Continuando con nuestro ejemplo, suponiendo que tenemos registrada una empresa con el identificador 57, podramos actualizar los datos de la siguiente forma:

[SQL]UPDATE empresaSET nombre = Google, direccion = 1600 Amphitheatre Parkway, Mountain ViewWHERE id = 57[/SQL]Tambin podramos asignar una imagen por defecto a todas las empresas que no tengan logo, para ello haramos:

[SQL]UPDATE empresaSET imagen = logo-default.pngWHERE imagen IS NULL[/SQL]

Eliminar datos con SQLPara eliminar datos utilizaremosDELETE FROM, en esta sentencia indicamos sobre que tabla vamos a realizar la eliminacin adems de la condicin que se debe cumplir para realizar la eliminacin.

En nuestro ejemplo eliminaremos todas las empresas que tengan el campo del nombre vacio o nulo.

[SQL]DELETE FROM empresaWHERE nombre IS NULL OR nombre = [/SQL]

Consultar datos con SQLPara consultar datos (extraer datos) de una tabla se utilizaSELECTindicando los campos que deseamos extraer y el nombre de la tabla que utilizaremos.Para nuestra tabla de ejemplo si deseamos consultar todas nombres y direcciones de las empresas:

[SQL]SELECT nombre, direccion FROM empresa[/SQL]

Se pueden utilizar alias para los campos extrados, por ejemplo:

[SQL]SELECT nombre as Empresa, direccion as Direccin FROM empresa [/SQL]

Si deseamos extraer todos los campos podemos utilizar el caracter*.

[SQL]SELECT * FROM empresa[/SQL]

Filtrando los resultadosPodemos aplicar condiciones a nuestras consultas con la directivaWHERE.

Para extraer la empresa con identificador 57 la consulta sera:

[SQL]SELECT * FROM empresa WHERE id = 57[/SQL]

Si deseamos mostrar todas las empresas que tengan registradas su direccin:

[SQL]SELECT * FROM empresa WHERE direccion IS NOT NULL[/SQL]

Tambim podriamos consultar todas las empresas cuyo nombre empiece con la letra A.

[SQL]SELECT * FROM empresa WHERE nombre like A%[/SQL]

Ordenando los resultadosPara el ordenamiento de los resultados se utilizaORDER BY, este define por que campo se har el ordenamiento as como si ser en forma ascendente (ASC) o descendente (ASC).

Si utilizamos nuestra tabla de ejemplo podramos listar todas las empresas en orden alfabetico:

[SQL]SELECT * FROM empresa ORDER BY nombre ASC[/SQL]

Contando los resultadosEs posible contar los registros utilizandoCOUNT, esto unido al filtro de datos es til para hacer conteos de datos.Si deseamos conocer cuantas empresa registradas tenemos:

[SQL]SELECT COUNT(*) FROM empresa[/SQL]

Podramos conocer cuantas empresas tienen registradas direcciones vacas:

[SQL]SELECT COUNT(*) FROM empresa WHERE direccion = [/SQL]

Limitando los resultadosMySQL permite limitar la cantidad de resultados utilizando la palabra LIMIT, esta sentencia es muy flexible pues permite definir a partir de que registro y la cantidad de datos devueltos.

Si deseamos visualir las 5 ultimas empresas registradas en nuestra tabla tendramos:

[SQL]SELECT * FROM empresa ORDER BY id DESC LIMIT 5[/SQL]

Si estamos mostrando los resultados ordenados alfabeticamente en grupos de 10, tendramos:

[SQL]/* Para mostrar los primero 10 resultados */SELECT * FROM empresa ORDER BY nombre ASC LIMIT LIMIT 0, 10/* Para mostrar los siguientes 10 resultados */SELECT * FROM empresa ORDER BY nombre ASC LIMIT LIMIT 10, 10[/SQL]

Ahora ya podemos crear, editar, eliminar y consultar los datos utilizando condiciones con la posibilidad de filtrar, ordenar y limitar los resultados.

PHP con MySQL: Crear una conexin a MySQLLa conexin de PHP con MySQL es el primer paso para crear aplicaciones web. Al tener una conexin podremos insertar, editar y consultar registros de una Base de Datos lo cual nos permitir crear aplicaciones que permitan a los visitantes a consultar informacin de acuerdo a sus necesidades.

Crear una conexin con MySQLPara crear una conexin con MySQL hacemos uso de la funcinmysql_connecty luego definimos la base de datos que vamos a utilizar por medio de la funcinmysql_select_db.

PHP1. $conexion = mysql_connect("localhost", "usuario", "clave");2. mysql_select_db("demo", $conexion);En la primera lnea hemos creado la conexin a un servidor local y luego hemos seleccionado la base de datosdemola cual utilizaremos para consultar datos segn nuestras necesidades.

Explicando la Conexin

En el ejemplo hemos utilizado la funcinmysql_connect, el cual recibe tres parmetros.

CODE1. mysql_connect("server", "username", "password")

Donde se tienen: server: es la direccin IP o el nombre del servidor de base de datos. username: nombre usuario para acceder a MySQL. password: clave de acceso a MySQL.

Cerrando la ConexinUna vez creada la conexin y hecho las consultas necesarias a nuestra base de datos, es necesario cerrar esa conexin de esta forma liberamos recursos del servidor y mejoramos el rendimiento de nuestra aplicacin.

PHP1. mysql_close($conexion);

Para cerrar la conexin hemos utilizado la funcin mysql_close que recibe como parmetro el identificador de la conexin.

Recomendaciones Se recomienda hacer la conexin en un archivo externo, para poder utilizarlo en diferentes pginas. De esta forma si cambiamos de servidor solo editamos el archivo de conexin con los nuevos datos de conexin.