I MySQL kan du skapa tabeller via GUI eller genom att köra SQL-kod. Här är en sammanfattning av båda metoderna.
Nu när vi har skapat vår databas, låt oss skapa några tabeller.
Skapa tabeller via GUI
Ett sätt att skapa en tabell är via MySQL Workbench GUI. Detta är ett enkelt alternativ för dem som föredrar grafiska användargränssnitt.
Även om du börjar med att använda det grafiska användargränssnittet rekommenderar jag att du bekantar dig med att skapa tabeller med hjälp av CREATE TABLE
uttalande.
CREATE TABLE
Uttalande
CREATE TABLE
statement gör precis som namnet antyder – det skapar en tabell.
Du måste dock ge information om tabellen som du vill att MySQL ska skapa. Till exempel tabellnamnet, kolumnnamnen och deras datatyper, standardvärden, begränsningar, etc.
Här är exemplet vi använde på föregående sida:
CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
Detta skapar en tabell som heter Fruit
som innehåller två kolumner:FruitName
och DateEntered
.
FruitName
kolumnen använder datatypen VARCHAR(20)
, vilket betyder att den accepterar data som är en VARCHAR
(sträng med variabel längd) upp till 20 tecken lång.
DateEntered
kolumnen använder datatypen DATETIME
vilket innebär att kolumnen accepterar formatet DATETIME (ett datum och en tid) i följande format YYYY-MM-DD HH:MM:SS
.
Du kan ange att en kolumn alltid ska innehålla ett värde (att den inte ska vara "null"). För att göra detta, inkludera NOT NULL
i kolumnens specifikationer (exempel nedan).
Om du försöker infoga data som inte är i formatet som anges för den kolumnen får du ett felmeddelande.
Skapa flera tabeller
För att skapa flera tabeller lägger du helt enkelt till en CREATE TABLE
uttalande för varje tabell du behöver skapa.
CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Exempel
Vi skapade tidigare en tom databas som heter "FruitShop". Men vi skapade inga tabeller då. Låt oss uppdatera skriptet så att det skapar en databas och två tabeller. Vi lägger till lite mer saker i koden.
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Units ( UnitId TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, UnitName VARCHAR(10) NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (UnitId) )ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE Fruit ( FruitId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, FruitName VARCHAR(45) NOT NULL, Inventory SMALLINT UNSIGNED NOT NULL, UnitId TINYINT UNSIGNED NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (FruitId), CONSTRAINT fkFruitUnits FOREIGN KEY (UnitId) REFERENCES Units (UnitId) ON DELETE RESTRICT ON UPDATE CASCADE )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Kör skriptet ovan och uppdatera sedan den vänstra kolumnen i MySQL Workbench. Du bör se din nyskapade FruitShop databas listad under SCHEMAS flik.
Expandera tabellerna nod och du kommer att se tabellerna du just skapade:
Du kan också expandera varje tabell för att se dess kolumner och andra objekt som du skapat för den tabellen.
Visa tabellinformation programmässigt
Du kan också visa tabellinformation programmässigt. Det vill säga genom att ange ett SQL-kommando för att visa den information du behöver.
I följande exempel ställer vi in standarddatabasen till FruitShop
genom att använda USE FruitShop
. Vi ber sedan MySQL att visa alla tabeller för standarddatabasen (genom att använda SHOW TABLES
):
USE FruitShop; SHOW TABLES;
Du kan också ta reda på strukturen för en given tabell genom att använda följande kommando (byt bara ut tabellnamnet med tabellen du behöver strukturen för):
DESCRIBE Fruit;
Här är resultatet av det kommandot i vår databas: