notas-y-apuntes

Tema 15: Tablas

:arrow_up: ir al inicio

Nuestra primera tabla

Hasta este punto hemos aprendido cómo realizar consultas en tablas predefinidas e incluso como insertar datos a las tablas,, pero ¿cómo creamos nuestras propias tablas?

Para crear una tabla en SQL, se utiliza la sentencia CREATE TABLE de la siguiente forma:

La sentencia CREATE TABLE en SQL es una Lenguaje de definicion de datos ( Data Definition Language (DDL)).

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);

La sentencia CREATE TABLE permite definir la estructura de la tabla, incluyendo el nombre de las columnas y sus tipos de datos. Veamos un ejemplo de como crear una tabla de productos que incluye diferentes tipo de datos en las columnas:

CREATE TABLE productos (nombre text)

Luego, una vez creada la tabla, podemos insertar datos tal como aprendimos en ejercicios anteriores:

INSERT INTO productos
VALUES ('Ipad Pro 2022'), ('Iphone 13 Pro Max'), ('Macbook Pro 2023')

Ejercicio: Crea una tabla llamada alumnos que almacene una columna:

Columna tipo de texto
Nombre Texto

Inserta un registro dentro de la tabla creada utilizando los siguientes datos:

CREATE  TABLE alumnos (nombre text);
INSERT  INTO alumnos
VALUES  ('Lucía');

Una tabla con multiples columnas

Al momento de crear una tabla podemos especificar multiples columnas, cada una con su nombre y tipo de dato. POr ejemplo, si queremos crear una tabla de productos qye incluya el nombre, descripcion y precio de cada producto, podemos hacerlo de la siguiente forma:

CREATE TABLE productos (nombre TEXT, descripcion TEXT, precio TEXT);

Ejercicio: Crea una tabla llamada alumnos con las siguientes columnas:

Columna Tipo de dato
nombre texto
apellido texto
telefono texto

Inserta un registro dentro de la tabla creada, utilizando los siguientes datos:

Pista: para poder ingresar las dos queries requeridas, recuerda añadir punto y coma al final de cada una.

CREATE  TABLE alumnos (
nombre TEXT,
apellido TEXT,
telefono TEXT
);
INSERT  INTO alumnos
VALUES  ('Lucía',  'Sánchez',  '12345678')

Tablas con distintos tipos de datos

Adicionalmente a los datos de tipo texto podemos utilizar otros tipos de datos, en este ejercicio abordaremos los 3 siguientes tipos:

Ejercicio: Crea una tabla llamada usuarios con las siguientes columnas:

Columna Tipo de dato
nombre texto
apellido texto
edad integer
activo boolean
nacimiento date

Luego inserta un registro dentro de la tabla cerada utilizando los siguientes datos

Pista: para poder ingresar las dos queries requeridas, recuerda añadir punto y coma al final de cada una.

CREATE  TABLE USUARIOS (
	NOMBRE TEXT,
	APELLIDO TEXT,
	EDAD INT,
	ACTIVO BOOLEAN,
	NACIMIENTO DATE
);
INSERT  INTO USUARIOS
VALUES  (
'Lucía',
'Sánchez',
25,
TRUE,
'1996-01-01'
)

Tipos reales

Hasta el momento hemos visto los siguientes tipos de datos:

En este ejercicio veremos el tipo de dato REAL, que permite almacenar numeros con decimales

Ejercicio Crea una tabla llamada temperaturas con la columna temperatura_celsius

Columna Tipo de dato
temperatura_celsius real

Luego inserta los siguiente registros:

temperatura_celsius
23.4
26.5
27.1

Importante. Para ingresar la parte decimal de los números, utiliza el punto (.) como separador decimal

CREATE  TABLE TEMPERATURAS (
temperatura_celsius FLOAT
);
INSERT  INTO TEMPERATURAS
VALUES  (
	23.4
),  (
	26.5
),  (
	27.1
)

Borrar una tabla

En SQL podemos utilizar el comando DROP TABLE para eliminar una tabla.

Por ejemplo, si queremos eliminar la tabla temperaturas que creamos en el ejercicio anterior, podemos hacerlo con la siguiente query:

DROP TABLE temperaturas;

Si intentamos hacer un SELECT de la tabla temperaturas luego de eliminarla, obtendremos un error.

Ejercicio:

En este ejercicio tendremos una tabla con datos que no nos interesan, debemos borrarla, crearla de nuevo y probarla con los datos pedidos.

Borra la tabla temperaturas y vuelve a crearla con las siguientes columnas:

Columna Tipo de dato
ciudad text
temperatura real
fecha date

Luego, inserta los siguientes registros:

CIUDAD TEMPERATURA FECHA
Buenos Aires 20.0 2024-01-01
Buenos Aires 21.0 2024-01-02
Santiago 22.0 2024-01-01
Santiago 23.0 2024-01-02

Importante: para poder ingresar las queries requeridas, recuerda añadir punto y coma al final de cada una.

DROP  TABLE TEMPERATURAS;
CREATE  TABLE TEMPERATURAS (
CIUDAD TEXT,
TEMPERATURA FLOAT,
FECHA DATE
);
INSERT  INTO TEMPERATURAS
VALUES  (
	'Buenos Aires',
	20.0,
	'2024-01-01'
),  (
	'Buenos Aires',
	21.0,
	'2024-01-02'
),  (
	'Santiago',
	22.0,
	'2024-01-01'
),  (
	'Santiago',
	23.0,
	'2024-01-02'
)

Actualizar una tabla

En este ejercicio aprenderemos a añadir una columna a una tabla existente. Para ello, utilizaremos la sentencia ALTER TABLEque nos permite modificar la definicion de una tabla.

La sintaxis para lograrlo es la siguiente:

ALTER TABLE nombre_tabla ADD COLUMN nombre_columna tipo_dato;

Donde tenemos que esoecificar el nombre de la tabla existente, el nombre de la columna nueva y el tipo de dato que utilizaremos.

Por ejemplo, si tenemos la tabla personas con las siguientes columnas: nombre y apellido, y queremos agregar la columna edad de tipo integer podemos hacerlo de la siguiente manera:

ALTER TABLE personas ADD COLUMN edad INTEGER

Ejercicio:

En este ejercicio vamos a modificar la tablla productos para agregar la columna descripcion de tipo TEXT.

Actualmente la tabla columna **productos ** tiene las siguientes columnas:

Columna Tipo de dato
nombre text
precio real

Luego de crearla, deberas insertar los siguientes datos:

NOMBRE PRECIO DESCRIPCION
Camisa 1000.00 Camisa de manga corta
Pantalón 2000.00 Pantalón de mezclilla
Camisa XL 1000.00 Camisa de manga larga

Importante: para poder ingresar las queries requeridas, recuerda añadir punto y coma al final de cada una.

ALTER  TABLE PRODUCTOS
ADD  COLUMN DESCRIPCION TEXT;
INSERT INTO PRODUCTOS
VALUES
	('Camisa',  1000.0,  'Camisa de manga corta'),
	('Pantalón',  2000.0,  'Pantalón de mezclilla'),
	('Camisa XL',  1000.0,  'Camisa de manga larga')