Tipos de columnas / Creación de la tabla books

Clase 8 de 24Curso 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 como UNSIGNED y AUTO_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 que TEXT 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, usa VARCHAR(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.