Está en la página 1de 30

PROFE VIDERMID

Diplomado en Programación
Bases de Datos Relacionales
SQL (MySQL – MariaDB)

@ingenieriadigitalsc
FACILITADOR: ING. ESP. VIDERMID SÁNCHEZ
+584147464801
MySQL
Es un sistema de gestión de bases de
datos relacional desarrollado bajo licencia dual: Licencia
pública general/Licencia comercial por Oracle
Corporation y está considerada como la base de
datos de código abierto más popular del mundo,​ y una de
las más populares en general junto a Oracle y Microsoft
SQL Server, todo para entornos de desarrollo web.
MariaDB
Es es un sistema de gestión de bases de datos derivado
de MySQL con licencia GPL (General Public License). Es
desarrollado por Michael (Monty) Widenius —fundador de
MySQL—, la fundación MariaDB y la comunidad de
desarrolladores de software libre.1 Introduce dos motores
de almacenamiento nuevos, uno llamado Aria —que
reemplaza a MyISAM— y otro llamado XtraDB —en
sustitución de InnoDB—. Tiene una alta compatibilidad
con MySQL ya que posee las mismas órdenes,
interfaces, API y bibliotecas, siendo su objetivo poder
cambiar un servidor por otro directamente
MySQL Workbench

Es una herramienta visual de diseño de bases de datos


que integra desarrollo de software, administración de
bases de datos, diseño de bases de datos, gestión y
mantenimiento para el sistema de base de datos MySQL.
Es el sucesor de DBDesigner 4 de fabFORCE.net, y
reemplaza el anterior conjunto de software, MySQL GUI
Tools Bundle.
XAMPP

Es un paquete de software libre, que consiste principalmente


en el sistema de gestión de bases de datos MySQL, el
servidor web Apache y los intérpretes para lenguajes de script
PHP y Perl. El nombre es en realidad un acrónimo: X (para
cualquiera de los diferentes sistemas operativos), Apache,
MariaDB/MySQL, PHP, Perl. A partir de la versión 5.6.15,
XAMPP cambió la base de datos MySQL por MariaDB, un
fork de MySQL con licencia GPL.
Diagrama Físico
Tipos de Datos
Fecha y Hora
Texto

date
Char

datetime
Varchar(n)

time
Text(N)

timestamp
Diagrama Físico
Tipos de Datos

Números Lógicos

Integer Boolean

float
Constraints

Constraint Descripción
NOT NULL Valida que no tengamos valores nulos
UNIQUE Valida que no tengamos valores repetidos
PRIMARY KEY Campo principal de mi tabla, irrepetible y
obligatorio
FOREIGN KEY Clave foránea

CHECK El valor está obligado a cumplir una condición

DEFAULT Valor por defecto

INDEX Para mejorar las búsquedas


SQL
Structured Query Language
(Lenguaje de consulta estructurada)

SQL es un lenguaje para trabajar con


conjuntos de datos y las relaciones entre
ellos.
SQL
Structured Query Language

- Lenguaje de definición de datos (DDL): es el


que se encarga de la modificación de la estructura de los
objetos de la base de datos.

- Data Manipulation Language (DML): es un


lenguaje proporcionado por el sistema de gestión de base de
datos que permite a los usuarios llevar a cabo las tareas de
consulta o manipulación de los datos
DDL
Lenguaje de definición de datos

- CREATE: Este comando permite crear objetos de datos, como


nuevas bases de datos, tablas, vistas y procedimientos
almacenados.

- ALTER: Este comando permite modificar la estructura de una


tabla u objeto.

- DROP: Este comando elimina un objeto de la base de datos.

- TRUNCATE​: Este comando solo aplica a tablas y su función


es borrar el contenido completo de la tabla especificada
DDL
Lenguaje de definición de datos
- CREATE: Este comando permite crear objetos de datos, como
nuevas bases de datos, tablas, vistas y procedimientos
almacenados.

-- Estructura de la tabla `actor`


CREATE TABLE `actor` (
`id_actor` varchar(6) COLLATE utf8_spanish_ci NOT NULL,
`nombre` varchar(40) COLLATE utf8_spanish_ci DEFAULT NULL,
`pais` varchar(30) COLLATE utf8_spanish_ci DEFAULT NULL,
`sexo` varchar(1) COLLATE utf8_spanish_ci DEFAULT NULL,
`fecha_nacimiento` date DEFAULT NULL,
`comision` decimal(12,2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

--
-- Volcado de datos para la tabla `actor`
--
DDL
Lenguaje de definición de datos

- ALTER: Este comando permite modificar la estructura de


una tabla u objeto.

Indices de la tabla `actor`

ALTER TABLE `actor`

ADD PRIMARY KEY (`id_actor`);


DDL
Lenguaje de definición de datos

- DROP: Este comando elimina un objeto de la base de datos.

DROP TABLE elenco;

DROP DATABASE movies;


DML
Data Manipulation Language

- SELECT nos permite consultar los datos almacenados en una


tabla de la base de datos.

- INSERT Una sentencia INSERT de SQL agrega uno o más


registros a una (y solo una) tabla en una base de datos
relacional.

- UPDATE de SQL es utilizada para modificar los valores de un


conjunto de registros existentes en una tabla.

- DELETE de SQL borra uno o más registros existentes en una


tabla.
DML
Data Manipulation Language

A --------Agregar C --------Create
C---------Consultar R---------Read
M---------Modificar U---------Update
E---------Eliminar D---------Delete

Insert into <nombre_tabla> (campo1,campo2,campoN) values (valor1,valor2,valorN);

Select campo1,campo2,campoN from <nombre_tabla> where (Condicion);

Update <nombre_tabla> set campo1=valor1, campoN=valorN where (Condicion);

Delete from <nombre_tabla> where (Condicion);


DML
Data Manipulation Language

- INSERT Una sentencia INSERT de SQL agrega uno o más


registros a una (y solo una) tabla en una base de datos relacional.

INSERT into estudio (id_estudio,nombre,pais) values


('00000045','Media Networks L.A.','Venezuela');
DML
Data Manipulation Language

SELECT nos permite consultar los datos almacenados en una


tabla de la base de datos.

SELECT * from actor where sexo="F";


DML
Data Manipulation Language

- UPDATE de SQL es utilizada para modificar los valores de un


conjunto de registros existentes en una tabla.

UPDATE actor SET nombre='PEDRO ROSA' WHERE id_actor='000050'


DML
Data Manipulation Language

- DELETE de SQL borra uno o más registros existentes en una


tabla.

DELETE from actor WHERE id_actor='000050'


DML
Data Manipulation Language

La SELECT DISTINCT declaración se usa para devolver solo valores distintos


(diferentes).

Dentro de una tabla, una columna suele contener muchos valores duplicados; y, a
veces, solo desea enumerar los diferentes valores

Sintaxis:
SELECT DISTINCT column1, column2, ...
FROM table_name;

Ejemplo:
SELECT DISTINCT(sexo) from actor;
DML
Data Manipulation Language
El BETWEEN operador selecciona valores dentro de un rango dado. Los valores pueden
ser números, texto o fechas.

El BETWEEN operador es inclusivo: se incluyen los valores inicial y final.

Sintaxis:
SELECT column_name(s)
;
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Ejemplo:
SELECT * FROM peliculaWHERE anno BETWEEN 2000 AND 2010;
DML
Data Manipulation Language
La INNER JOIN palabra clave selecciona registros que tienen valores coincidentes en
ambas tablas

Sintaxis:
SELECT column_name(s)
FROM table1
INNER JOIN table2
; table1.column_name = table2.column_name;
ON

Ejemplo:
SELECT elenco.papel,actor.nombre FROM elenco inner join actor on
elenco.id_actor=actor.id_actor
DML
Data Manipulation Language
La ORDER BY palabra clave ordena los registros en orden ascendente de forma
predeterminada. Para ordenar los registros en orden descendente, utilice la DESC
palabra clave.

Sintaxis:
SELECT column1, column2, ...
FROM table_name
;
ORDER BY column1, column2, ... ASC|DESC;

Ejemplo:
SELECT elenco.papel,actor.nombre from elenco inner join actor on
elenco.id_actor=actor.id_actor ORDER BY actor.nombre desc
DML
Data Manipulation Language
La función COUNT() devuelve el número de registros devueltos por una consulta de
selección.
Nota: los valores NULL no se cuentan.

Sintaxis:
COUNT(expression)

Ejemplo:
;
SELECT COUNT(id_actor) AS cantidadDeActrices FROM actor where sexo="F";
DML
Data Manipulation Language
El LIKE operador se usa en una WHERE cláusula para buscar un patrón específico en
una columna. Hay dos comodines que se usan a menudo junto con el LIKE operador:
El signo de porcentaje (%) representa cero, uno o varios caracteres
El signo de subrayado (_) representa un solo carácter

Sintaxis:
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

Ejemplo:
SELECT * FROM actor WHERE pais LIKE 'a%';
DML
Data Manipulation Language
La GROUP BY declaración agrupa filas que tienen los mismos valores en filas de
resumen, como "encontrar la cantidad de clientes en cada país".

Nota: se usa a menudo con funciones agregadas ( COUNT(), MAX(), MIN(), SUM(),
AVG()) para agrupar el conjunto de resultados por una o más columnas.

Sintaxis:
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

Ejemplo:
SELECT count(pais),pais FROM actor group by pais ORDER BY PAIS DESC;
DML
Data Manipulation Language
La función SUBSTRING() extrae una subcadena de una cadena (comenzando en
cualquier posición).

Nota: Las funciones SUBSTR() y MID() equivalen a la función SUBSTRING().

Sintaxis:
SUBSTRING(string, start, length)

Ejemplo:
SELECT SUBSTRING(pais, 1, 2), pais AS PrimeraLetra FROM actor;
DML
Data Manipulation Language
Formato Descripción
La función TIME_FORMAT() formatea
%f Microseconds (000000 to
una hora con un formato específico. 999999)

%H Hour (00 to 23)

%h Hour (00 to 12)

%I Hour (00 to 12)

%i Minutes (00 to 59)

%p AM or PM
Sintaxis: %r Time in 12 hour AM or PM
TIME_FORMAT(time, format) format (hh:mm:ss AM/PM)

%S Seconds (00 to 59)

%s Seconds (00 to 59)

%T Time in 24 hour format


Ejemplo: (hh:mm:ss)

SELECT pelicula.id_estudio, TIME_FORMAT(SUM(duracion),"%H:%i") AS TotalDuracion


FROM pelicula INNER JOIN estudio ON pelicula.id_estudio=estudio.id_estudioGROUP
BY pelicula.id_estudio;
Ejercicios
1. Muestre todos los datos de la tabla actor.
2. Listar el país del estudio MGM.
3. Listar los nombres y apellidos de los actores que participaron en películas realizadas en 1982, o
en alguna película que contenga la palabra “FATAL” en el título.
4. Muestre el protagonista masculino de La Guerra de Los Mundos.
5. Muestre el título y duración de todas las películas producidas por los estudios 20th Century Fox,
ordenando ascendentemente la salida por duración.
6. Muestre el nombre y apellido de los actores masculinos que han sido protagonistas y proceden
de USA.
7. Muestre el nombre y apellido de los actores que aparecen en las películas de Universal Studios
(si un actor aparece varias veces mostrarlo sólo una vez).
8. Muestre la cantidad de películas realizadas por cada estudio (id_estudio, nombre de estudio y
cantidad de películas).
9. Muestre el nombre, apellido, país y comisión de los actores que trabajaron en películas desde
1930 hasta 2000, en orden ascendente según la comisión.
10. Muestre el nombre y apellido de todos los actores donde la tercera letra de su nombre sea C
11. Muestre el nombre y apellido de los actores que nacieron entre 1950 y 1980, ambos inclusive).
12. Muestre el título de todas las películas que obtuvieron una ganancia superior al 50% del costo de
producción.
13. Muestre el nombre y apellido de los actores que contienen la letra Z como parte del nombre o
apellido.
14. Muestre la suma de la duración de todas las películas por cada estudio (id_estudio, nombre de
estudio y total duración).

También podría gustarte