MySQL M.C. Pedro Bello López 1. Mysql: Características Disponibilidad en gran cantidad de...
-
Upload
tonia-silverio -
Category
Documents
-
view
215 -
download
0
Transcript of MySQL M.C. Pedro Bello López 1. Mysql: Características Disponibilidad en gran cantidad de...
Mysql: Características
· Disponibilidad en gran cantidad de plataformas y sistemas.
· Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles.
· Transacciones y claves foráneas. · Conectividad segura. · Replicación. · Búsqueda e indexación de campos de texto.
2
· 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
DDL
(Data Definition Language)
Incluye los comandos:
• CREATE
• DROP
• ALTER
7
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
CREATE DATABASE
Utilizado para crear nuevas Bases de Datos.
Sintaxis
DROP DATABASE IF EXISTS nombre_BD; CREATE DATABASE nombre_BD;
Ejemplo
DROP DATABASE IF EXISTS videoteca; CREATE DATABASE videoteca;
9
CREATE TABLE
Utilizado para crear nuevas tablas, campos e índices.
Sintaxis:
USE nombre_BD;DROP TABLE IF EXISTS nombre_tabla;CREATE TABLE nombre_tabla( var1 tipo1 [NOT NULL] [PRIMARY KEY], … varN tipoN);
10
CREATE TABLE
Ejemplo:USE videoteca;DROP TABLE IF EXISTS pelicula;CREATE TABLE pelicula( id_pelicula INT NOT NULL AUTO_INCREMENT PRIMARY KEY, titulo VARCHAR(64) NOT NULL, director VARCHAR(128) NOT NULL, actor VARCHAR(128) NOT NULL);
DROP TABLE IF EXISTS clientes;CREATE TABLE clientes( id_cliente INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cliente VARCHAR(64) NOT NULL);
11
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
Ejemplo de Foreign key
USE videoteca;DROP TABLE IF EXISTS rentas;CREATE TABLE rentas( fecha_inicio date NOT NULL, fecha_fin date NOT NULL, id_cliente INT NOT NULL, id_pelicula INT NOT NULL,FOREIGN KEY(id_cliente) REFERENCES clientes(id_cliente) ON DELETE
CASCADE ON UPDATE CASCADE,FOREIGN KEY(id_pelicula) REFERENCES pelicula(id_pelicula) ON DELETE
CASCADE ON UPDATE CASCADE, PRIMARY KEY(id_cliente,id_pelicula, fecha_inicio)
);
13
DROP
Empleado para eliminar Bases de Datos y tablas.
Sintaxis
14
DROP Database nombre_BD;
DROP table nombre_tabla;
Ejemplo
DROP table rentas;
ALTER
Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
15
Sintaxis
ALTER TABLE nombre_tablaADD COLUMN campo1 tipo_campo1;
ALTER TABLE nombre_tabla DROP COLUMN campo1;
ALTER
16
Ejemplo
ALTER TABLE pelicula ADD COLUMN categoria Varchar(20) ;
ALTER TABLE clientes ADD COLUMN year INT(4) ;
ALTER TABLE pelicula DROP COLUMN categoria;
DML
(Data Manipulation Language)Incluye los comandos:
• INSERT
• SELECT
• UPDATE
• DELETE
17
INSERT
Utilizado para cargar lotes de datos en la base de datos en una única operación.
18
Sintaxis
Use nombre_BD;
INSERT INTO Tabla (campo1, campo2, .., campoN)VALUES (valor1, valor2, ..., valorN);
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
Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
22
Sintaxis
Use nombre_BD; SELECT [DISTINCT] <lista_columnas> | *
FROM <lista_tablas>[WHERE <predicado>]
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;
UPDATE
Sintaxis:
Use nombre_BD;UPDATE Tabla SET Campo1=Valor1,
Campo2=Valor2, ... CampoN=ValorNWHERE Criterio;
24
Utilizado para modificar los valores de los campos y registros especificados
UPDATE
25
Ejemplo
USE videoteca; UPDATE pelicula SET titulo='Star Wars' WHERE titulo='La guerra de las galaxias';
DELETE
Utilizado para eliminar registros de una tabla de una base de datos.
Sintaxis:
26
DELETE FROM Tabla WHERE criterio;
Ejemplo
DELETE FROM pelicula where director=‘Ridley Scott’;