Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contendio Clase 2
Contendio Clase 2
Introducción
1- Definición de SQL: El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query
language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos
de operaciones en estas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo
efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así
como también hacer cambios sobre ella.
3- DDL (Data Definition Language) Lenguaje de definición de datos. Es el lenguaje que se usa para crear bases de
datos y tablas, y para modificar sus estructuras, así como los permisos y privilegios.
4- DML (Data Manipulation Language) lenguaje de manipulación de datos. Es el que se usa para modificar y
obtener datos desde las bases de datos
Qué es DDL?
Qué es DML?
La sentencia CREATE TABLE creará una tabla con las columnas que indiquemos
Crearemos, como ejemplo, una tabla que nos permitirá almacenar nombres de personas y sus fechas de nacimiento
nombre VARCHAR(40),
fecha DATE
);
Ejemplo:
Ejemplo de aplicación: Crearemos una tabla llamada "agenda", debe tener los siguientes campos:
domicilio varchar(30),
telefono varchar(11)
);
DESCRIBE agenda;
Nota: la cláusula IF EXISTS no devuelve error en caso de que no exista la tabla que deseamos eliminar.
Consultas Básicas
Select
Sintaxis #1:
SELECT *
FROM tabla_nombre
Sintaxis #2:
SELECT nombre_columna(s)
FROM tabla_nombre
Sintaxis #3:
SELECT nombre_columna(s)
FROM tabla_nombre
Ejemplo de aplicación:
SELECT nombre,apellido
FROM alumnos
Para extraer los datos y que nos los presente en pantalla, utilizamos la orden SELECT
SELECT columnas
FROM referencias_de_tablas
WHERE condiciones
[HAVING condiciones]
Mediante la sentencia SELECT es posible hacer una proyección de una tabla, seleccionando las columnas de las
que queremos obtener datos. En la sintaxis que hemos mostrado, la selección de columnas corresponde con la parte
"expresion_select". En el ejemplo anterior hemos usado '*', que quiere decir que se muestran todas las columnas.
Las expresiones select no se limitan a nombres de columnas de tablas, pueden ser otras expresiones, incluso aunque
no correspondan a ninguna tabla:
También podemos aplicar funciones sobre columnas de tablas, y usar esas columnas en expresiones para generar
nuevas columnas:
Es posible asignar un alias a cualquiera de las expresiones select. Esto se puede hacer usando la palabra AS, aunque
esta palabra es opcional:
SELECT permite usar condiciones como parte de su sintaxis, es decir, para hacer selecciones. Concretamente
mediante la cláusula WHERE
También se puede aplicar lógica booleana para crear expresiones complejas. Disponemos de los operadores AND,
OR, XOR y NOT.
Condiciones Lógicas
Operadores Lógicos
A B A AND B
falso falso falso
falso verdaderofalso
verdadero falso falso
verdadero verdaderoverdadero
falso NULL falso
NULL falso falso
verdadero NULL NULL
NULL verdaderoNULL
A B A OR B
falso falso Falso
falso verdadero Verdadero
verdadero falso Verdadero
verdadero verdadero Verdadero
falso NULL NULL
NULL falso NULL
verdadero NULL Verdadero
NULL verdadero Verdadero
A B A XOR B
falso falso Falso
falso verdaderoVerdadero
verdadero falso Verdadero
verdadero verdaderoFalso
falso NULL NULL
NULL falso NULL
verdadero NULL NULL
NULL verdaderoNULL
A NOT A
falso verdadero
verdadero falso
NULL NULL
Para crear expresiones lógicas, a las que podremos aplicar el álgebra de Boole, disponemos de varios operadores de
comparación. Estos operadores se aplican a cualquier tipo de columna: fechas, cadenas, números, etc, y devuelven
valores lógicos: verdadero o falso (1/0).
Si uno o los dos valores a comparar son NULL, el resultado es NULL, excepto con el operador <=>, de
comparación con NULL segura.
El operador <=> funciona igual que el operador =, salvo que si en la comparación una o ambas de las expresiones
es nula el resultado no es NULL. Si se comparan dos expresiones nulas, el resultado es verdadero:
Operador Descripción
<= Menor o igual
< Menor
> Mayor
>= Mayor o igual
Los operadores IS NULL e IS NOT NULL sirven para verificar si una expresión determinada es o no nula
Ejemplos de aplicación:
select * from artículos where precio >= 500 or stock >= 100;
select nombre,descripcion, precio,cantidad from artículos
where cantidad < 20 and precio >=100;
select nombre, domicilio from agenda where domicilio is not null;
Sentencia Between
Entre los operadores de MySQL, hay uno para comprobar si una expresión está comprendida en un determinado
rango de valores. La sintaxis es:
Ejemplo de aplicación
select * from articulos where precio not between 100 and 200;
Sentencia IN
Los operadores IN y NOT IN sirven para averiguar si el valor de una expresión determinada está dentro de un
conjunto indicado
El operador IN devuelve un valor verdadero, 1, si el valor de la expresión es igual a alguno de los valores
especificados en la lista. El operador NOT IN devuelve un valor falso en el mismo caso. Por ejemplo:
Ejemplo de aplicación
El operador LIKE se usa para hacer comparaciones entre cadenas y patrones. El resultado es verdadero (1) si la
cadena se ajusta al patrón, y falso (0) en caso contrario. Tanto si la cadena como el patrón son NULL, el resultado
es NULL. La sintaxis es:
Carácter Descripción
% Coincidencia con cualquier número de caracteres, incluso ninguno.
_ Coincidencia con un único carácter.
La comparación es independiente del tipo de los caracteres, es decir, LIKE no distingue mayúsculas de minúsculas,
salvo que se indique lo contrario (ver operadores de casting):
Como siempre que se usan caracteres concretos para crear patrones, se presenta la dificultad de hacer
comparaciones cuando se deben buscar precisamente esos caracteres concretos. Esta dificultad se suele superar
mediante secuencias de escape. Si no se especifica nada en contra, el carácter que se usa para escapar es '\'. De este
modo, si queremos que nuestro patrón contenga los caracteres '%' o '_', los escaparemos de este modo: '\%' y '\_':
Como en cualquier otro lenguaje, los paréntesis se pueden usar para forzar el orden de la evaluación de
determinadas operaciones dentro de una expresión. Cualquier expresión entre paréntesis adquiere mayor
precedencia que el resto de las operaciones en el mismo nivel de paréntesis.
Ejemplo de aplicación: