Tipos de columnas / Creación de la tabla books
Clase 8 de 24 • Curso de SQL y MySQL 2018
Resumen
¿Cómo se crea una base de datos en MySQL?
Trabajar con bases de datos implica crear una estructura inicial para almacenar información. En este aspecto, el comando CREATE
es imprescindible en SQL, permitiendo crear nuevas bases de datos y otros elementos. Aquí te explico cómo usarlo adecuadamente:
- Crear una base de datos: Utiliza
CREATE DATABASE nombre_base_de_datos;
. - Añadir protección contra duplicados: Para evitar errores si la base de datos ya existe, puedes usar
CREATE DATABASE IF NOT EXISTS nombre_base_de_datos;
.
Por ejemplo:
CREATE DATABASE IF NOT EXISTS platzi_operation;
Al utilizar esta declaración, se previene que el sistema intente crear de nuevo una base existente, generando solo un aviso en lugar de un error.
¿Cómo seleccionamos y gestionamos bases de datos?
Una vez creada la base de datos, es fundamental seleccionar cuál vas a utilizar para realizar tus operaciones. Aquí es donde entran en juego comandos como SHOW
y USE
:
- Listar bases de datos existentes: Usa
SHOW DATABASES;
para ver todas las bases de datos disponibles en el sistema. - Seleccionar una base de datos: Emplea
USE nombre_base_de_datos;
para elegir sobre cuál base de datos se ejecutarían tus consultas.
Por ejemplo:
USE platzi_operation;
Con este comando, indicas al sistema que deseas trabajar con platzi_operation
, lo que direcciona cualquier acción posterior a esa base específica.
¿Cómo se crea una tabla en SQL y se definen sus columnas?
Una vez que tienes tu base de datos lista, es tiempo de pensar en crear tablas, el almacenamiento fundamental para tus datos. Aquí van varios elementos clave para crear tablas en SQL:
- Básico de creación de tablas: Usa
CREATE TABLE
seguido del nombre de la tabla. - Nombre de tablas en plural y en inglés: Es una buena práctica que facilites el trabajo futuro manteniendo consistencia y facilitando la comprensión.
Por ejemplo, para crear una tabla llamada "books":
CREATE TABLE IF NOT EXISTS books (
book_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY
);
¿Qué tipos de datos y restricciones podemos definir?
Al definir las columnas de una tabla, se deben considerar los tipos de datos y las restricciones que se aplicarán para una gestión adecuada de los datos:
- Campos numéricos y autoincrementales: Usa
INT
,TINYINT
,BIGINT
con opciones comoUNSIGNED
yAUTO_INCREMENT
para IDs únicos. - Restricciones de unicidad: Una llave primaria (
PRIMARY KEY
) garantiza que cada entrada sea única e identificable. - Opciones de texto:
VARCHAR
se usa para cadenas de texto con tamaño delimitado, mientras queTEXT
permite grandes cantidades de texto.
Ejemplo de definición de columnas con diversas características:
CREATE TABLE IF NOT EXISTS books (
book_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
year INT UNSIGNED NOT NULL DEFAULT 1900
);
¿Cómo optimizar espacio con tipos de datos?
Elegir correctamente el tipo de datos es crucial para optimizar el espacio y rendimiento de las consultas:
- Enteros sin signo (
UNSIGNED
): Ahorran espacio al evitar el almacenamiento del signo, útil para números que nunca serán negativos. - Longitud de
VARCHAR
: Especifica solo el espacio necesario. Por ejemplo, usaVARCHAR(2)
para códigos de idioma estandarizados.
Aquí un enfoque sobre cómo incluir un idioma con un estándar específico y comentarios:
lang VARCHAR(2) NOT NULL DEFAULT 'ES' COMMENT 'ISO 639-1 Language Code'
El anterior ejemplo también demuestra cómo añadir anotaciones explicativas útiles dentro de la estructura de tu base de datos.
Este viaje a través de la creación de bases de datos y tablas en SQL representa solo el inicio de cómo puedes estructurar la información eficientemente. A medida que sigas avanzando, descubrirás la importancia de definir correctamente cada parámetro y las buenas prácticas que incrementarán el rendimiento de tus bases de datos y facilitarán su mantenimiento.