0% encontró este documento útil (0 votos)
29 vistas37 páginas

Clase 23. SQL 2

Este documento presenta una introducción al lenguaje SQL y los sublenguajes DDL y DML. Explica conceptos clave como las sentencias CREATE, ALTER y DROP para definir y modificar la estructura de las bases de datos, y las sentencias INSERT, UPDATE y DELETE para manipular los datos. También cubre consultas básicas con SELECT y cláusulas como WHERE, ORDER BY y GROUP BY.

Cargado por

Paquitas Bebes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas37 páginas

Clase 23. SQL 2

Este documento presenta una introducción al lenguaje SQL y los sublenguajes DDL y DML. Explica conceptos clave como las sentencias CREATE, ALTER y DROP para definir y modificar la estructura de las bases de datos, y las sentencias INSERT, UPDATE y DELETE para manipular los datos. También cubre consultas básicas con SELECT y cláusulas como WHERE, ORDER BY y GROUP BY.

Cargado por

Paquitas Bebes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 37

FULL STACK PYTHON

Clase 23
SQL 2
Lenguaje SQL y Sublenguajes
DDL y DML
Les damos la bienvenida
Vamos a comenzar a grabar la clase
Clase 22 Clase 23 Clase 24

Introducción a Base de Datos Lenguaje y Sublenguajes SQL JOIN y Subconsultas

● ¿Qué es una Base de datos? ● Gestión y manipulación de ● JOIN: Inner, Left, Right.
● BBDD relacionales y no datos con SQL. ● Funciones de agregación,
relacionales. ● Gestión y manipulación de GROUP BY, HAVING.
● Entorno MySQL. Instalación. datos. ● Funciones escalares: Caracteres
Clientes MySQL. ● Sublenguajes DDL y DML. o cadena, Conversión, Fecha y
● DER. Entidad, atributo y tipo ● Consultas: Estructura consulta tiempo, Matemáticas.
de datos. Primary key. SQL. Cláusulas SELECT, FROM, ● Subconsultas.
● Creación de una BD. WHERE.
● Backup y restauración de ● Alias y literales. ORDER BY.
bases de datos.
Arquitectura Cliente-Servidor
Es un modelo de aplicación
distribuida en el que las tareas se
reparten entre los proveedores de
recursos o servicios, llamados
servidores, y los demandantes, Internet
llamados clientes.
Clientes
● Un cliente realiza peticiones a Servidor

otro programa.
● El servidor es quien le da
respuesta.
Cliente-Servidor en Bases de Datos
Las bases de datos en general utilizan
la arquitectura Cliente-Servidor para Servidor Cliente
proveer servicios de almacenamiento Solicitud
de información a determinados
usuarios (Clientes).
Respuesta

Red
¿Cómo se conecta un cliente a un servidor de BD?
El software intermediario entre un
usuario y el servidor que provee el
servicio de almacenamiento en bases
de datos es conocido como SGBD
(Sistema Gestor de Bases de Datos).
Base de Usuarios
A través de los SGBD, los usuarios datos
pueden hacer CONSULTAS en
lenguaje SQL (Structured Query Sistema Gestor
de Base de
Language o Lenguaje de Consulta Datos
Estructurado) para realizar distintas
operaciones.
¿Cómo armar un Servidor de BD?
Para armar un servidor de base de datos se pueden utilizar diferentes
softwares, entre ellos, distribuciones de Linux, sistemas operativos
especializados para bases de datos, servidores virtuales, servidores online, etc.

De forma experimental, el software que podremos utilizar para armar un


servidor de BD es el XAMPP Server, visto en la presentación anterior. Para
más detalles ver tutoriales recomendados.

El Sistema Gestor de Bases de Datos que utilizaremos será MySQL, uno de


los más utilizados a nivel mundial.
¿Cómo empezamos a pensar en una BD?
La manipulación de los datos consiste en la realización de operaciones de inserción,
borrado, modificación y consulta de la información almacenada en la base de datos.
La inserción y el borrado son el resultado de añadir nueva información o eliminarla
de nuestra base de datos, tomando en cuenta las restricciones marcadas por el DDL
y las relaciones entre la nueva información y la antigua. La modificación nos permite
alterar esta información, y la consulta nos permite el acceso a la información
almacenada en la base de datos siguiendo criterios específicos.

Estas operaciones se podrán ejecutar a través de sentencias, que nos permitirán más
adelante realizar los sistemas denominados CRUD.
CRUD: acrónimo de “Crear, Leer, Actualizar y Borrar” (Create, Read, Update and
Delete), usado para referirse a las funciones básicas en bases de datos o la capa de
persistencia en un software.
Sentencias DDL
Lenguaje de definición de datos (DDL: Data Definition Language): se
encarga de la modificación de la estructura de los objetos de la base
de datos.
Incluye órdenes o sentencias para crear, modificar o borrar las tablas en
las que se almacenan los datos de la base de datos.
Utilizamos tres sentencias: CREATE, ALTER y DROP.
Sentencias DDL: CREATE, ALTER y DROP

CREATE: Crear una base de datos

Con CREATE DATABASE creamos una base de datos con el nombre


indicado en esa orden. Es necesario tener permisos del sistema de
base de datos. Un equivalente es CREATE SCHEMA.

Si la base de datos ya existe se produce un error, para salvarlo


podemos especificarle IF NOT EXISTS.

Ejemplo: CREATE DATABASE IF NOT EXISTS databasename;


Sentencias DDL: CREATE, ALTER y DROP
CREATE TABLE: Crea una tabla:

CREATE TABLE alumnos (


dni int(11),
nombre varchar(30),
apellido varchar(30),
fecha_nac date
);
Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese
nombre), mostrará un mensaje de error indicando que la acción no se realizó porque
ya existe una tabla con el mismo nombre.

SHOW TABLES: Nos permite ver las tablas existentes en una base de datos.
Ejemplo CREATE
Sentencias DDL: CREATE, ALTER y DROP
ALTER TABLE: Nos permite agregar, eliminar o modificar una columna..

ALTER TABLE … ADD: Agrega una columna:

ALTER TABLE nombre_de_tabla


ADD nombre_de_columna tipo de dato;

ALTER TABLE … DROP: Elimina una columna:

ALTER TABLE nombre_de_tabla


DROP COLUMN nombre_de_columna;
Sentencias DDL: CREATE, ALTER y DROP
DROP TABLE: Elimina una tabla.

DROP TABLE alumnos;

Si tipeamos nuevamente:

DROP TABLE alumnos;

Aparece un mensaje de error, indicando que no existe, ya que intentamos borrar una
tabla inexistente. Para evitar este mensaje podemos tipear:

DROP TABLE IF EXISTS alumnos;


Ejemplo ALTER y DROP
ALTER TABLE

DROP TABLE
Sentencias DDL: CREATE, ALTER y DROP
DESCRIBE: Nos permite ver la estructura de una tabla.

DESCRIBE alumnos;

Aparecerá lo siguiente:
Sentencias DML
El Lenguaje de Manipulación de Datos (Data Manipulation Language,
DML) permite a los usuarios de una base de datos llevar a cabo tareas
de consulta o modificación. Para hacer estas actividades dentro del
lenguaje SQL tenemos las siguientes sentencias:
INSERT: Para agregar un registro (fila o tupla).
UPDATE: Para modificar atributos de una o varios registros.
DELETE: Para borrar registros completos de una tabla.
SELECT: Para obtener datos de una base de datos.
Sentencias de escritura
INSERT INTO: especifica en qué tabla
se pretende insertar un dato. Campos de datos
VALUES: utilizada en conjunto con que le voy a pasar
a la tabla
INSERT INTO especifica qué valores
irán en la tabla.
Valores que le voy
La lista de atributos es opcional, pero
a pasar a la tabla
si no se define entonces el DBMS (en el mismo
espera una lista de valores coherente orden)

con todos los atributos de la tabla.


Para hacer un INSERT: clic derecho en la tabla
> Send to SQL Editor > Insert Statement
Sentencias de escritura
Sentencias de modificación
UPDATE: especifica en qué tabla se
pretende modificar un dato.
SET: utilizada en conjunto con
Condición (fundamental)
UPDATE especifica cuál será el
nuevo valor/dato para el campo de Original
ese/os registro/s en particular.
¡CUIDADO! Si no hay cláusula WHERE lo Actualizado
que ocurrirá es que se actualizarán todos los
registros de la tabla.
Es un error muy común que cometen
algunos usuarios de base de datos. Para hacer un UPDATE: clic derecho en la tabla
> Send to SQL Editor > Update Statement
Sentencias de baja
DELETE: permite eliminar uno o
varios registro/s de una tabla de Condición (fundamental)
forma permanente.

¡CUIDADO! Si no hay cláusula WHERE lo


El registro con id = 3 ha sido eliminado
que ocurrirá es que se eliminarán todos los
registros de la tabla y quedará vacía.
Para hacer un DELETE: clic derecho en la tabla
> Send to SQL Editor > Delete Statement
Sentencias SQL | Lectura
Las consultas SQL son los “diálogos” o “preguntas” que se generan entre el usuario y
el SGBD dentro del cual se encuentran almacenados los datos. Las cláusulas más
conocidas son:

DE LECTURA:

● SELECT: especifica qué atributo (dato) se pretende obtener.


● FROM: utilizada en conjunto con SELECT, especifica desde qué tabla (entidad)
se pretende traer el dato.
● WHERE: establece una condición específica que deberá cumplir el dato que se
pretende traer (cláusula no obligatoria).
Sentencias SQL | Lectura
Ejemplo: Supongamos que tenemos una tabla de empleados y queremos traer el
nombre, apellido y fecha de nacimiento de todos aquellos que hayan nacido después
del año 1970 inclusive.
Sentencias SQL | Orden y agrupamiento
DE ORDEN Y/O AGRUPAMIENTO:

● ORDER BY: utilizada para especificar por qué criterio se pretende ordenar los
registros de una tabla.
● GROUP BY: utilizada para especificar por qué criterio se deben agrupar los
registros de una tabla.

Ejemplo: obtener todos los empleados ordenados por apellido.

El resultado de esta consulta será traer TODOS los empleados,


ordenados por apellido, en lugar de estar ordenados por id
(identificación del empleado)
El * significa que deberá traer TODOS los campos sin distinción.
Sentencias SQL | Orden | Ejemplos
Orden por una columna
(por defecto ascendente)

Orden por más


de una columna

Orden descendente
de una columna
Sentencias SQL | LIMIT
● SELECT LIMIT: especifica el número de registros a devolver. Sintaxis:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
Operadores de comparación o relacionales
Son utilizados en MySQL para comparar igualdades y desigualdades. Se utilizan en
conjunto con la cláusula WHERE para determinar qué registros seleccionar.
Operador Descripción Operador Descripción

= Igual LIKE Define un patrón de búsqueda y utiliza % y _

<> Diferente NOT LIKE Negación de LIKE

!= Diferente IS NULL Verifica si el Valor es NULL

> Mayor que IS NOT NULL Verifica si el Valor es diferente de NULL

>= Mayor o igual que


IN () Valores que coinciden en una lista

< Menor que


BETWEEN Valores en un Rango (incluye los extremos)
<= Menor o igual que
Sentencias SQL | LIKE
● Se utiliza para comparaciones con campos de tipo cadenas de texto.
● Esta sentencia se podría utilizar para consultar cuáles son los clientes que viven
en una calle que contiene el texto “San Martín”.
● Al colocar el % al comienzo y al final estamos representando un texto que no nos
preocupa cómo comienza ni cómo termina, siempre y cuando contenga la/s
palabra/s que nos interesa. Sintaxis:

SELECT * FROM clientes c


WHERE calle LIKE '%San Martín%'
Sentencias SQL | IS [NOT] NULL
Permiten seleccionar registros cuyo valor en un campo sea null o no sea null (not
null). No debemos confundir null con campo en blanco, es un campo que no tiene
dato alguno asociado.
Sentencias SQL | Uso de Alias
● Son muy utilizados en el uso de consultas o sentencias SQL extensas.
● Permite renombrar los nombres originales de tablas o campos de manera
temporal. Esta propiedad es extensible a tablas y campos.
● Presenta algunas ventajas:
○ Permite acelerar la escritura de código SQL
○ Mejorar la legibilidad de las sentencias
○ Ocultar/Renombrar los nombres reales de las tablas o campos a usuarios
○ Permite asignar un nombre a una expresión, fórmula o campo calculado

Ejemplo: renombrar tablas y atributos calculados

SELECT V.precio , V.fecha, (V.precio * 1.21) AS precio_con_iva


FROM ventas AS V
Sentencias SQL | Operador IN | DISTINCT
IN: nos permite agregar una lista de posibilidades en lugar de encadenar cláusulas
OR, ya que funciona de manera equivalente. Sintaxis:

SELECT codigo FROM productos


WHERE descripción IN ('Harina' ,'Azúcar' ,'Leche')

SELECT DISTINCT: se usa para devolver solo valores distintos (diferentes) de una
columna que puede tener registros duplicados. Sintaxis:

SELECT DISTINCT column1, column2, ...


FROM table_name;
Material extra
Artículos de interés
● Resumen SQL.pdf: resumen con las sentencias SQL básicas más utilizadas.
● Guía práctica de SQL: guía de ejercicios con los que podrá poner en práctica los
conocimientos de esta Unidad. Esta guía no es obligatoria pero les dará la
práctica necesaria para poder trabajar sin problemas con las bases de datos.
● world.sql: script para generar la base de datos que deberá utilizar para resolver
la guía práctica.
● der-bd-world.jpg: DER de la base de datos anteriormente mencionada.
● Tutorial en w3schools
● Página Oficial MySQL
No te olvides de dar el presente
Recordá:
● Revisar la Cartelera de Novedades.
● Hacer tus consultas en el Foro.
● Realizar los Ejercicios obligatorios.

Todo en el Aula Virtual.


Muchas gracias por tu atención.
Nos vemos pronto

También podría gustarte