Saltar al contenido principal

Tutorial de introducción a bases de datos SQL

En este tutorial, aprenderás qué son las bases de datos en SQL.
· 3 min leer

Explora con IA

Una base de datos modela entidades del mundo real, como profesores y universidades, almacenándolas en tablas. Cada tabla contiene datos de un único tipo de entidad. Así se reduce la redundancia al guardar cada entidad solo una vez. Por ejemplo, solo hace falta una fila con los datos de una empresa concreta. Además, una base de datos permite modelar las relaciones entre entidades.

SQL son las siglas de Structured Query Language, el lenguaje estándar para almacenar, manipular y recuperar datos en una base de datos relacional.

SQL es el lenguaje estándar de los sistemas de bases de datos relacionales. Todos los sistemas de gestión de bases de datos relacionales (RDBMS) como MySQL, MS Access, Oracle, Sybase, Informix, Postgres y SQL Server usan SQL como lenguaje principal.

Base de datos PostgreSQL

information_schema es una metabase que contiene información sobre tu base de datos actual. No es exclusivo de PostgreSQL y también está disponible en otros gestores como MySQL o SQL Server. information_schema incluye varias tablas que puedes consultar con la sintaxis conocida SELECT * FROM:

  • tables: información sobre todas las tablas de tu base de datos actual
  • columns: información sobre todas las columnas de todas las tablas de tu base de datos actual
  SELECT table_schema, table_name
  FROM information_schema.tables;
      table_schema    |              table_name
   -------------------+------------------------------
   pg_catalog         | pg_statistic
   pg_catalog         | pg_type
   pg_catalog         | pg_policy
   pg_catalog         | pg_authid
   pg_catalog         | pg_shadow
   public             | university_professors
   pg_catalog         | pg_settings
  ... 

Comandos en SQL

Lenguaje de definición de datos (DDL)

  • CREATE: crea una tabla nueva o una vista de una tabla.
  • ALTER: modifica una tabla existente.
  • DROP: elimina por completo una tabla u otros objetos de la base de datos.

Lenguaje de manipulación de datos (DML)

  • SELECT: extrae determinados registros de una o varias tablas.
  • INSERT: crea un registro en una tabla existente.
  • UPDATE: modifica un registro existente de la tabla.
  • DELETE: borra registros de la tabla, e incluso puede eliminarla por completo.

Consultar las columnas de una tabla concreta

information_schema también almacena información sobre columnas en la tabla "columns". Una vez conozcas el nombre de una tabla, puedes consultar sus columnas accediendo a la tabla "columns".

SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_name = 'pg_config';


 table_name | column_name | data_type
 -----------+-------------+-----------
 pg_config  | name        | text
 pg_config  | setting     | text 

Aquí ves que la tabla del sistema pg_config tiene solo dos columnas: previsiblemente para almacenar pares nombre-valor.

Ejemplo interactivo

En este ejercicio, solo necesitarás información del esquema 'public', que aparece como la columna table_schema de las tablas tables y columns. El esquema 'public' contiene información sobre tablas y bases de datos definidas por el usuario. Los otros tipos de table_schema contienen información del sistema; aquí solo nos interesan los objetos definidos por el usuario.

Obtendrás información sobre todos los nombres de tabla de la base de datos actual limitando tu consulta al 'public' table_schema.

## Consulta la tabla correcta en information_schema
SELECT table_name
FROM information_schema.tables
## Especifica el valor correcto de table_schema
WHERE table_schema = 'public';

Al ejecutar el código anterior, se obtiene el siguiente resultado:

resultado de la consulta

Pruébalo tú mismo.

Para aprender más sobre bases de datos relacionales en SQL, echa un vistazo a este vídeo de nuestro curso Introduction to Relational Databases in SQL.

Este contenido está extraído del curso Introduction to Relational Databases in SQL de DataCamp, por Timo Grossenbacher.

Descubre también nuestro tutorial Introduction to Indexing in SQL.

Temas

Relacionado

blog

¿Qué es una base de datos de grafos? Guía para principiantes

Tutorial

Ejemplos y tutoriales de consultas SQL