Guía de comandos SQL


      • DQL (Data Query Language): Buscar datos en la base de datos
    • Ejemplo: SELECT
  • DML (Data Manipulation Language): Modificar objetos de la base de datos
    • Ejemplo: INSERT, UPDATE, DELETE
  • DDL (Data Definition Language): Crear o modificar datos de la base de datos
    • Ejemplo: CREATE, DROP, ALTER, TRUNCATE

Comandos básicos

CREATE

Se utiliza para crear una tabla  

Sintaxis:

CREATE TABLE "TABLE_NAME"  

("COLUMN1" "DATA_TYPE" CONSTRAINTS,   

"COLUMN2" "DATA_TYPE’"CONSTRAINTS, 

"COLUMN3" "DATA_TYPE" CONSTRAINTS,

... 

"COLUMN N" "DATA_TYPE" CONSTRAINTS); 

INSERT

Se utiliza para insertar nuevos datos en una tabla

Sintaxis:

INSERT INTO "TABLE_NAME" (COL1, COL2, ... COL_N) 

VALUES (Col_val_1, Col_val_2, ... Col_val_N);

SELECT

Se utiliza para recuperar datos

Sintaxis:

SELECT * FROM "TABLE_NAME"; 

Para recuperar una columna: 

SELECT "COLUMN_NAME" FROM "TABLE_NAME";

Para recuperar varias columnas: 

SELECT "COLUMN1, COLUMN2, ..." FROM "TABLE_NAME";

Para recuperar todas las columnas: 

SELECT * FROM "TABLE_NAME";

DISTINCT

Se utiliza para eliminar valores duplicados

Sintaxis:

SELECT DISTINCT (*) FROM "TABLE_NAME";

WHERE

Se utiliza para filtrar registros en las tablas

Sintaxis:

SELECT "COLUMN_NAME(S)" FROM "TABLE_NAME" 

WHERE CONDITION;

AND/OR

Se utilizan para combinar múltiples condiciones

Sintaxis:

SELECT "COLUMN_NAME(S)" FROM "TABLE_NAME" 

WHERE CONDITION AND/OR CONDITION;

UPDATE

Se utiliza para modificar datos

Sintaxis:

UPDATE "TABLE_NAME" 

SET COL_1=VAL_1, COL_2=VAL_2, ... 

WHERE CONDITION;

DELETE

Se utiliza para eliminar registros existentes

Sintaxis:

Para eliminar todos los datos:

DELETE FROM "TABLE_NAME";

Para eliminar una o varias filas:

DELETE FROM "TABLE_NAME"

WHERE CONDITION;

ALTER

Se utiliza para cambiar la definición o la estructura de una tabla

Sintaxis:

Añadir una columna: 

ALTER TABLE "TABLE_NAME" 

ADD "COLUMN_NAME" "DATA_TYPE";

Borrar una columna:

ALTER TABLE "TABLE_NAME" 

DROP "COLUMN_NAME";

Modificar el tipo de dato en una columna:

ALTER TABLE "TABLE_NAME" 

ALTER COLUMN "COL_NAME" TYPE NEW_DATA_TYPE;

Renombrar una columna: 

ALTER TABLE "TABLE_NAME" 

RENAME COLUMN "COL_NAME" TO "NEW_NAME";

Añadir restricciones:

ALTER TABLE "TABLE_NAME" 

ADD CONSTRAINT COL_NAME CHECK CONDITION;

IMPORTAR DATOS DESDE UN FICHERO (PostgreSQL)

Importar a un archivo .csv:

COPY TABLE_NAME (column1, column2, ... ) 

FROM FILE_PATH DELIMITER ' , ' CSV HEADER; 

Importar a un archivo .txt:

COPY TABLE_NAME (column1, column2, ... ) 

FROM FILE_PATH DELIMITER ' , ' ; 

Comandos de filtrado 

IN

Permite reducir los operadores OR en los diferentes comandos

Sintaxis:

SELECT "COL_NAME" FROM "TABLE_NAME"

WHERE "COL_NAME" IN ('VAL1', 'VAL2', ...);

BETWEEN

Se utiliza para recuperar datos dentro de un rango determinado

Sintaxis:

SELECT "COL_NAME(S)" FROM "TABLE_NAME"

WHERE "COL_NAME" BETWEEN "VAL1" AND "VAL2";

LIKE

Se utiliza para realizar coincidencias de patrones/expresiones regulares usando comodines:

  • % - coincide con cualquier cadena de cualquier longitud
  • _ - coincide con un solo carácter (% , _)

Sintaxis:

SELECT  "COL_NAME" FROM "TABLE_NAME"

WHERE "COL_NAME" LIKE 'PATTERN';

Comandos de ordenación

ORDER BY

Se utiliza únicamente con el comando SELECT y sirve para ordenar datos

Sintaxis:

SELECT "COL_NAME(S)" FROM "TABLE_NAME"

ORDER BY "COL_NAME" ASC/DESC;

LIMIT

Se utiliza para limitar el número de registros según un límite específico

Sintaxis:

SELECT "COL_NAME(S)" FROM "TABLE_NAME" 

[WHERE & ORDER BY – Optional] 

LIMIT "LIMIT_VALUE";

Comando para alias

AS

Se utiliza para añadir un alias a una columna

Sintaxis:

SELECT "COL_NAME" as "COL_ALIAS"

FROM "TABLE_NAME";

Comandos de operaciones

COUNT

Se utiliza para contar los datos de una columna o de una expresión concreta

Sintaxis:

SELECT COUNT(COL_NAME) FROM "TABLE_NAME";

SUM

Se utiliza para sumar datos

Sintaxis:

SELECT SUM(COL_NAME) FROM "TABLE_NAME";

AVG

Se utiliza para calcular la media de los datos

Sintaxis:

SELECT AVG(COL_NAME) FROM "TABLE_NAME";

MIN

Se utiliza para recuperar el valor mínimo

Sintaxis:

SELECT MIN(COL_NAME) FROM "TABLE_NAME";

MAX

Se utiliza para recuperar el valor máximo

Sintaxis:

SELECT MAX(COL_NAME) FROM "TABLE_NAME";

Comandos de agrupación

GROUP BY

Se utiliza para agrupar los resultados por una o varias columnas

Sintaxis:

SELECT "COL_1", "COL_2", ... FROM "TABLE_NAME"; 

GROUP BY "COL_NAME";

HAVING

Se utiliza igual que la palabra clave WHERE, pero con funciones agregadas

Sintaxis:

SELECT "COL_1", "COL_2", ... FROM "TABLE_NAME"; 

GROUP BY "COL_NAME" 

HAVING 'CONDITION';

Comandos de condición

CASE

Es una expresión condicional

Sintaxis:

CASE

WHEN CONDITION THEN RESULT

[WHEN CONDITION THEN RESULT]

[WHEN CONDITION THEN RESULT]

ELSE RESULT

END

Comandos de unión

Los comandos JOIN se utilizan para recuperar datos de varias tablas

INNER JOIN

Devuelve únicamente los registros que coinciden en dos o más tablas

Sintaxis:

SELECT COL1, COL2, ...

FROM "TABLE_1"

INNER JOIN "TABLE_2"

ON TABLE_1. COMMON_COL = TABLE_2. COMMON_COL;

LEFT JOIN

Devuelve todas las filas de la tabla A (izquierda), incluso si no hay coincidencias en la tabla B (derecha)

Sintaxis:

SELECT COL1, COL2, ...

FROM "TABLE_1"

LEFT JOIN "TABLE_2"

ON TABLE_1. COMMON_COL = TABLE_2. COMMON_COL;

RIGHT JOIN

Devuelve todas las filas de la tabla B (izquierda), incluso si no hay coincidencias en la tabla A (derecha)

Sintaxis:

SELECT COL1, COL2, ...

FROM "TABLE_1"

RIGHT JOIN "TABLE_2"

ON TABLE_1. COMMON_COL = TABLE_2. COMMON_COL;

FULL JOIN

Combina los resultados de la unión derecha e izquierda

Sintaxis:

SELECT COL1, COL2, ...

FROM "TABLE_1"

FULL JOIN "TABLE_2"

ON TABLE_1. COMMON_COL = TABLE_2. COMMON_COL;

CROSS JOIN

Devuelve todas las líneas de las tablas cruzándolas

Sintaxis:

SELECT COL1, COL2, ...

FROM "TABLE_1"

CROSS JOIN "TABLE_2";

EXCEPT

Se utiliza para recuperar todos los datos de la tabla A, excepto los que coinciden con la tabla B

Sintaxis:

SELECT COL1, COL2, ... 

FROM TABLE_A [WHERE] 

EXCEPT 

SELECT COL1, COL2, ... 

FROM TABLE_B [WHERE];

UNION

Se utiliza para combinar dos o más comandos SELECT

Sintaxis:

SELECT COL1, COL2, ... 

FROM TABLE_A [WHERE] 

UNION 

SELECT COL1, COL2, ... 

FROM TABLE_B [WHERE]; 

SUBQUERY

Es una consulta dentro de una consulta, se encuentra junto a WHERE

Sintaxis:

SUBQUERY is in WHERE clause

SELECT "COL_1" FROM "TABLE_NAME_1"

WHERE "COL_2" [operator] 

(SELECT "COL_3" FROM "TABLE_NAME_2" 

WHERE CONDITION);

VIEW

Es la visualización de una tabla virtual creada por una consulta que une una o más tablas

Sintaxis:

CREATE[OR RESPONSE] view_name AS 

SELECT "COL_NAME(S)" 

FROM "TABLE_NAME"

INDEX

Crea una entrada para cada valor que aparece en la columna indexada

Sintaxis:

CREATE[UNIQUE] INDEX "index_name" 

ON "TABLE_NAME" 

(index_col1 [ASC/DESC], ...

Funciones de cadena (string)

LENGTH

Recupera la longitud de la cadena especificada

Sintaxis:

LENGTH('string')

UPPER/LOWER

Convierte todos los caracteres de la cadena especificada a mayúsculas/minúsculas

Sintaxis:

upper('string') 

lower('string')

REPLACE

Reemplaza todas las apariciones de la cadena especificada

Sintaxis:

REPLACE('string', 'from string', to string')

TRIM

Elimina todos los caracteres especificados, ya sea desde el principio o el final de la cadena o ambos

Sintaxis:

TRIM([Leading|Trailing|Both] [trim char] from string)

RTRIM

Elimina todos los caracteres especificados del lado derecho de la cadena

Sintaxis:

RTRIM('string', trim char)

LTRIM

Elimina todos los caracteres especificados del LHS de la cadena

Sintaxis:

LTRIM('string', trim char)

CONCATENATION

El operador '||' se utiliza para unir/concatenar dos o más cadenas

Sintaxis:

'string_1' || 'string_2' || 'string_3'

SUBSTRING

Se utiliza para extraer una subcadena de una cadena

Sintaxis:

SUBSTRING('string' [start position]

[substring length]);

STRING_AGG

La función 'String aggregate' concatena los valores de entrada en una cadena, separados por un delimitador

Sintaxis:

STRING_AGG('expression', delimiter)

Funciones matemáticas

CEIL

Devuelve el valor entero más pequeño que es mayor o igual a un número

Sintaxis:

CEIL(number)

FLOOR

Devuelve el valor entero más grande que es menor o igual a un número

Sintaxis:

FLOOR(number)

RANDOM

Se utiliza para generar números aleatorios entre 0 y 1 (se excluirá 1)

Sintaxis:

RANDOM( );

SETSEED

Se utiliza para establecer una semilla para la próxima vez que llamemos a la función ALEATORIA

Sintaxis:

SETSEED(seed)

[la semilla puede tener un valor entre 1 y -1 (ambos son inclusivos)]

ROUND

Redondea un número a un número específico de decimales

Sintaxis:

ROUND(number)

POWER

Devuelve el valor m elevado a la enésima potencia

Sintaxis:

POWER(m,n)

Funciones de fecha y tiempo

CURRENT_DATE

Devuelve la fecha actual

Sintaxis:

CURRENT_DATE( )

CURRENT_TIME

Devuelve la hora actual con la zona horaria

Sintaxis:

CURRENT_TIME( )

CURRENT_TIMESTAMP

Devuelve la fecha y hora actuales con la zona horaria

Sintaxis:

CURRENT_ TIMESTAMP ( )

AGE

Devuelve la diferencia entre dos fechas

Sintaxis:

AGE(date1,date2)

EXTRACT

Devuelve la fecha detallada con día, mes, año, día, hora, minuto, segundo, ...

Sintaxis:

EXTRACT(‘unit’ FROM ‘date’)

Patrones para búsquedas

Hay tres enfoques diferentes para la combinación de patrones:

Utilizando LIKE
Utilizando SIMILAR TO
Utilizando las siguientes expresiones regulares:
  • | indica alternancia (cualquiera de dos alternativas).
  • * indica repetición del elemento anterior cero o más veces.
  • + indica repetición del elemento anterior una o más veces.
  • ? indica repetición del elemento anterior cero o una vez.
  • {m} indica la repetición del elemento anterior exactamente m veces.
  • {m,} indica la repetición del elemento anterior m o más veces.
  • {m,n} indica la repetición del elemento anterior al menos m veces y no más de n veces.
  • Los paréntesis () se pueden utilizar para agrupar elementos en un solo elemento lógico.
  • Una expresión entre corchetes [...] especifica una clase de carácter,

Funciones de conversión para tiempo y fechas

TO_CHAR

Convierte un número o fecha en una cadena (string)

Sintaxis:

TO_CHAR(value, format-mask)

TO_DATE

Convierte una cadena (string) en una fecha

Sintaxis:

TO_DATE(string, format-mask)

TO_NUMBER

Convierte una cadena en un número

Sintaxis:

TO_NUMBER(string, format-mask)

Descripción de formatos:

    9 Valor numérico con el número de dígitos especificado
    0 Valor numérico con ceros a la izquierda
    . (punto) punto decimal
    D punto decimal que usa la configuración regional
    , (coma) separador de miles
    Modo FM Fill, suprime los espacios en blanco y los ceros iniciales
    PR Valor negativo entre paréntesis angulares
    S Sign junto a un número usa la configuración regional
    L Símbolo de moneda que utiliza la configuración regional
    Separador de grupo G que usa configuración regional
    MI Signo menos en la posición especificada para números menores que 0
    PL Signo más en la posición especificada para números mayores que 0
    SG Signo más/menos en la posición especificada
    RN Número romano que va del 1 al 3999 
    TH o th Sufijo de número ordinal en mayúsculas o minúsculas

    Descripción de patrones:

      Y,YYY año en 4 dígitos con coma
      AAAA año en 4 dígitos
      AAA últimos 3 dígitos del año
      AA últimos 2 dígitos del año
      Y El último dígito del año.
      IAAAA Año de numeración de semanas ISO 8601 (4 o más dígitos)
      IAA Últimos 3 dígitos del año de numeración de semanas ISO 8601
      IY Últimos 2 dígitos del año de numeración de semanas ISO 8601
      I Último dígito del año de numeración de semanas ISO 8601
      Indicador BC, bc, AD o ad Era sin puntos
      a.C., a.C., d.C. oa.d. Indicador de era con puntos
      MES Nombre del mes en inglés en mayúsculas
      Mes Nombre del mes en inglés con mayúscula completa
      Mes Nombre del mes en inglés en minúsculas completas
      MON Nombre abreviado del mes en mayúsculas, por ejemplo, JAN, FEB, etc.
      Mon Nombre abreviado del mes en mayúscula, por ejemplo, enero, febrero, etc.
      Mon Nombre abreviado del mes en minúsculas, por ejemplo, enero, febrero, etc.
      Número de mes MM del 01 al 12
      DÍA Nombre del día completo en mayúsculas
      Día Nombre del día completo en mayúscula
      Día Nombre del día completo en minúsculas
      DY Nombre del día abreviado en mayúsculas
      Dy Nombre del día abreviado en mayúscula
      Dy Nombre del día abreviado en minúsculas
      DDD Día del año (001-366)
      Día IDDD del año de numeración de semanas ISO 8601 (001-371; el día 1 del año es el lunes de la primera semana ISO)
      DD Día del mes (01-31)
      D Día de la semana, domingo (1) a sábado (7)
      ID ISO 8601 día de la semana, de lunes (1) a domingo (7)
      W Semana del mes (1-5) (la primera semana comienza el primer día del mes)
      WW Número de semana del año (1-53) (la primera semana comienza el primer día del año)
      Número de semana IW del año de numeración de semanas ISO 8601 (01-53; el primer jueves del año está en la semana 1)
      CC Century, por ejemplo, 21, 22, etc.
      J Día Juliano (días enteros desde el 24 de noviembre de 4714 a. C. a la medianoche UTC)
      RM Mes en números romanos mayúsculas (I-XII; >
      Rm Mes en números romanos minúsculas (i-xii; >
      HH Hora del día (0-12)
      HH12 Hora del día (0-12)
      HH24 Hora del día (0-23)
      Minuto MI (0-59)
      Segunda SS (0-59)
      MS milisegundos (000-999)
      Microsegundo de EE. UU. (000000-999999)
      SSSS Segundos después de la medianoche (0-86399)
      AM, am, PM o pm Indicador Meridiem (sin puntos)
      A.M., A.M., P.M. o p.m. 
      Indicador Meridiem (con puntos)


      Siguiente Publicación