Para los [tipos de datos de MyS](<https://desarrolloweb.com/articulos/1054.php>)QL
dejo un recurso ya que hay una gran variedad.
Qué tipos de tablas principales existen en MySQL?
Qué tablas tendremos durante el curso?
Existen varios tipos de de tablas pero en general destacan:
Aquí un recurso con explicación de InnoDB y MyISAM
Durante el curso tendremos dos tablas:
<aside> 📌 Resumen: Existen dos tipos principales de DB, que dependiendo de las necesidades que tengamos como vimos en el ejemplo precisaremos de usar una u otra, basandonos en las ventajas que nos proporcionan.
</aside>
Cómo se crea una DB?
Buenas practicas: Las tablas deben llamarse como el plural de su sustantivo en inglés.
Tip: Cada tabla debe tener un ID.
Cómo creamos una tabla?
Tip: En una DB no guardamos binarios (imágenes), solo su URL.
Para crear una base de datos usamos:
CREATE DATABASE platzi_operations;
Una vez creada la base de datos, lo verificamos con:
Cambiamos de DB con USE:
Consultamos las tablas que tenemos (de momento ninguna):
SHOW DATABASES;
USE platzi_operations;
SHOW tables;
Como no tenemos ninguna tabla nos mostrará:
Creamos una tabla con, opcionalmente podemos usar el IF NOT EXISTS (Para no romper el workflow):
CREATE TABLE IF NOT EXISTS books (
book_id INTEGER UNSIGNED AUTO_INCREMENT,
author INTEGER UNSIGNED,
title VARCHAR(100) NOT NULL,
`year` INTEGER UNSIGNED NOT NULL DEFAULT 1900,
language VARCHAR(2) NOT NULL DEFAULT 'es' COMMENT 'ISO 639-1 Language',
cover_url VARCHAR(500),
price DOUBLE(6,2) NOT NULL DEFAULT 10.0,
sellable TINYINT(1) DEFAULT 1,
copies INTEGER NOT NULL DEFAULT 1,
description TEXT,
PRIMARY KEY (book_id)
);
La columna author es una FK (foreing key) que se relacionará con otra tabla, deben llevar el mismo tipo de datos (es una referencia).
<aside> 📌 Resumen: Podemos crear bases de datos y tablas con el comando CREATE, al crear una tabla debemos tener en cuenta que esta debe llevar información que debemos estructurar para para ello disponemos de varios tipos de datos y especificaciones.
</aside>
Cómo creamos la tabla de authors?
Tip: MySQL permite uso mayúsculas y minúsculas en las palabras reservadas y nombres.
Comandos importantes de MySQL
Tip: Cuando queremos usar una palabra reservada lo hacemos entre estas tildes
ej: year
La tabla authors se crea con el comando CREATE:
CREATE TABLE IF NOT EXISTS authors (
author_id INTEGER UNSIGNED AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
nacionality VARCHAR(3),
PRIMARY KEY (author_id)
);
Las relaciones que se crean entre tablas se realizan de forma lógica y no directamente en la DB.
Un comando con el que podemos borrar una tabla, su contenido y estructura.
DROP TABLE authors;
Un comando útil para saber como esta construida una base de datos es describe o su abreviación desc:
DESCRIBE authors;
DESC books;
DESCRIBE es una forma corta de expresar:
SHOW FULL COLUMNS FROM books;
<aside>
📌 Resumen: Para el nombre de la columnas de nuestra tabla podemos usar estas tildes
, aparte de tener comandos como DESC que nos dan una idea de la estructura y DROP para eliminar.
</aside>