Skapa tabeller i MySQL: Exempel och förklaringar

Senaste uppdateringen: 28 i juli av 2025
Författare: TecnoDigital
  • MySQL är ett populärt relationsdatabashanteringssystem för att utveckla webbapplikationer.
  • Tabeller i MySQL är organiserade i kolumner och rader, där varje kolumn har en datatyp.
  • Begränsningar som primärnycklar och främmande nycklar är avgörande för dataintegritet.
  • Att optimera tabellprestanda är avgörande för att säkerställa snabba svar på frågor.
Skapa tabeller i MySQL

Komplett guide till att skapa tabeller i MySQL: koncept, exempel och bästa praxis

Vad är MySQL och varför är det viktigt?

Vad är MySQL
Relaterad artikel:
Vad är MySQL och hur fungerar det?

Skapa tabeller i MySQL: Grundläggande begrepp

skapa en tabell i mysql
Relaterad artikel:
Enkla steg för att skapa en tabell i MySQL

Skapa en databas i MySQL

CREATE DATABASE nombre_base_de_datos;

Skapa en tabell i MySQL

CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  columna3 tipo_dato,
  ...
);
MySQL multi-table frågor exempel
Relaterad artikel:
MySQL multi-table frågor exempel

Datatyper i MySQL

  • INT o INTEGER: för att lagra heltal.
  • VARCHAR: för att lagra textsträngar med variabel längd.
  • CHAR: för att lagra textsträngar med fast längd.
  • DECIMAL: för att lagra decimaltal.
  • DATE: för att lagra datum.
  • TIME: för att lagra timmar.
  • DATETIME: för att lagra kombinerade datum och tider.

Skapa tabeller i MySQL: Exempel och förklaringar

Exempel 1: Skapa en användartabell

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

Exempel 2: Skapa en produkttabell

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

Hur skapar man en tabell i MySQL med begränsningar?

  • Primär nyckelEn primärnyckel är en kolumn (eller uppsättning kolumner) som unikt identifierar varje post i en tabell. För att skapa en primärnyckel i MySQL kan du använda följande syntax:
CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  ...,
  PRIMARY KEY (columna1)
);
  • I det här exemplet har kolumnen "kolumn1" definierats som primärnyckel.
  • Främmande nyckel: En främmande nyckel upprättar en relation mellan två tabeller baserat på en gemensam kolumn. För att skapa en främmande nyckel i MySQL måste du följa dessa steg:
    1. Skapa först huvudtabellen som kommer att ha primärnyckeln:
CREATE TABLE tabla_principal (
  id INT PRIMARY KEY,
  ...
);
CREATE TABLE tabla_secundaria (
  id INT,
  ...
  FOREIGN KEY (id) REFERENCES tabla_principal(id)
);
    1. I det här exemplet har kolumnen "id" i tabellen "child_table" definierats som en främmande nyckel och refererar till kolumnen "id" i tabellen "parent_table".
  • IntegritetsbegränsningarIntegritetsbegränsningar säkerställer att data som lagras i en tabell följer vissa regler. Du kan till exempel ställa in en integritetsbegränsning för att säkerställa att ett värde inte är null eller överensstämmer med ett specifikt format. Nedan är ett exempel på hur man skapar en integritetsbegränsning:
CREATE TABLE nombre_tabla (
  columna1 tipo_dato CONSTRAINT nombre_restriccion NOT NULL,
  ...
);
  • I det här exemplet säkerställer begränsningen "constraint_name" att kolumnen "column1" inte kan innehålla nollvärden.
  Typer av databaser: Relationell, NoSQL och mer

Skapa tabeller i MySQL: Avancerade överväganden

Hur skapar man en tabell i MySQL med primära och främmande nycklar?

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

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

Hur skapar man en tabell i MySQL med index?

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

Hur ändrar man en tabell i 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;

Hur släpper man en tabell i MySQL?

DROP TABLE nombre_tabla;

Hur frågar jag en tabell i MySQL?

SELECT * FROM nombre_tabla;

Hur importerar och exporterar man data i MySQL?

Hur säkerhetskopierar och återställer man en tabell i MySQL?

Hur optimerar man tabellprestanda i MySQL?

Hur fixar man vanliga problem när man skapar tabeller i MySQL?

Slutsatser