domingo, 6 de febrero de 2011

MySQL

Características de MySQL
–Modelo relacional, multiusuario
 
Tipos de datos
–Numéricos
•tinyint, smallint, mediumint, int, integer,  
bigint
•decimal, float, numeric
–Fecha y hora
•date, time, datetime, year, timestamp
–Cadena
•char, varchar
•tinytext, text, mediumtext, longtext
•tinyblob, blob, mediumblob, longblob
•enum, set
–Debe elegirse adecuadamente el tipo y el 
tamaño de cada campo


Operadores
–Aritméticos
•+, -, *, /
–Comparación
•=, !=, <=, <, >=, >, IS NULL, IS NOT NULL
–Lógicos
•not (!), and (&&), or (||), xor
Funciones
–Funciones de cadena
–Funciones de comparación de cadenas
–Funciones numéricas
–Funciones de fecha y hora
–Funciones de agregado


Herramientas de administración: phpMyAdmin 


phpMyAdmin es una herramienta para la 
administración del servidor de bases de datos  
MySQL
Dispone de una interfaz gráfica y es de libre 
distribución
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
–etc
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



phpMyAdmin



1:Configurar
–El fichero de configuración se llama  
config.inc.php
–Este fichero no existe sino que hay que 
crearlo. Para ello se hace una copia del 
fichero config.sample.inc.php, situado 
en la carpeta donde se haya instalado  
phpMyAdmin, y se le pone como nombre  
config.inc.php
–Seguidamente se modifica el fichero  
config.inc.php
–Configuración típica para un servidor 
local:

  ...

  $cfg['Servers'][$i]['host']  = 'localhost'; //MySQL  
hostname

  $cfg['Servers'][$i]['user']  = 'root';      //MySQL  
user

  $cfg['Servers'][$i]['password'] = 'clave';  //MySQL  
password

  ...

  siendo ‘clave’ la contraseña asignada 
al administrador (root) de MySQL durante 
su instalación
    

2: Ejecutar
–Ejecutar Apache
–Abrir el navegador y teclear la url 
http://localhost/phpmyadmin



Lenguaje SQL 

SQL (Structured Query Language) es el lenguaje que se 
utiliza para comunicarse con la base de datos
Procedimiento de comunicación con la base de datos:

Las instrucciones más habituales son SELECT, INSERT, 
UPDATE, DELETE
 
Veamos su sintaxis básica y algunos ejemplos de uso
Para ello utilizaremos una tabla noticias con cinco 
campos: un identificador único de la noticia, el título de 
la noticia, el texto de la noticia, la categoría de la 
noticia y la fecha de publicación de la noticia

DELETE

Sintaxis:
DELETE FROM nombre_tabla
[WHERE condición]
[ORDER BY ...]
[LIMIT row_count]

Ejemplo:
DELETE FROM noticias WHERE fecha < CURDATE()-10
Borra las noticias con más de 10 días de antigüedad


Funciones de PHP para el acceso a bases de datos MySQL
   Los pasos para acceder desde PHP a una base de datos son los siguientes:
–Conectar con el servidor de bases de datos
–Seleccionar una base de datos
–Enviar la instrucción SQL a la base de datos
–Obtener y procesar los resultados
–Cerrar la conexión con el servidor de bases de datos



Acceso a bases de datos MySQL     
Las funciones concretas de MySQL que realizan 
estas operaciones son:
–Conectar con el servidor de bases de datos:
• mysql_connect()
–Seleccionar una base de datos:
•mysql_select_db()
–Enviar la instrucción SQL a la base de datos:
• mysql_query()
–Obtener y procesar los resultados:
•mysql_num_rows() y mysql_fetch_array()
–Cerrar la conexión con el servidor de bases de datos:
• mysql_close()

1.- Conectar con el servidor de bases de datos:    
    mysql_connect()
–Devuelve un identificador de la conexión en caso de 
éxito y false en caso contrario

Sintaxis:

$
conexion = mysql_connect (servidor, username,  
   password);


Ejemplo:

$
conexion = mysql_connect (“localhost”, “cursophp”, “”)
  
 
   or die (“No se puede conectar con el servidor”);
   
   $conexion = mysql_connect (“localhost”, “cursophp-ad”, 
   
   “php.hph”)
   
   or die (“No se puede conectar con el servidor”);


2.- Seleccionar una base de datos: mysql_select_db()
–Devuelve true en caso de éxito y false en caso 
contrario

Sintaxis:

mysql_select_db (database);


Ejemplo:

mysql_select_db (“lindavista”)
  
 
   or die (“No se puede seleccionar la base de datos”);



3.-Enviar la instrucción SQL a la base de datos: mysql_query()
–Devuelve un identificador o true (dependiendo de la 
instrucción) si la instrucción se ejecuta 
correctamente y false en caso contrario


Sintaxis:

$consulta =
mysql_query (instrucción, $conexion);


Ejemplo:

$consulta =
mysql_query (“select * from noticias”, $conexion)
  
or die (“Fallo en la consulta”);


4.- Obtener y procesar los resultados: mysql_num_rows(),  
  mysql_fetch_array()
–En el caso de que la instrucción enviada produzca 
unos resultados, mysql_query() devuelve las filas de 
la tabla afectadas por la instrucción
–mysql_num_rows() devuelve el número de filas 
afectadas
–Para obtener las distintas filas del resultado se 
utiliza la función mysql_fetch_array(), que obtiene 
una fila del resultado en un array asociativo cada 
vez que se invoca

Sintaxis:

$
nfilas = mysql_num_rows ($consulta);
 
   $fila = mysql_fetch_array ($consulta);


Ejemplo 1:
Instrucción:
select * from noticias where categoria=“promociones”


Ejemplo 2:

Instrucción:
select * from noticias where categoria=“promociones”



Obtención de las filas:

$
nfilas = mysql_num_rows ($consulta);
 
   if ($nfilas > 0)
 
    {
  
for ($i=0; $i<$nfilas; $i++)
    
      {
      $fila =
mysql_fetch_array ($consulta);
      
         procesar fila i-ésima de los resultados
   }
}


5.- Cerrar la conexión con el servidor de bases de datos:  
 mysql_close()

Sintaxis:

mysql_close ($conexion);


Ejemplo

mysql_close ($conexion);