sql >> Databasteknik >  >> RDS >> Mysql

Skapa en tabell i MySQL

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:


  1. SQL är lika med (=) operatör för nybörjare

  2. Vad är Sequence i oracle

  3. Hänvisar till ett kolumnalias i en WHERE-klausul

  4. 4 sätt att kontrollera om en tabell finns i MariaDB