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);