Introducción A SQL y MySQL
Introducción A SQL y MySQL
USE ejemplo1;
Si no queremos indicar todos los datos, deberemos detallar qué campos vamos a
introducir y en qué orden, así:
En ocasiones no querremos comparar todo el campo con un texto exacto, sino ver
si contiene un cierto texto (por ejemplo, porque sólo sepamos un apellido o parte
de la calle). En ese caso, no compararíamos con el símbolo "igual" (=), sino que
usaríamos la palabra "LIKE", y para las partes que no conozcamos usaremos el
comodín "%".
Para ordenar en sentido contrario basta con añadir DESC (Por defecto, si se omite,
se utilizará ASC).
Se puede crear una tabla indicando su calve primaria si se añade "PRIMARY KEY"
al final de la orden "CREATE TABLE"
Pero esto todavía tiene problemas: estamos combinando TODOS los datos de la
tabla de personas con TODOS los datos de la tabla de ciudades. Esos datos no son
reales: si "juan" vive en la ciudad de código "a", sólo debería mostrarse junto al
nombre "alicante". Nos falta indicar esa condición: "el código de ciudad que
aparece en la persona debe ser el mismo que el código que aparece en la ciudad".
Cualquier otra consulta que implique las dos tablas deberá terminar
comprobando que los dos códigos coinciden. Por ejemplo, para ver qué personas
viven en la ciudad llamada "madrid"
Master Datascience
Profesor: Daniel Rubio Yagüe
3 Eliminado de información
4 Modificar información
5 Operaciones matemáticas
Para que resulte más legible, se puede añadir un "alias" a cada "nuevo campo"
que se genera al plantear las operaciones matemáticas:
6 Agrupación de datos
SELECT count(*), edad FROM personas GROUP BY edad HAVING edad >
24;
Master Datascience
Profesor: Daniel Rubio Yagüe
7 Funciones de cadena
● RIGHT(cadena, longitud) extrae varios caracteres del final (la parte derecha)
de la cadena: SELECT RIGHT('Hola',2); ⇒ la
● CONCAT une (concatena) varias cadenas para formar una nueva: SELECT
CONCAT('Ho', 'la'); ⇒ Hola
● LTRIM devuelve la cadena sin los espacios en blanco que pudiera contener
al principio (en su parte izquierda): SELECT LTRIM(' Hola'); ⇒ Hola
● RTRIM devuelve la cadena sin los espacios en blanco que pudiera contener
al final (en su parte derecha): SELECT RTRIM('Hola '); ⇒ Hola
● TRIM devuelve la cadena sin los espacios en blanco que pudiera contener
al principio ni al final: SELECT TRIM(' Hola '); ⇒ Hola (Realmente TRIM puede
eliminar cualquier prefijo, no sólo espacios)
Master Datascience
Profesor: Daniel Rubio Yagüe
● INSTR(cadena,subcadena) o LOCATE(subcadena,cadena,posInicial)
devuelve la posición de una subcadena dentro de la cadena: SELECT
INSTR('Hola','ol'); ⇒ 2
8 Uniones de tablas
De igual modo, si queremos ver todas las capacidades, incluso aquellas para las
que no hay detalles sobre personas, podemos escribir el orden de las tablas al
Master Datascience
Profesor: Daniel Rubio Yagüe
revés en la consulta anterior, o bien usar "right join" (Veríamos los datos, tomando
como referencia la tabla que consideramos secundaria)
9 Vistas
Las vistas nos permiten “guardar” o “fijar” las consultas SQL que hemos hecho y
gestionarlas de forma más sencilla. De igual manera, seremos capaces de otorgar
permisos a usuarios para que accedan exclusivamente a esas vistas sin posibilidad
de que alteren el contenido o tengan acceso a la totalidad de la tabla desde la
que se traen los datos.