MySQL M.C. Pedro Bello López 1. Mysql: Características Disponibilidad en gran cantidad de...

Post on 27-Jan-2016

215 views 0 download

Transcript of MySQL M.C. Pedro Bello López 1. Mysql: Características Disponibilidad en gran cantidad de...

· Acceso a las bases de datos de forma simultánea por varios usuarios y/o aplicaciones.

· Seguridad, en forma de permisos y privilegios

· Portabilidad: SQL es también un lenguaje estandarizado, de modo que las consultas hechas usando SQL son fácilmente portables a otros sistemas y plataformas.

· Escalabilidad: es posible manipular bases de datos enormes, del orden de seis mil tablas y alrededor de cincuenta millones de registros, y hasta 32 índices por tabla.

3

MySQL : Ventajas

Iniciando MySql

· Comprobación de entrada al Servidor:

Mysql>· Comandos para salir del Servidor

Mysql>quit Ó Mysql>exit

4

Comandos básicos

Mostrando Bases de Datos existentes:Mysql>show databases;

· Activando Base de Datos de Trabajo:mysql> use nombre_BD;

· Mostrando las Tablas existentes en la Base de Datos actualMysql>show tables;

· Describir el esquema de las tablas:mysql> describe nombre_Tabla;

5

COMANDOS

Existen dos tipos de comandos en MySQL:

DLL crean y definen nuevas bases de datos, campos e índices.

DML generan consultas para ordenar, filtrar y extraer datos.

6

Ejemplo: Base datos Videoteca• En una Videoteca se requiere

automatizar sus procesos de rentas, por lo que solicita que la siguiente información sea almacenada en una base de datos:– Películas: título, director, autor.– Clientes: nombre del cliente, año de

nacimiento.– Rentas: título de la película, cliente,

fecha de inicio, fecha final8

FOREIGN KEY Y REFERENCES

• Foreign Key es utilizado para designar llaves foráneas en una tabla.

• References establece cuál es la tabla de donde se obtiene la llave foránea.

• On delete cascade indica que al eliminar registros en la otra tabla se eliminan de la tabla actual.

• On update cascade indica que al actualizar registros en la otra tabla se actualizan en la tabla actual

Sintaxis:USE nombre_BD;DROP TABLE IF EXISTS nombre_tabla;CREATE TABLE nombre_tabla( var1 tipo1 [NOT NULL] [PRIMARY KEY], var_foranea tipo x [NOT NULL] … varN tipoNFOREIGN KEY(var_foranea) REFERENCES otra_Tabla(var_foranea) ON DELETE CASCADE ON UPDATE CASCADE);

12

DML

(Data Manipulation Language)Incluye los comandos:

• INSERT

• SELECT

• UPDATE

• DELETE

17

INSERT: Ejemplos en la tabla peliculaUse Videoteca;

INSERT INTO pelicula (titulo, director, actor) VALUES( 'Blade Runner', 'Ridley Scott', 'Harrison Ford' );

INSERT INTO pelicula (titulo, director, actor) VALUES( 'Alien', 'Ridley Scott', 'Sigourney Weaver' );

INSERT INTO pelicula (titulo, director, actor) VALUES( 'Doce monos', 'Terry Gilliam', 'Bruce Willis' );

INSERT INTO pelicula (titulo, director, actor) VALUES( 'Contact', 'Robert Zemeckis', 'Jodie Foster' );

INSERT INTO pelicula (titulo, director, actor) VALUES( 'Tron', 'Steven Lisberger', 'Jeff Bridges' );

INSERT INTO pelicula (titulo, director, actor) VALUES( 'La guerra de las galaxias', 'George Lucas', 'Harrison Ford' );

19

INSERT: Ejemplos en la tabla clientes

Use Videoteca;

INSERT INTO clientes (cliente, year) VALUES( 'Jorge Perez', 1980); INSERT INTO clientes (cliente, year) VALUES( 'Juan Dominguez', 1950);INSERT INTO clientes (cliente, year) VALUES( 'Jose Luis Lopez', 1967);

20

INSERT: Ejemplos en la tabla rentas

Use Videoteca;

INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where clientes.cliente='Jorge Perez' and pelicula.titulo='Tron';

INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where clientes.cliente='Jorge Perez' and pelicula.titulo='Doce monos';

INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where clientes.cliente='Jorge Perez' and pelicula.titulo='Contact';

INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where clientes.cliente='Juan Dominguez' and pelicula.titulo='Contact';

21

SELECT

23

Ejemplo

USE videoteca;

SELECT * FROM pelicula;

SELECT * FROM pelicula WHERE director='Ridley Scott';

SELECT titulo FROM pelicula WHERE director='Ridley Scott‘ ORDER BY titulo;

Select pelicula.titulo from pelicula,rentas where id_cliente=1 and pelicula.id_pelicula=rentas.id_pelicula;