Componentes del SQL¶
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.
Comandos
Existen tres tipos de comandos SQL:
Los DLL(Data Definition Language) que permiten crear y definir nuevas bases de
datos, campos e índices. Los DML(Data Manipulation Language) que permiten
generar consultas para ordenar, filtrar y extraer datos de la base de datos.
Los DCL(Data Control Language) que se encargan de definir las permisos sobre los
datos
Lenguaje de definición de datos (DDL)
Comando Descripción
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los cam
El lenguaje de definición de datos (en inglés Data Definition Language, o DDL), es el
que se encarga de la modificación de la estructura de los objetos de la base de datos.
Incluye órdenes para modificar, borrar o definir las tablas en las que se almacenan los
datos de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER, DROP
y TRUNCATE.
CREATE
Este comando crea un objeto dentro del gestor de base de datos. Puede ser una base de
datos, tabla, índice, procedimiento almacenado o vista.
Ejemplo (crear una tabla):
# CREATE TABLE Empleado
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Nombre VARCHAR(50),
Apellido VARCHAR(50),
Direccion VARCHAR(255),
Ciudad VARCHAR(60),
Telefono VARCHAR(15),
Peso VARCHAR (5),
Edad (2),
Actividad Específica (100),
idCargo INT
)
ALTER
Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar
campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla,
modificar un trigger, etc.
Ejemplo (agregar columna a una tabla):
# ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO INT;
# ALTER TABLE 'NOMBRE_TABLA' DROP COLUMN NOMBRE_COLUMNA;
DROP
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice,
trigger, función, procedimiento o cualquier otro objeto que el motor de la base de datos
soporte. Se puede combinar con la sentencia ALTER.
Ejemplo:
# DROP TABLE 'NOMBRE_TABLA';
# DROP SCHEMA 'ESQUEMA;'
# DROP DATABASE 'BASEDATOS';
TRUNCATE
Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando
DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho más rápido,
especialmente si la tabla es muy grande. La desventaja es que TRUNCATE sólo sirve
cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la
cláusula WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje
de Manipulación de Datos), es en realidad una DDL, ya que internamente, el comando
TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transacción.
Ejemplo:
# TRUNCATE TABLE 'NOMBRE_TABLA';
Prácticas
Práctica 1
Definir mediante comandos SQL el modelo de datos creado para los Parques Naturales
de Costa Rica
Lenguaje de manipulación de datos DML(Data Manipulation
Language)
Comando Descripción
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.
UPDATE Utilizado para modificar los valores de los campos y registros especificados Utilizado para modific
definición de los campos.
DELETE Utilizado para eliminar registros de una tabla
Definición
Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés)
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,
organizados por el modelo de datos adecuado. El lenguaje de manipulación de datos
más popular hoy día es SQL, usado para recuperar y manipular datos en una base de
datos relacional.
INSERT
Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en
una base de datos relacional.
Forma básica:
# INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valo
r1'', [''valor2,...''])
Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica,
le será asignado el valor por omisión. Los valores especificados (o implícitos) por la
sentencia INSERT deberán satisfacer todas las restricciones aplicables. Si ocurre un
error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se
devuelve un error.
Ejemplo:
# INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez'
, 4886850);
Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia
acortada:
# INSERT INTO ''VALUES (''valor1'', [''valor2,...''])
Ejemplo (asumiendo que ‘nombre’ y ‘número’ son las únicas columnas de la tabla
‘agenda_telefonica’):
# INSERT INTO agenda_telefonica VALUES ('Jhonny Aguiar', 080473968);
UPDATE
Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto
de registros existentes en una tabla.
Ejemplo:
# UPDATE mi_tabla SET campo1 = 'nuevo valor campo1' WHERE campo2 = 'N';
DELETE
Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla.
Forma básica:
# DELETE FROM 'tabla' WHERE 'columna1' = 'valor1'
Ejemplo:
# DELETE FROM My_table WHERE field2 = 'N';
Prácticas
Práctica 1
Extraer de Wikipedia la información necesaria para insertar en el modelo de datos
creado para Parques Nacionales y desarrollar en un script mediante sentencias SQL.
Clausulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.
Comando Descripción
FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros
GROUP BY Utilizada para separar los registros seleccionados en grupos específicos
HAVING Utilizada para expresar condición que debe satisfacer cada grupo
ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
WHERE Utilizada para determinar los registros seleccionados en la clausula FROM
Operadores
Operadores Lógicos
Operador Uso
AND Es el “y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son c
OR Es el “o” lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos
NOT Negación lógica. Devuelve el valor contrario de la expresión.
Operadores de comparación
Operador Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor o igual que
>= Mayor o igual que
BETWEEN Intervalo
LIKE Comparación
In Especificar
Funciones de agregado
Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de
registros para devolver un único valor que se aplica a un grupo de registros.
Comando Descripción
AVG Utilizada para calcular el promedio de los valores de un campo determinado
COUNT Utilizada para devolver el número de registros de la selección
SUM Utilizada para devolver la suma de todos los valores de un campo determinado
MAX Utilizada para devolver el valor más alto de un campo especificado
MIN Utilizada para devolver el valor más bajo de un campo especificado