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

26
MySQL M.C. Pedro Bello López 1

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

Page 3: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

· 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

Page 4: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

Iniciando MySql

· Comprobación de entrada al Servidor:

Mysql>· Comandos para salir del Servidor

Mysql>quit Ó Mysql>exit

4

Page 5: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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

Page 6: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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

Page 8: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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

Page 12: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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

Page 17: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

DML

(Data Manipulation Language)Incluye los comandos:

• INSERT

• SELECT

• UPDATE

• DELETE

17

Page 19: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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

Page 20: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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

Page 21: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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

Page 23: MySQL M.C. Pedro Bello López 1. Mysql: Características  Disponibilidad en gran cantidad de plataformas y sistemas.  Diferentes opciones de almacenamiento.

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;