260 likes | 382 Views
MySQL. M.C. Pedro Bello López. 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.
E N D
MySQL M.C. Pedro Bello López
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.
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. MySQL: Ventajas
Iniciando MySql • Comprobación de entrada al Servidor: Mysql> • Comandos para salir del Servidor Mysql>quit Ó Mysql>exit
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 actual Mysql>show tables; • Describir el esquema de las tablas: mysql> describe nombre_Tabla;
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.
DDL (Data DefinitionLanguage) • Incluye los comandos: • CREATE • DROP • ALTER
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 final
CREATE DATABASE Utilizado para crear nuevas Bases de Datos.
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], • … • varNtipoN • );
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 • );
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. • Ondeletecascade indica que al eliminar registros en la otra tabla se eliminan de la tabla actual. • Onupdatecascade 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]… • varNtipoN • FOREIGN KEY(var_foranea) REFERENCES otra_Tabla(var_foranea) ON DELETE CASCADE ON UPDATE CASCADE • );
Ejemplo de Foreignkey 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) );
DROP Empleado para eliminar Bases de Datos y tablas. Sintaxis DROP Databasenombre_BD; DROP tablenombre_tabla;
ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
DML (Data ManipulationLanguage) • Incluye los comandos: • INSERT • SELECT • UPDATE • DELETE
INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.
INSERT: Ejemplos en la tabla pelicula Use Videoteca; INSERT INTO pelicula (titulo, director, actor) VALUES( 'BladeRunner', 'Ridley Scott', 'Harrison Ford' ); INSERT INTO pelicula (titulo, director, actor) VALUES( 'Alien', 'Ridley Scott', 'SigourneyWeaver' ); 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' );
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);
INSERT: Ejemplos en la tabla rentas Use Videoteca; INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) selectclientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 fromclientes,peliculawhereclientes.cliente='Jorge Perez' and pelicula.titulo='Tron'; INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) selectclientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 fromclientes,peliculawhereclientes.cliente='Jorge Perez' and pelicula.titulo='Doce monos'; INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) selectclientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 fromclientes,peliculawhereclientes.cliente='Jorge Perez' and pelicula.titulo='Contact'; INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) selectclientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 fromclientes,peliculawhereclientes.cliente='Juan Dominguez' and pelicula.titulo='Contact';
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
UPDATE Utilizado para modificar los valores de los campos y registros especificados Sintaxis: Use nombre_BD; UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN WHERE Criterio;
DELETE Utilizado para eliminar registros de una tabla de una base de datos. Sintaxis: DELETE FROM Tabla WHERE criterio; Ejemplo DELETE FROM peliculawhere director=‘Ridley Scott’;