sql >> Database teknologi >  >> RDS >> Mysql

Opret en tabel i MySQL

I MySQL kan du oprette tabeller via GUI'en eller ved at køre SQL-kode. Her er en oversigt over begge metoder.

Nu hvor vi har oprettet vores database, lad os lave nogle tabeller.

Oprettelse af tabeller via GUI

En måde at oprette en tabel på er via MySQL Workbench GUI. Dette er en nem mulighed for dem, der foretrækker grafiske brugergrænseflader.

Selvom du starter med at bruge GUI, anbefaler jeg, at du bliver fortrolig med at oprette tabeller programmatisk ved hjælp af CREATE TABLE erklæring.

CREATE TABLE Erklæring

CREATE TABLE statement gør nøjagtigt som navnet antyder - det opretter en tabel.

Du skal dog give oplysninger om den tabel, som du vil have MySQL til at oprette. For eksempel tabelnavnet, kolonnenavnene og deres datatyper, standardværdier, begrænsninger osv.

Her er eksemplet, vi brugte på den forrige side:

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

Dette opretter en tabel kaldet Fruit der indeholder to kolonner:FruitName og DateEntered .

FruitName kolonne bruger en datatype VARCHAR(20) , hvilket betyder, at den accepterer data, der er en VARCHAR (streng med variabel længde) op til 20 tegn lang.

DateEntered kolonne bruger datatypen DATETIME hvilket betyder, at kolonnen accepterer formatet DATETIME (en dato og et klokkeslæt) i følgende format YYYY-MM-DD HH:MM:SS .

Du kan angive, at en kolonne altid skal indeholde en værdi (at den ikke skal være "nul"). For at gøre dette skal du inkludere NOT NULL i kolonnens specifikationer (eksempel nedenfor).

Hvis du forsøger at indsætte data, der ikke er i det format, der er angivet for den pågældende kolonne, vil du modtage en fejlmeddelelse.

Opret flere tabeller

For at oprette flere tabeller tilføjer du blot en CREATE TABLE erklæring for hver tabel, du skal oprette.

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

Eksempel

Vi har tidligere oprettet en tom database kaldet "FruitShop". Men vi lavede ikke nogen tabeller på det tidspunkt. Lad os opdatere scriptet, så det opretter en database og to tabeller. Vi tilføjer nogle flere ting til 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 ovenstående script, og opdater derefter venstre kolonne i MySQL Workbench. Du bør se din nyoprettede FruitShop database angivet under SCHEMAS fanen.

Udvid tabellerne node, og du vil se de tabeller, du lige har oprettet:

Du kan også udvide hver tabel for at se dens kolonner og andre objekter, som du har oprettet til den tabel.

Vis tabeloplysninger programmatisk

Du kan også vise tabeloplysninger programmatisk. Det vil sige ved at indtaste en SQL-kommando for at vise den information, du har brug for.

I det følgende eksempel indstiller vi standarddatabasen til at være FruitShop ved at bruge USE FruitShop . Vi beder derefter MySQL om at vise alle tabeller for standarddatabasen (ved at bruge SHOW TABLES ):

USE FruitShop;
SHOW TABLES;

Du kan også finde ud af strukturen af ​​en given tabel ved at bruge følgende kommando (udskift blot tabelnavnet med den tabel, du skal have strukturen af):

DESCRIBE Fruit;

Her er resultatet af den kommando i vores database:


  1. Sådan bruges Udfør øjeblikkelig med INTO-klausul i Oracle-databasen

  2. Sådan fungerer LOG2() i MariaDB

  3. Oracle Dynamic SQL-eksempel til at indsætte en post ved hjælp af DBMS_SQL

  4. Hvilken SQL-forespørgsel er bedre, MATCH MOD eller LIKE?