sql >> Database >  >> RDS >> Mysql

Maak een tabel in MySQL

In MySQL kunt u tabellen maken via de GUI of door SQL-code uit te voeren. Hier is een overzicht van beide methoden.

Nu we onze database hebben gemaakt, gaan we wat tabellen maken.

Tabellen maken via de GUI

Een manier om een ​​tabel te maken is via de MySQL Workbench GUI. Dit is een gemakkelijke optie voor diegenen die de voorkeur geven aan grafische gebruikersinterfaces.

Zelfs als u begint met het gebruik van de GUI, raad ik u aan vertrouwd te raken met het programmatisch maken van tabellen met behulp van de CREATE TABLE verklaring.

De CREATE TABLE Verklaring

De CREATE TABLE statement doet precies wat de naam doet vermoeden — het creëert een tabel.

U moet echter informatie verstrekken over de tabel die u door MySQL wilt laten maken. Bijvoorbeeld de tabelnaam, de kolomnamen en hun gegevenstypes, standaardwaarden, beperkingen, enz.

Dit is het voorbeeld dat we op de vorige pagina hebben gebruikt:

CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);

Dit creëert een tabel met de naam Fruit die twee kolommen bevat:FruitName en DateEntered .

De FruitName kolom gebruikt het gegevenstype VARCHAR(20) , wat betekent dat het gegevens accepteert die een VARCHAR . zijn (reeks met variabele lengte) tot 20 tekens lang.

De DateEntered kolom gebruikt het gegevenstype DATETIME wat betekent dat de kolom het DATETIME-formaat (een datum en tijd) accepteert in het volgende formaat YYYY-MM-DD HH:MM:SS .

U kunt specificeren dat een kolom altijd een waarde moet bevatten (dat deze niet "null" mag zijn). Om dit te doen, voegt u NOT NULL . toe in de specificaties van die kolom (voorbeeld hieronder).

Als u probeert gegevens in te voegen die niet de indeling hebben die voor die kolom is opgegeven, krijgt u een foutmelding.

Meerdere tabellen maken

Om meerdere tabellen te maken, voegt u eenvoudig een CREATE TABLE toe verklaring voor elke tabel die u moet maken.

CREATE TABLE table_1 (...);
CREATE TABLE table_2 (...);

Voorbeeld

We hebben eerder een lege database gemaakt met de naam "FruitShop". Maar we hebben destijds geen tabellen gemaakt. Laten we het script bijwerken zodat het een database en twee tabellen maakt. We zullen wat meer dingen aan de code toevoegen.

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;

Voer het bovenstaande script uit en ververs vervolgens de linkerkolom van MySQL Workbench. Je zou je nieuw gemaakte FruitShop . moeten zien database vermeld onder de SCHEMA'S tabblad.

Vouw de Tabellen . uit node en je ziet de tabellen die je zojuist hebt gemaakt:

Je kunt ook elke tabel uitvouwen om de kolommen en andere objecten te zien die je voor die tabel hebt gemaakt.

Tabelinformatie programmatisch weergeven

U kunt tabelinformatie ook programmatisch weergeven. Dat wil zeggen, door een SQL-opdracht in te voeren om de informatie weer te geven die u nodig hebt.

In het volgende voorbeeld stellen we de standaarddatabase in op FruitShop door USE FruitShop . te gebruiken . Vervolgens vragen we MySQL om alle tabellen voor de standaarddatabase weer te geven (met behulp van SHOW TABLES ):

USE FruitShop;
SHOW TABLES;

Je kunt ook de structuur van een bepaalde tabel achterhalen door het volgende commando te gebruiken (vervang eenvoudig de tabelnaam door de tabel waarvan je de structuur nodig hebt):

DESCRIBE Fruit;

Hier is het resultaat van dat commando in onze database:


  1. SQL Server:SELECTEER alleen de rijen met MAX(DATE)

  2. brew installeer mysql op macOS

  3. Migratie van Oracle Database naar MariaDB - een diepe duik

  4. PolyBase verbinden met Salesforce.com