Sunteți pe pagina 1din 20

INSTITUTO EMILIANI SOMASCOS

Cursos: Estructura de Datos


6to. Computación “A”
Instructor: Oscar Mendez

Base de datos MySQL y PHP5


Con PHP, puede conectarse a bases de datos y manipular.
MySQL es el sistema de base de datos más popular utilizado con PHP.
Los datos de una base de datos MySQL se almacenan en tablas. Una tabla es una colección de datos
relacionados, y consiste en columnas y filas.

¿Qué es MySQL?
 MySQL es un sistema de base de datos utilizada en la web
 MySQL es un sistema de base de datos que se ejecuta en un servidor
 MySQL es ideal tanto para aplicaciones pequeñas y grandes
 MySQL es muy rápido, fiable y fácil de usar
 MySQL utiliza el estándar SQL
 MySQL se compila en una serie de plataformas
 MySQL es descargar y utilizar gratis
 MySQL se desarrolla, distribuye, y apoyado por Oracle Corporation
 MySQL es el nombre de la hija del cofundador Monty Widenius: Mi

Las bases de datos son útiles para almacenar información de forma categórica. Una empresa puede tener una
base de datos con las siguientes tablas:
Empleados
productos
Clientes
Pedidos

Sistema de base de datos PHP + MySQL


PHP combinada con MySQL son multiplataforma (se puede desarrollar en Windows y servir en una plataforma
Unix)
Las consultas de bases de datos
Una consulta es una pregunta o una petición.
Podemos consultar una base de datos para obtener información específica y tienen un conjunto de registros
devuelto.
Mira la siguiente consulta (utilizando SQL estándar):

SELECT LastName FROM Employees


La consulta anterior selecciona todos los datos de la columna "Apellido" de la tabla "Empleados".

Descarga base de datos MySQL


Si no tiene un servidor PHP con una base de datos MySQL, puede descargarlo de forma gratuita aquí:
http://www.mysql.com

Datos acerca de la base de datos MySQL


MySQL es el sistema de base de datos estándar de facto para sitios web con volúmenes enormes de los datos y
los usuarios finales (como Facebook, Twitter y Wikipedia).
Otra gran cosa acerca de MySQL es que se puede escalar hacia abajo para soportar aplicaciones de base de datos
integrada.
Mira http://www.mysql.com/customers/ para una visión general de las empresas que utilizan MySQL.
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

Creando La Base De Datos


Vas a crear una base de datos utilizando phpMyAdmin, pero antes de empezar tienes que tener instalado
Apache, PHP, MySQL, y claro, phpMyAdmin. Si no los tienes hay una guía que explica como hacerlo:
Instalar y configurar Apache, MySQL, PHP y phpMyAdmin en Ubuntu.
Si ya los tienes has los siguientes pasos:
Ingresando Al PhpMyAdmin
En tu navegador preferido escribe la dirección de la máquina donde está instalado el
phpMyAdmin, puede ser http://localhost/phpmyadmin/, si está instalado en la misma máquina,
o puede ser otra como en el ejemplo: http://192.168.10.31/phpmyadmin/. Debe verse algo como
lo siguiente:

En Usuario: escribe root y en Contraseña: escribe la respectiva contraseña. Debe entrar al phpMyAdmin,
que debe verse parecido a lo siguiente:

Listo, ya ingresaste al phpMyAdmin. Ahora si a lo que vinimos.


INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

Creando La Base De Datos

En esta parte vamos a crear una BD que llamaremos metrobd, pero tu la puedes llamar como quieras. Para ello
debes hacer los siguientes pasos:

Clic en el botón Bases de datos.

Donde dice Crear nueva base de datos escribe el nombre de la base de datos, en nuestro ejemplo metrobd.
Clic en el botón Crear. Sale una ventana amarilla.

Y listo, está creada.


INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

¿Cómo creo tablas e ingreso datos en forma manual a mis bases de datos MySQL
con phpMyAdmin?
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

La instrucción SQL CREATE TABLE


La instrucción CREATE TABLE se usa para crear una nueva tabla en una base de datos.
Sintaxis
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

....
);
El siguiente ejemplo crea una tabla llamada "Personas" que contiene cinco columnas: PersonID,
LastName, FirstName, Address y City:
Ejemplo
CREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

Crear tabla usando otra tabla


Se puede crear una copia de una tabla existente usando una combinación de la instrucción CREATE
TABLE y la instrucción SELECT.
La nueva tabla obtiene las mismas definiciones de columna. Se pueden seleccionar todas las columnas
o columnas específicas.
Si crea una tabla nueva usando una tabla existente, la nueva tabla se rellenará con los valores
existentes de la tabla anterior.

Sintaxis
CREATE TABLE new_table_name AS
SELECT column1, column2,...
FROM existing_table_name
WHERE ....;
La declaración SQL CREATE DATABASE
La instrucción CREATE DATABASE se usa para crear una nueva base de datos SQL.
Sintaxis
CREATE DATABASE databasename;
Ejemplo
CREATE DATABASE testDB;

La declaración SQL SELECT


La instrucción SELECT se utiliza para seleccionar datos de una base de datos.
Los datos devueltos se almacenan en una tabla de resultados, llamada conjunto de resultados.

Sintaxis SELECT
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

SELECT column1, column2, ...


FROM table_name;
Aquí, column1, column2, ... son los nombres de campo de la tabla de la que desea seleccionar los
datos. Si desea seleccionar todos los campos disponibles en la tabla, use la siguiente sintaxis:
SELECT * FROM table_name;

Database
A continuación se muestra una selección de la tabla "Clientes" en la base de datos de ejemplo
Northwind:
CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Maria Anders Obere Str. 57 Berlin 12209 Germany


Futterkiste

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados y Constitución D.F.
helados 2222

3 Antonio Antonio Mataderos México 05023 Mexico


Moreno Moreno 2312 D.F.
Taquería

4 Around the Thomas 120 Hanover London WA1 1DP UK


Horn Hardy Sq.

5 Berglunds Christina Berguvsvägen Luleå S-958 22 Sweden


snabbköp Berglund 8

SELECCIONE el ejemplo de columna


La siguiente instrucción SQL selecciona las columnas "CustomerName" y "City" de la tabla
"Customers":
Ejemplo
SELECT CustomerName, City FROM Customers;

SELECCIONAR * Ejemplo
La siguiente instrucción SQL selecciona todas las columnas de la tabla "Clientes":
Ejemplo
SELECT * FROM clientes;
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

PHP Conectar a MySQL


PHP 5 y más tarde pueden trabajar con una base de datos MySQL usando:
Extensión mysqli (la "i" significa mejorado) PDO (PHP Data Objects)
Las versiones anteriores de PHP utilizan la extensión de MySQL. Sin embargo, esta extensión está desfasada y en
el año 2012.

¿Debo utilizar MySQLi o DOP?


Si necesita una respuesta corta, que sería "Lo que quieras". Tanto MySQLi y DOP tienen sus ventajas:
DOP trabajará en 12 sistemas de bases de datos diferentes, mientras que MySQLi sólo funciona con bases de
datos MySQL.

Por lo tanto, si usted tiene que cambiar su proyecto de utilizar otra base de datos, DOP hace que el proceso sea
fácil. Sólo hay que cambiar la cadena de conexión y algunas consultas. Con MySQLi, tendrá que volver a escribir
el código completo - consultas incluidas.

Ambos son orientado a objetos, pero MySQLi también ofrece una API de procedimiento.
Ambos apoyan instrucciones preparadas. Sentencias preparadas protegen de la inyección de SQL, y son muy
importantes para la seguridad de las aplicaciones web.

MySQL ejemplos en ambos MySQLi y PDO Sintaxis


En este y en los siguientes capítulos demostramos tres formas de trabajar con PHP y MySQL:

MySQLi (orientado a objetos)


MySQLi (procedimiento)
DOP

Instalación MySQLi
Para Linux y Windows: La extensión mysqli se instala automáticamente en la mayoría de los casos, cuando se
instala el paquete php5 mysql.
Para detalles de la instalación, vaya a: http://php.net/manual/en/mysqli.installation.php

Instalación DOP
Para detalles de la instalación, vaya a: http://php.net/manual/en/pdo.installation.php
Abrir una conexión a MySQL
Antes de poder acceder a los datos en la base de datos MySQL, tenemos que ser capaces de conectar con el
servidor:
Ejemplo (MySQLi Object-Oriented)
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

PHP es un lenguaje sorprendente y popular!

Nota sobre el ejemplo anterior orientado a objetos: $ connect_error se rompió hasta que PHP 5.2.9 y 5.3.0. Si
usted necesita para asegurar la compatibilidad con las versiones de PHP anteriores a la 5.2.9 y 5.3.0, utilice el
código siguiente en su lugar:

// Comprobar la conexión
si (mysqli_connect_error ()) {
die ( "Base de datos de conexión falló:". Mysqli_connect_error ());
}

Ejemplo (MySQLi procesal)


INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

Ejemplo (DOP)

Observe que en el ejemplo anterior DOP también hemos especificado una base de datos (myDB). PDO requiere
una base de datos válida para conectarse a. Si no se especifica una base de datos, se produce una excepción.

Consejo: Una gran ventaja de DOP es que tiene una clase de excepción para manejar cualquier problema que
pueda ocurrir en nuestras consultas de bases de datos. Si se produce una excepción dentro del bloque try {}, el
guión deja de ejecutar y fluye directamente a la primera captura () {} bloque.

Cierre la conexión
La conexión se cerrará automáticamente cuando termina la secuencia de comandos. Para cerrar la conexión
antes, utilizar lo siguiente:

Ejemplo (MySQLi Object-Oriented)


$conn->close();

Ejemplo (MySQLi procesal)


mysqli_close($conn);

Ejemplo (DOP)
$conn = null;
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

Insert datos en MySQL usando MySQLi y PDO


Después de una base de datos y una tabla se han creado, podemos empezar a añadir datos en ellos.

Aquí hay algunas reglas de sintaxis a seguir:

 La consulta SQL debe ser citado en PHP


 Los valores de cadena dentro de la consulta SQL deben ser citados
 Los valores numéricos no podrá ser citado
 La palabra NULL no podrá ser citado

La instrucción INSERT INTO se utiliza para agregar nuevos registros a una tabla de MySQL:

INSERT INTO table_name (column1, column2, column3,...)


VALUES (value1, value2, value3,...)

Para obtener más información acerca de SQL, visite nuestro tutorial de SQL .

En el capítulo anterior hemos creado una tabla vacía denominada "MyGuests" con cinco columnas:
"id", "Nombre", "Apellido", "e-mail" y "reg_date". Ahora, vamos a llenar la tabla con datos.

Nota: Si es una columna AUTO_INCREMENT (como la columna "ID") o marca de tiempo (como la columna
"reg_date"), no es necesario que se especifique en la consulta SQL; MySQL añadirá automáticamente el
valor.

Los siguientes ejemplos añadir un nuevo registro a la tabla "MyGuests":

Ejemplo (MySQLi orientada a objetos)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

$sql = "INSERT INTO MyGuests (firstname, lastname, email)


VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {


echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

Ejemplo (MySQLi procesal)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$sql = "INSERT INTO MyGuests (firstname, lastname, email)


VALUES ('John', 'Doe', 'john@example.com')";

if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);
?>
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

Ejemplo (DOP)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
// use exec() because no results are returned
$conn->exec($sql);
echo "New record created successfully";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

De UPDATE de datos en una tabla de MySQL


usando MySQLi y PDO
La instrucción UPDATE se utiliza para actualizar los registros existentes en una tabla:

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

Note la cláusula WHERE en la sintaxis UPDATE: La cláusula WHERE especifica el registro o


registros que deben actualizarse. Si se omite la cláusula WHERE, todos los registros serán
actualizados!

Ejemplo (MySQLi orientada a objetos)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

if ($conn->query($sql) === TRUE) {


echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

Ejemplo (MySQLi procesal)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

$conn = mysqli_connect($servername, $username, $password, $dbname);


// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

Ejemplo (DOP)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

// Prepare statement
$stmt = $conn->prepare($sql);

// execute the query


$stmt->execute();

// echo a message to say the UPDATE succeeded


echo $stmt->rowCount() . " records UPDATED successfully";
}
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

´DELETE datos de una tabla de MySQL usando MySQLi y PDO

La sentencia DELETE se utiliza para eliminar registros de una tabla:

DELETE FROM table_name


WHERE some_column = some_value
Note la cláusula WHERE en la sintaxis BORRAR: La cláusula WHERE especifica el
registro o registros que se deben eliminar. Si se omite la cláusula WHERE, todos los
registros serán borrados!

Ejemplo (MySQLi orientada a objetos)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

// sql to delete a record


$sql = "DELETE FROM MyGuests WHERE id=3";

if ($conn->query($sql) === TRUE) {


echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

$conn->close();
?>

Ejemplo (MySQLi procesal)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

// sql to delete a record


$sql = "DELETE FROM MyGuests WHERE id=3";

if (mysqli_query($conn, $sql)) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Ejemplo (DOP)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// sql to delete a record


$sql = "DELETE FROM MyGuests WHERE id=3";

// use exec() because no results are returned


INSTITUTO EMILIANI SOMASCOS
Cursos: Estructura de Datos
6to. Computación “A”
Instructor: Oscar Mendez

$conn->exec($sql);
echo "Record deleted successfully";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

S-ar putea să vă placă și