Resumé: i denne tutorial vil vi vise hvordan du skal bruge MySQL CREATE TABLE
erklæring for at oprette en ny tabel i databasen.
MySQL syntaks CREATE TABLE
CREATE TABLE
erklæring giver dig mulighed for at oprette en ny tabel i en database.
følgende illustrerer den grundlæggende syntaks af CREATE TABLE
erklæring:
lad os undersøge syntaksen mere detaljeret.,
først angiver du navnet på den tabel, du vil oprette, efter CREATE TABLE
nøgleord. Tabelnavnet skal være unikt i en database. IF NOT EXISTS
er valgfri. Det giver dig mulighed for at kontrollere, om den tabel, du opretter, allerede findes i databasen. Hvis dette er tilfældet, vil Mys .l ignorere hele sætningen og vil ikke oprette nogen ny tabel.for det andet angiver du en liste over kolonner i tabellen i afsnittet column_list
, kolonner adskilles med kommaer.,
for det tredje kan du eventuelt angive lagringsmotoren til tabellen i ENGINE
klausul. Du kan bruge enhver opbevaring motor som InnoDB og MyISAM. Hvis du ikke udtrykkeligt erklærer en lagringsmotor, bruger Mys .l InnoDB som standard.
InnoDB blev standardlagringsmotor siden Mys .l version 5.5. InnoDB-lagringsmotoren giver mange fordele ved et relationelt databasestyringssystem, såsom SYRETRANSAKTION, referenceintegritet og crashgendannelse. I de tidligere versioner brugte Mys .l MyISAM som standardlagringsmotor.,
følgende viser syntaksen for en kolonne ‘ s definition:
Her er detaljerne:
column_name
angiver navnet på den kolonne. Hver kolonne har en bestemt datatype og valgfri størrelse fx,VARCHAR(255)
NOT NULL
begrænsning sikrer, at kolonne ikke indeholderNULL
. Udover begrænsningenNOT NULL
, kan en kolonne have yderligere begrænsning, såsom CHECK og UNI UNIQUEUE.DEFAULT
angiver en standardværdi for kolonnen.,AUTO_INCREMENT
angiver, at værdien af kolonnen øges med en automatisk, når en ny række indsættes i tabellen. Hver tabel har maksimalt enAUTO_INCREMENT
kolonne.
efter kolonnelisten kan du definere tabelbegrænsninger som unik, CHECK, primær nøgle og fremmed nøgle.
For eksempel, hvis du ønsker at indstille en kolonne eller en gruppe af kolonne som den primære nøgle, skal du bruge følgende syntaks:
Code language: SQL (Structured Query Language) (sql)
MySQL CREATE TABLE-sætning eksempler
Lad os tage nogle eksempler på oprettelse af nye tabeller.,
1) MySQL SKABE TABEL simpelt eksempel
følgende sætning opretter en ny tabel, der hedder tasks
:
Code language: SQL (Structured Query Language) (sql)
De opgaver, der tabellen har følgende kolonner:
task_id
er et auto-increment kolonne. Hvis du brugerINSERT
erklæring til at indsætte en ny række i den tabel uden at angive en værdi for dentask_id
kolonne, MySQL vil automatisk generere et fortløbende heltal fortask_id
start fra 1.,title
kolonnen er en kolonne med variabel tegnstreng, hvis maksimale længde er 255. Det betyder, at du ikke kan indsætte en streng, hvis længde er større end 255 i denne kolonne. BegrænsningenNOT NULL
angiver, at kolonnen ikke acceptererNULL
. Med andre ord skal du angive en ikke-NULL-værdi, når du indsætter eller opdaterer denne kolonne.start_date
ogdue_date
erDATE
kolonner., Da disse kolonner ikke harNOT NULL
– begrænsningen, kan de gemmeNULL
. Kolonnen start_date har en standardværdi for den aktuelle dato. Med andre ord, hvis du ikke angiver en værdi for start_date-kolonnen, når du indsætter en ny række, vil start_date-kolonnen tage den aktuelle dato for databaseserveren.status
ogpriority
erTINYINT
kolonner, som ikke tilladeNULL
.,description
kolonne er enTEXT
kolonne, der acceptererNULL
.created_at
er etTIMESTAMP
kolonne, der accepterer den aktuelle tid som standardværdien.
task_id
er den primære nøglekolonne i tasks
tabellen. Det betyder, at værdierne i kolonnen task_id
entydigt identificerer rækker i tabellen.,
Når du udføre CREATE TABLE
erklæring for at oprette tasks
tabel, kan du se dens struktur ved hjælp DESCRIBE
erklæring:
Code language: SQL (Structured Query Language) (sql)
Dette billede viser database diagram af tasks
tabel:
2) MySQL OPRETTE TABEL med en fremmed nøgle primære nøgle eksempel
Antag, at hver opgave har en tjekliste eller to-do liste., Til at opbevare tjeklister af opgaver, kan du oprette en ny tabel, der hedder checklists
som følger:
tabellen checklists
har en primær nøgle, der består af to kolonner., Derfor har vi brugt en tabel tvang til at definere den primære nøgle:
Code language: SQL (Structured Query Language) (sql)
derudover task_id
er den fremmede nøgle kolonne, der refererer til task_id
kolonne i tabellen tasks
, brugte vi en foreign key constraint til at etablere dette forhold:
vil Du lære mere om den fremmede nøgle begrænsning i den efterfølgende vejledning.,
Dette billede illustrerer checklists
table og sit forhold med tasks
tabel:
I denne tutorial, du har lært at bruge MySQL CREATE TABLE
erklæring for at oprette en ny tabel i databasen.
- var denne vejledning nyttig?
- YesNo