Creazione di tabelle in MySQL: esempi e spiegazioni

Ultimo aggiornamento: 28 luglio 2025
  • MySQL è un diffuso sistema di gestione di database relazionali per lo sviluppo di applicazioni web.
  • Le tabelle in MySQL sono organizzate in colonne e righe, ciascuna delle quali ha un tipo di dati.
  • Vincoli quali chiavi primarie ed esterne sono essenziali per l'integrità dei dati.
  • L'ottimizzazione delle prestazioni delle tabelle è fondamentale per garantire una risposta rapida alle query.
Creare tabelle in MySQL

Guida completa alla creazione di tabelle in MySQL: concetti, esempi e best practice

Cos'è MySQL e perché è importante?

Che cosa è MySQL
Articolo correlato:
Cos'è MySQL e come funziona?

Creazione di tabelle in MySQL: concetti di base

creare una tabella in mysql
Articolo correlato:
Semplici passaggi per creare una tabella in MySQL

Creare un database in MySQL

CREATE DATABASE nombre_base_de_datos;

Creare una tabella in MySQL

CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  columna3 tipo_dato,
  ...
);
Esempi di query multi-tabella MySQL
Articolo correlato:
Esempi di query multi-tabella MySQL

Tipi di dati in MySQL

  • INT o INTEGER: per memorizzare numeri interi.
  • VARCHAR: per memorizzare stringhe di testo di lunghezza variabile.
  • CHAR: per memorizzare stringhe di testo di lunghezza fissa.
  • DECIMAL: per memorizzare numeri decimali.
  • DATE: per memorizzare le date.
  • TIME: per memorizzare le ore.
  • DATETIME: per memorizzare date e orari combinati.

Creazione di tabelle in MySQL: esempi e spiegazioni

Esempio 1: creare una tabella utenti

CREATE TABLE usuarios (
  id INT PRIMARY KEY,
  nombre VARCHAR(50),
  email VARCHAR(100),
  fecha_registro DATE
);

Esempio 2: creare una tabella dei prodotti

CREATE TABLE productos (
  id INT PRIMARY KEY,
  nombre VARCHAR(100),
  precio DECIMAL(10, 2),
  fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Come creare una tabella in MySQL con vincoli?

  • chiave primariaUna chiave primaria è una colonna (o un insieme di colonne) che identifica in modo univoco ogni record in una tabella. Per creare una chiave primaria in MySQL, puoi utilizzare la seguente sintassi:
CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  ...,
  PRIMARY KEY (columna1)
);
  • In questo esempio, la colonna “column1” è stata definita come chiave primaria.
  • Chiave esterna: Una chiave esterna stabilisce una relazione tra due tabelle sulla base di una colonna comune. Per creare una chiave esterna in MySQL, è necessario seguire questi passaggi:
    1. Per prima cosa, crea la tabella principale che conterrà la chiave primaria:
CREATE TABLE tabla_principal (
  id INT PRIMARY KEY,
  ...
);
CREATE TABLE tabla_secundaria (
  id INT,
  ...
  FOREIGN KEY (id) REFERENCES tabla_principal(id)
);
    1. In questo esempio, la colonna “id” nella tabella “child_table” è stata definita come chiave esterna e fa riferimento alla colonna “id” nella tabella “parent_table”.
  • Vincoli di integritàI vincoli di integrità garantiscono che i dati memorizzati in una tabella seguano determinate regole. Ad esempio, è possibile impostare un vincolo di integrità per garantire che un valore non sia nullo o sia conforme a un formato specifico. Di seguito è riportato un esempio di come creare un vincolo di integrità:
CREATE TABLE nombre_tabla (
  columna1 tipo_dato CONSTRAINT nombre_restriccion NOT NULL,
  ...
);
  • In questo esempio, il vincolo “constraint_name” garantisce che la colonna “column1” non possa contenere valori nulli.
  Data Lineage: cos'è, vantaggi e come implementarlo

Creazione di tabelle in MySQL: considerazioni avanzate

Come creare una tabella in MySQL con chiavi primarie ed esterne?

CREATE TABLE tabla_principal (
  id INT PRIMARY KEY,
  ...
);

CREATE TABLE tabla_secundaria (
  id INT,
  ...
  FOREIGN KEY (id) REFERENCES tabla_principal(id)
);

Come creare una tabella in MySQL con indici?

CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  ...
  INDEX nombre_indice (columna1, columna2)
);

Come modificare una tabella in MySQL?

ALTER TABLE nombre_tabla ADD columna tipo_dato;

ALTER TABLE nombre_tabla DROP COLUMN columna;

ALTER TABLE nombre_tabla MODIFY columna nuevo_tipo_dato;

Come eliminare una tabella in MySQL?

DROP TABLE nombre_tabla;

Come interrogare una tabella in MySQL?

SELECT * FROM nombre_tabla;

Come importare ed esportare dati in MySQL?

Come eseguire il backup e il ripristino di una tabella in MySQL?

Come ottimizzare le prestazioni delle tabelle in MySQL?

Come risolvere i problemi più comuni durante la creazione di tabelle in MySQL?

Conclusioni