curso tic de php y msql

83
PHP & MySQL Ing. Antonio J. Hdez. Blanco. Mail: [email protected] Ing. Wilian Arroba Mail:[email protected]

Upload: wilian

Post on 30-Jan-2015

3.482 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Curso TIC de PHP y MSQL

PHP & MySQL

Ing. Antonio J. Hdez. Blanco.

Mail: [email protected]

Ing. Wilian Arroba

Mail:[email protected]

Page 2: Curso TIC de PHP y MSQL

Contenido del curso

Introducción e instalación de PHP y MySQL Programación con PHP. Almacenamiento de la información en

ficheros y BD. Funciones de RED. Ejemplos de aplicaciones php y mysql.

Page 3: Curso TIC de PHP y MSQL

Contenido

Breve historia del PHP. Qué es PHP? Cómo funcionan las páginas en PHP? Instalación de PHP en W2k y *nix. Qué es MySQL? Instalación de MySQL.

Page 4: Curso TIC de PHP y MSQL

Corta historia de PHP

PHP es un lenguaje creado por una gran comunidad de personas. El sistema fue desarrollado originalmente en el año 1994 por Rasmus Lerdorf como un CGI escrito en C que permitía la interpretación de un número limitado de comandos. El sistema fue denominado Personal Home Page Tools y adquirió relativo éxito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias páginas.

Page 5: Curso TIC de PHP y MSQL

Corta historia de PHP

Dada la aceptación del primer PHP y de manera adicional, su creador diseñó un sistema para procesar formularios al que le atribuyó el nombre de FI (Form Interpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI.

Page 6: Curso TIC de PHP y MSQL

Corta historia de PHP

La siguiente gran contribución al lenguaje se realizó a mediados del 97 cuando se volvió a programar el analizador sintáctico, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet y el soporte a la gran mayoría de las bases de datos comerciales.

Page 7: Curso TIC de PHP y MSQL

Corta historia de PHP

Todas estas mejoras sentaron las bases de PHP versión 3. Actualmente PHP se encuentra en su versión 5, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades actuales y solucionar algunos inconvenientes de la anterior versión.

Page 8: Curso TIC de PHP y MSQL

Corta historia de PHP

Algunas mejoras de esta nueva versión son su rapidez -gracias a que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el código-, su mayor independencia del servidor Web -creando versiones de PHP nativas para más plataformas- y un API más elaborado y con más funciones.

Page 9: Curso TIC de PHP y MSQL

¿Qué es PHP?

El lenguaje PHP es un lenguaje de programación de estilo clásico, es decir, es un lenguaje de programación con variables, sentencias condicionales, ciclos (bucles), funciones…. No es un lenguaje de marcado como podría ser HTML, XML o WML. Está más cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.

Page 10: Curso TIC de PHP y MSQL

¿Qué es PHP?

Pero a diferencia de JavaScript que se ejecuta en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos.El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una pagina XML.

Page 11: Curso TIC de PHP y MSQL

¿Qué es PHP?

Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del browser, pero sin embargo para que las páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP.

Page 12: Curso TIC de PHP y MSQL

¿Qué es PHP?

Page 13: Curso TIC de PHP y MSQL

¿Qué se necesita para que funcione PHP?

En sistemas Operativos Windows:Versión compilada de PHP. (http://www.php.net).Un servidor Web (Apache, PWS, IIS, Etc.).

En sistemas Operativos Linux:Versión en fuente para compilar e instalar. (http://www.php.net)Servidor Web (Apache). En versión fuente para compilar e instalar. (http://www.apache.org)O instalar desde los CDs de la distro que se use.

Page 14: Curso TIC de PHP y MSQL

Qué es MySQL?

Administrador de Base de DatosUna base de datos es un conjunto de datos estructurados. Esto podría ser cualquier cosa, desde una simple lista de compras hasta una galería de pinturas o la gran cantidad de información que se maneja en una corporación. Para agregar, acceder y procesar los datos almacenados en una base de datos computacional, se necesita un sistema administrador de base de datos tal como MySQL.

Page 15: Curso TIC de PHP y MSQL

Qué es MySQL?

Además los computadores son muy buenos manejando grandes cantidades de datos, el administrador de base de datos juega un rol central en la computación, ya sea como utilidad autónoma o parte de otra aplicación.

Page 16: Curso TIC de PHP y MSQL

Qué es MySQL?

Sistema administrador de base de datos relacionalesUna base de datos relacional almacena datos en tablas separadas, más bien colocando todos los datos en un gran almacén. Esto agrega velocidad y flexibilidad. Las tablas son enlazadas por relaciones definidas haciendo posible combinar datos desde varias tablas solicitadas.

Page 17: Curso TIC de PHP y MSQL

Qué es MySQL?

El SQL forma parte de MySQL, conocido como Lenguaje de Consultas Estructurado, es el lenguaje estandarizado más común usado para acceder base de datos.

Software de Fuente AbiertaFuente abierta significa que es posible que pueda ser usado y modificado porcualquiera. Alguien puede bajar MySQL desde Internet y usar éste sin tener que pagar nada.

Page 18: Curso TIC de PHP y MSQL

Qué es MySQL?

Alguien puede estudiar el código fuente y cambiarlo de acuerdo a sus necesidades.

MySQL usa el GPL de la GNU, para definir lo que se puede hacer con el software en diferentes situaciones.

Page 19: Curso TIC de PHP y MSQL

Uso de MySQL?

MySQL es muy rápido, seguro y fácil de usar. MySQL también ha desarrollado un conjunto de características muy prácticas, en estrecha cooperación con otros usuarios.MySQL fue desarrollado para manejar grandes bases de datos mucho más rápido que las soluciones existentes y ha sido usado exitosamente en ambientes de producción con altas demandas, por varios años. Aunque está bajo un desarrollo constante.

Page 20: Curso TIC de PHP y MSQL

Uso de MySQL?

MySQL siempre ofrece conjunto de funciones muy poderoso y eficiente. La conectividad, velocidad y seguridad hace de MySQL una suite poderosa para acceder a bases de datos en Internet.

Page 21: Curso TIC de PHP y MSQL

Uso de MySQL?

MySQL es un sistema Cliente/Servidor que consta de un servidor SQL multi-hilo que soporta diferentes backends, variados programas cliente y de librerías, administrador de herramientas y un programa de interface.MySQL contribución para muchos de los software disponibles.Es mucho más probable que se encuentre que diversas aplicaciones ya soportan MySQL

Page 22: Curso TIC de PHP y MSQL

Uso de MySQL?

Ventajas de MySQL:• La mejor y más usada base de datos en el mundo.• Disponible y Accesible para todos• Fácil de usar• Se está perfeccionando continuamente mientras permanece rápida y segura.• Divertida para usar y perfeccionar.• Libre de molestias.

Page 23: Curso TIC de PHP y MSQL

Uso de MySQL?

Características principales de MySQLA continuación se describen algunas de las características más importantes de MySQL:• Escrito en C y C++, testado con GCC 2.7.2.1. Usa GNU autoconf para portabilidad.• Clientes C, C++, Eiffel,PHP,Python,JAVA, Perl, TCL.• Multiproceso, es decir puede usar varias CPU si éstas están disponibles.

Page 24: Curso TIC de PHP y MSQL

Uso de MySQL?

• Puede trabajar en distintas plataformas y S.O. distintos.• Sistema de contraseñas y privilegios muy flexible y segura.• Todas la palabras de paso viajan encriptadas en la red.• Registros de longitud fija y variable.• 16 índices por tabla, cada índice puede estar compuesto de 1 a 15 columnas o partes de ellas con una longitud máxima de 127 bytes.

Page 25: Curso TIC de PHP y MSQL

Uso de MySQL?

• Todas las columnas pueden tener valores por defecto.• Utilidad Isamchk para chequear, optimizar y reparar tablas.• Todos los datos están grabados en formato ISO8859_1.• Los clientes usan TCP o UNIX Socket para conectarse al servidor.• Todos los comandos tienen -help o -? Para las ayudas.

Page 26: Curso TIC de PHP y MSQL

Uso de MySQL?

• Soporta diversos tipos de columnas como enteros de 1, 2, 3, 4, y 8 bytes, coma flotante, doble precisión, carácter, fechas, enumerados, etc.• ODBC para Windows 95 (con fuentes), se puede utilizar ACCESS para conectar con el servidor.• Muy rápida usando joins, optimizada para un barrido multi-joins.

Page 27: Curso TIC de PHP y MSQL

Uso de MySQL?

Todas las funciones y operadores soportan en el SELECT y WHERE como partes de consultas. Ejemplo:mysql> SELECT CONCAT(nombre," ",apellido) FROM nombre_tablaWHERE ingreso >10000 AND edad >30Todas las cláusulas SQL soportan GROUP BY y ORDER BY.

Page 28: Curso TIC de PHP y MSQL

¿Instalación de MySQL?

En sistemas Operativos Windows:Versión compilada de mysql (http://www.mysql.com).º111En sistemas Operativos Linux:Versión en fuente para compilar e instalar. (http://www.mysql.com)O instalar desde los CDs de la distro que se use.

Page 29: Curso TIC de PHP y MSQL

Contenido

UN PROGRAMA DE EJEMPLO VARIABLES Y CONSTANTES OPERADORES SENTENCIAS CONDICIONALES

– IF –ELSE. SWITCH SENTENCIAS REPETITIVAS

– FOR– WHILE – DO – WHILE

Page 30: Curso TIC de PHP y MSQL

PRIMER PROGRAMA

<HTML><HEAD><TITLE>Primer Ejemplo de PHP</TITLE></HEAD><BODY><?php echo “Hola mundo PHP”;?></BODY></HTML>Guarde el archivo con el nombre de primer.php

Page 31: Curso TIC de PHP y MSQL

PRIMER PROGRAMA

Todo script PHP empieza con <?php que le indica al browser que se trata de una página con código php embebido y termina con ?>

La mayoría de las instrucciones php terminan con ; La instrucción echo sirve para desplegar texto en la

página web, también se puede substituir por print. Así la instrucción echo “Hola mundo, php”; indica

que dentro de la página web se incrustará este mensaje.

Page 32: Curso TIC de PHP y MSQL

VARIABLES Y CONSTANTES

Todos los nombres de las variables empiezan con el carácter $

Los nombres de las variables no pueden empezar con números ni caracteres especiales.

La forma de declarar una variable es así

– $MiVariable

Aunque no se le asigna tipo de dato, la variable tomará el tipo de dato que contenga el valor que se le asigne.

Tipos de Datos– int– float– double– string– array– object

Page 33: Curso TIC de PHP y MSQL

VARIABLES Y CONSTANTES

Así una forma de crear una variable con tipo de datos es:

– $MiEntero=100;– $MiCadena=“Chino”;

Además podemos realizar una conversión de tipos con las siguientes funciones

– doubleval (cadena a real)– inval (cadena a entero)– strval (número a cadena)

Ejemplo:– $Micad=“1235”;– $MiReal=intval($Micad);

Otras funciones útiles son:– isset(variable); - checa si

una variable existe o no– empty(variable); - checa si

una variable no tiene asignado un valor.

– settype(variable, tipo); - asigna un tipo de dato a una variable.

– gettype(variable); - devuelve el tipo de dato de una variable

– unset(variable); elimina variables

Page 34: Curso TIC de PHP y MSQL

VARIABLES Y CONSTANTES

Por otro lado, para crear constantes se utiliza la función:– define(nombre constante, valor);

Ejemplo: define(“PI”,3.1515926); Para comprobar si la constante existe o esta definida,

se utiliza la función:– defined(constante);

Por ejemplo:– defined(“PI”);

devuelve verdadero si la constante PI existe

Page 35: Curso TIC de PHP y MSQL

OPERADORES

Aritméticos– = (asignación)– + (suma)– - (resta)– * (multiplicación)– / (división)– % (resto de la división entera)– Operador= por ejemplo $a+=$b

es equivalente a $a=$a+$b– Variable++ (incremento)– Variable– (decremento)

Comparativos– == (igualdad)– < (menor que)

– > (mayor que)– <= (menor o igual que)– >= (mayor o igual que)– != (distinto de)– === (comparación de valor y

tipo) Lógicos

– ! (negación)– && (and)– || (or)

Cadenas– . (concatenación)

Page 36: Curso TIC de PHP y MSQL

SENTENCIA IF - ELSE

En PHP la sentencia IF se utiliza como sigue: If (condición) { código si se cumple la condición } else { código sino se cumple la condición } Ejemplo: <?php $x=3; $y=2; if ($x == $y) { print ( “tanto y como x son iguales”); } else { print (“son diferentes”); } ?>

Page 37: Curso TIC de PHP y MSQL

SENTENCIA SWITCH

Como ya sabemos el switch sirve para conmutar entre varias opciones, en php seutiliza como sigue:

switch(variable)

{ opción1:código para opción1;

break ;

opción2:código para opción2;

break;

......

opciónN:código para opciónN;

break;

default: código para la opción por defecto;

break;

}

Page 38: Curso TIC de PHP y MSQL

EJEMPLO SWITCH

<?php $a=3; switch($a) { 1:print(“estamos en la opción uno”); break; 2:print(“estamos en la opción dos”); break; 3:print(“estamos en la opción tres”); $a--; break; default:print(“No hay opciones”); }Print(“Valor de a” . $a);?>

Page 39: Curso TIC de PHP y MSQL

CICLO FOR

Igual que el lenguaje C, el ciclo for se implementa así: for (valor de inicio;condición;incremento / decremento)

{ código a repetir } Ejemplo:

<?php

print(“iniciando cuenta atrás...”);

$a=10;

for($a;$a>=0;$a--)

{ print(“\$a =$a<br>”); }

?>

Page 40: Curso TIC de PHP y MSQL

BUCLE WHILE

La implementación del bucle while en php es así: while (condición) { código a repetir } Ejemplo:<?php $a=0; print(“Cuenta hacia delante...”); while($a<=10) { print(“\$a =$a<br>”); }?>

Page 41: Curso TIC de PHP y MSQL

BUCLE DO - WHILE

Igual que C, php tamién cuenta con un ucle do – while do

{ código a repetir}

while (condición); Ejemplo:

<?php

$valor1=3;

$valor2=0;

do

{ print ($valor1.” x” . $valor2 . “ = “ .$valor1*$valor2);

$valor2++;

}while($valor2>=10);

?>

Page 42: Curso TIC de PHP y MSQL

Tablas - Vectores

Las tablas (o array en inglés), son muy importantes en PHP, ya que generalmente, las funciones que devuelven varios valores, como las funciones ligadas a las bases de datos, lo hacen en forma de tabla.

En PHP disponemos de dos tipos de tablas. El primero sería el clásico, utilizando índices:

Page 43: Curso TIC de PHP y MSQL

Tablas - Vectores

<?php$ciudad[] = "París";$ciudad[] = "México";$ciudad[] = "Roma";$ciudad[] = "Sevilla";$ciudad[] = "Londres";print ("yo vivo en " . $ciudad[1] . "<BR>\n");?>

Page 44: Curso TIC de PHP y MSQL

Tablas - Vectores

Esta es una forma de asignar elementos a una tabla, pero una forma más formal es utilizando la función array<?php$ciudad = array("París", "Roma", "Sevilla", "Londres");//contamos el número de elementos de la tabla$numelentos = count($ciudad);//imprimimos todos los elementos de la tablafor ($i=0; $i < $numelentos; $i++){print ("La ciudad $i es $ciudad[$i] <BR>\n");}?>

Page 45: Curso TIC de PHP y MSQL

Tablas - Vectores

Sino se especifica, el primer índice es el cero, pero podemos utilizar el operador => para especificar el índice inicial.

Page 46: Curso TIC de PHP y MSQL

Tablas - Vectores

Un segundo tipo, son las tablas asociativas, en las cuáles a cada elemento se le asigna un valor (key) para acceder a él.Para entenderlo, que mejor que un ejemplo, supongamos que tenemos una tabla en al que cada elemento almacena el número de visitas a nuestra web por cada día de la semana.

Page 47: Curso TIC de PHP y MSQL

Tablas - Vectores

Utilizando el método clásico de índices, cada día de la semana se representaría por un entero, 0 para lunes, 1 para martes, etc.$visitas[0] = 200;$visitas[1] = 186;Si usamos las tablas asociativas sería$visitas["lunes"] = 200;$visitas["martes"] = 186;o bien,$visitas = array("codigo">$visitas = array("lunes"=>200;"martes"=>186);

Page 48: Curso TIC de PHP y MSQL

Tablas - Vectores

Ahora bien, recorrer una tabla y mostrar su contenido es sencillo utilizando los índices, pero ¿cómo hacerlo en las tablas asociativas?. La manipulación de las tabas asociativas se a hace través de funciones que actúan sobre un puntero interno que indica la posición. Por defecto, el puntero se sitúa en el primer elemento añadido en la tabla, hasta que es movido por una función:

Page 49: Curso TIC de PHP y MSQL

Tablas - Vectores

current - devuelve el valor del elemento que indica el punteropos - realiza la misma función que currentreset - mueve el puntero al primer elemento de la tablaend - mueve el puntero al último elemento de la tablanext - mueve el puntero al elemento siguienteprev - mueve el puntero al elemento anteriorcount - devuelve el número de elementos de una tabla.

Page 50: Curso TIC de PHP y MSQL

Tablas - Vectores

<?php$semana = array("lunes", "martes", "miércoles", "jueves","viernes", "sábado", "domingo");echo count($semana); //7//situamos el puntero en el primer elementoreset($semana);echo current($semana); //lunesnext($semana);echo pos($semana); //martesend($semana)echo pos($semana); //domingoprev($semana);echo current($semana); //sábado?>

Page 51: Curso TIC de PHP y MSQL

Tablas - Vectores

Recorrer una tabla con las funciones anteriores se hace un poco enredoso, para ello se recomienda utilizar la función each().<?php$visitas = array("lunes"=>200, "martes"=>186,"miércoles"=>190, "jueves"=>175);reset($visitas);while (list($clave, $valor) = each($visitas)){echo "el día $clave ha tenido $valor visitas<BR>";}?>

Page 52: Curso TIC de PHP y MSQL

Tablas - Vectores

La función each() devuelve el valor del elemento actual, en este caso, el valor del elemento actual y su clave, y desplaza el puntero al siguiente, cuando llega al finaldevuelve falso, y termina el bucle while().

Page 53: Curso TIC de PHP y MSQL

Tablas multidimensionales

Las tablas multidimensionales son simplemente tablas en las cuales cada elemento es a su vez otra tabla.<?php$calendario[] = array (1, "enero", 31);$calendario[] = array (2, "febrero", 28);$calendario[] = array (3, "marzo", 31);$calendario[] = array (4, "abril", 30);$calendario[] = array (5, "mayo", 31);

Page 54: Curso TIC de PHP y MSQL

Tablas multidimensionales

while (list($clave, $valor ) = each($calendario)){{$cadena = $valor[1];$cadena .= " es el mes número " . $valor[0];$cadena .= "y tiene " . $varlor[2] . " días<BR>";echo $cadena;}?>La función list() es más bien un operador de asignación, lo que hace es asignar valores a unas lista de variables. En este caso los valores son extraídos de una tabla por la función each().

Page 55: Curso TIC de PHP y MSQL

Formularios

Los Formularios no forman parte de PHP, sino del lenguaje estándar de Internet, HTML, pero como éstos van a aparecer muchas veces durante el curso, vamos a dedicar esta algunas líneas a ellos.Todo formulario comienza con la etiqueta <FORM ACTION="lo_que_sea.php"METHOD="post/get">. Con ACTION indicamos el script que va procesar la información que recogemos en el formulario, mientras que METHOD nos indica si el usuario del formulario va ha enviar datos (post) o recogerlos (get).

Page 56: Curso TIC de PHP y MSQL

Formularios

La etiqueta </FORM> indica el final del formulario.A partir de la etiqueta <FORM> vienen los campos de entrada de datos que pueden ser:Botón de comando:<input type="submit" value="enviar" name="enviar">Cuadro de texto:<input type="text" name="nombre" size="20" value=“chino">

Veamos los ejemplos de formularios.

Page 57: Curso TIC de PHP y MSQL

Contenido clase # 3

Almacenamiento de la información.

Ficheros…

Bases de Datos…

Page 58: Curso TIC de PHP y MSQL

Trabajo con ficheros

fopenfopen -- Abre un archivo o una URLDescripciónint fopen (string filename, string mode [, int use_include_path])Si filename comienza con "http://" (no es sensible a mayúsculas), se abre una conexión HTTP 1.0 hacia el servidor especificado y se devuelve un apuntador de archivo al comienzo del texto de respuesta.

Page 59: Curso TIC de PHP y MSQL

Trabajo con ficheros

No maneja redirecciones HTTP, por eso se debe incluir una barra final cuando se trata de directorios.Si filename comienza con "ftp://" (no es sensible a mayúsculas), se abre una conexión ftp hacia el servidor especificado y se devuelve un apuntador al archivo requerido. Si el servidor no soporta ftp en modo pasivo, esto fallará. Se pueden abrir archivo via ftp para leer o para escribir (pero no ambas cosas simultáneamente).

Si filename no comienza con nada de lo anterior, el archivo se abre del sistema dearchivos, y se devuelve un apuntador al archivo abierto si el abrir el archivo falla, la función devuelve false.

Page 60: Curso TIC de PHP y MSQL

Trabajo con ficheros

mode puede ser cualquiera de lo siguiente:• 'r' - Abre para sólo lectura; sitúa el apuntador del archivo al comienzo delmismo.• 'r+' - Abre para lectura y escritura; sitúa el apuntador del archivo al comienzo del archivo.• 'w' - Abre para sólo escritura; sitúa el apuntador del archivo al comienzo del archivo y trunca el archivo con longitud cero. Si el archivo no existe, trata de crearlo.

Page 61: Curso TIC de PHP y MSQL

Trabajo con ficheros

• 'w+' - Abre el archivo para lectura y escritura; sitúa el apuntador del archivo al comienzo del archivo y trunca el archivo con longitud cero. Si el archivo no existe, trata de crearlo.• 'a' - Abre sólo para escribir (añadir); sitúa el apuntador del archivo al final del mismo. Si el archivo no existe, trata de crearlo.• 'a+' - Abre para lectura y escritura (añadiendo); sitúa el apuntador del archivo al final del mismo. Si el archivo no existe, trata de crearlo.

Page 62: Curso TIC de PHP y MSQL

Trabajo con ficheros

fwritefwrite -- Escribe archivos en modo binarioDescripciónint fwrite (int fp, string string [, int length])fwrite() escribe el contenido de string al fichero apuntado por fp. Si se da el argumento length, la escritura acaba antes de que length bytes sean escritos o se alcance el final de string, lo que ocurra primero.

Page 63: Curso TIC de PHP y MSQL

Trabajo con ficheros

freadfread -- Lee archivos en modo binarioDescripciónstring fread (int fp, int length)fread() lee hasta length bytes del apuntador de fichero referenciado por fp. La lectura acaba cuando length bytes se han leído o se alcanza EOF, lo que ocurra primero.

Hagamos un contador sencillo para nuestra web.

Page 64: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Para la creación de BD y tablas usaremos el phpmyadmin que es mas fácil de usar y mas interactivos, pero veremos como hacerlo del shell del sistema.

Page 65: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Conectándose y desconectándose al servidor MySQLPara conectarse al servidor, generalmente se necesita proveer a MySQL un nombre de usuario, y un password.Si el servidor corre en una máquina distinta a la que se está utilizando se debe especificar el nombre del host (máquina). Cuando se conocen todos estos parámetros la conexión se realiza de la siguiente manera:shell> mysql -h host -u user -pEnter password:*********

Page 66: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Si la conexión se realizó con éxito, mysql despliega el siguiente mensaje:Welcome to the MySQL monitor. Commands end with; or\g.Your MySQL connection id is 459 to server version: 3.22.20a-logType "help" for help.mysql>

Page 67: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

El prompt indica que mysql está listo para recibir los comandos que ingrese el usuario. Algunas instalaciones de MySQL admiten usuarios anonymous (sin nombre)cuando el servidor corre en el host local. En este caso, se debe invocar a el servidor mysql sin ninguna opción:shell>mysqlUna vez que se ha realizado la conexión con éxito, para desconectarse al servidor en cualquiera de los dos casos anteriores se debe escribir QUIT o control-D.

Page 68: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Creando y usando una base de datosVisualización de las bases de datos existentes en el servidor MySQLAntes de crear una base de datos, se debe conocer que base de datos existen actualmente en el servidor, para ello se utiliza el comando SHOW, de la siguiente manera:mysql> SHOW DATABASES;

Page 69: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

+----------+| Database |+----------+| mysql || test || tmp |+----------+Esta lista probablemente no es igual en todas las máquinas, pero las bases de datos mysql y test están siempre entre ellas. La base de datos mysql se requiere porque en ella se describe la información de los privilegios de acceso a los usuarios.

Page 70: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Selección de una base de datosPara seleccionar o acceder a una base de datos determinada se utiliza el comandoUSE:mysql> USE testDatabase changedUna vez, que se ha realizado la conexión con éxito se puede comenzar a trabajar con la base de datos, pero siempre y cuando se tengan los permisos adecuados.

Page 71: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Si no se tienen los permisos el administrador debe darle los permisos al usuario para poder trabajar, esto serealiza con la ejecución del siguiente comando:mysql> GRANT ALL ON nombre_database.* TO nombre_usuario;

Page 72: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Creación de una base de datosPara crear una base de datos se debe tener permiso para poder crear base de datos en el servidor MySQL , si se tiene el permiso entonces la sentencia a seguir es:

mysql> CREATE DATABASE nombre_database;Bajo Unix, los nombres de las bases de datos y de las tablas son sensibles, esto quiere decir que se hace diferencia entre minúsculas y mayúsculas, así es que para referirse a una base de datos determinada hay que llamarla tal como se le nombro cuando fue creada.

Page 73: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Creación de tablasPara crear las tablas que va a contener la base de datos, se realiza de la siguiente forma:mysql> CREATE TABLE nombre_tabla(campo_1 tipo(tamaño), campo_2tipo(tamaño),...,campo_n tipo(tamaño));El campo indica el nombre de la columna y tipo(tamaño) específica el tipo de dato y el espacio que se va a conservar para cada dato almacenado en esa columna.

Page 74: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Ejemplo:codigo int(5), nombre char(25), fecha date, etc.. Cuando se trata de fechas no se específicael tamaño, puesto que ya está determinado. Para visualizar las tablas que tiene una base dedatos se usa el mismo comando utilizado para ver las bases de datos, pero con la diferenciade que en vez de database se coloca tables, es decir:

Page 75: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

mysql> SHOW TABLES;Para verificar que la tabla ha sido creada de la forma indicada, se usa el comando DESCRIBE. Ejemplo: Se va a crear una tabla llamada clientes, de la siguiente forma:mysql> CREATE TABLE clientes( rut char(8),nombre char(25), direccion char(50), telefono int(10));mysql> DESCRIBE clientes;

Page 76: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

+----------+-----------+------+-----+--------+-------+| Field | Type | Null | Key | Default| Extra |+----------+-----------+------+-----+--------+-------+| rut | char(12) | YES | | NULL | || nombre | char(25) | YES | | NULL | || direccion| char(50) | YES | | NULL | || telefono | int(10) | YES | | NULL | |+----------+-----------+------+-----+--------+-------+

Page 77: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Esto es muy útil cuando se olvida el nombre o tipo de una columna. El Field indica el nombre de la columna, Type es el tipo de dato que acepta esa columna, Null indica si la columna puede contener valores NULL, Key indica la clave por la cual la columna se va a indexar y Default específica el valor por defecto que tiene la columna.

Page 78: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Ingreso de Datos a las tablasPara ingresar información a una tabla se puede hacer básicamente de dos maneras.La primera se utiliza cuando se tiene mucha información a ingresar de una sola vez, entonces es conveniente almacenar esta información en un archivo de texto, es decir, .txt.Una vez que se tiene este archivo, se procede de la siguiente forma:mysql> LOAD DATA LOCAL INFILE "nombre_archivo.txt" INTO TABLE nombre_tabla;

Page 79: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Para el caso que se desee ingresar un solo registro, entonces la sentencia a seguir es:mysql> INSERT INTO nombre_tabla VALUES(``valor_1'',''valor_2'',....,Los datos a ingresar se separan por comas y van entre comillas. Estos datos indican los valores que va a tomar cada una de las columnas, según el orden en que fueron creadas.En el caso que se quiera ingresar un valor NULL no es necesario las comillas, sólo se coloca NULL.

Page 80: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Recuperación de la InformaciónPara recuperar la información que está contenida en una tabla, la sentencia general a seguir es:mysql> SELECT qué_es_lo_que_se_desea_ver FROM nombre_tabla WHERE condiciones_a_satisfacer;

Para los casos en que, se requiera:o Ver o seleccionar toda la información de una tabla:o mysql> SELECT * FROM nombre_tabla;o Seleccionar filas en particular:o mysql> SELECT * FROM nombre_tabla WHERE nombre_columna="lo que se desee buscar"

Page 81: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

o Seleccionar columnas en particular:o mysql> SELECT nombre_columna_1, nombre_columna_n FROMnombre_tabla;Esto es conveniente cuando no se desea ver toda la fila o registro, entonces solo se seleccionan aquellas columnas en las que se esté interesado..

Page 82: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Creación de una bd y su tabla.. Desde el shell

CREATE TABLE tablacurso (id tinyint(3) unsigned NOT NULL auto_increment,nombre varchar(30) DEFAULT '0' ,direccion varchar(30) DEFAULT '0' ,telefono varchar(30) DEFAULT '0' ,email varchar(30) DEFAULT '0' ,imagen varchar(30) DEFAULT '0' ,PRIMARY KEY (id));

Page 83: Curso TIC de PHP y MSQL

Trabajo con BD MySQL

Conectar desde php<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) {   die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>