Sådan opretter du en database i MySQL (Skab MySQL tabeller)

Trin til at oprette database i MySQL

Opret database på to måder

1) Ved at udføre en simpel SQL-forespørgsel

2) Ved at bruge forward engineering i MySQL Workbench

As SQL begyndere, lad os først se på forespørgselsmetoden.

Sådan opretter du en database i MySQL

Sådan opretter du en database i MySQL:

CREATE DATABASE er SQL-kommandoen, der bruges til at oprette en database i MySQL.

Forestil dig, at du skal oprette en database med navnet "film". Du kan oprette en database i MySQL ved at udføre følgende SQL-kommando.

CREATE DATABASE movies;

Bemærk: du kan også bruge kommandoen CREATE SCHEMA i stedet for CREATE DATABASE

Lad os nu forbedre vores SQL-forespørgsel ved at tilføje flere parametre og specifikationer.

HVIS IKKE FINNES

En enkelt MySQL server kan have flere databaser. Hvis du ikke er den eneste, der har adgang til det samme MySQL server eller hvis du har at gøre med flere databaser, er der en sandsynlighed for at forsøge at oprette en ny database med navnet på en eksisterende database. HVIS IKKE FINNES lad dig instruere MySQL server for at kontrollere eksistensen af ​​en database med et lignende navn før oprettelse af database.

Hvornår HVIS IKKE FINNES er brugt database oprettes kun, hvis fornavn ikke er i konflikt med en eksisterende databases navn. Uden brug af HVIS IKKE FINNES MySQL kaster en fejl.

CREATE DATABASE IF NOT EXISTS movies;

Samling og tegnsæt

Sortering er sat af regler brugt i sammenligning.Mange mennesker bruger MySQL at gemme andre data end engelsk. Data gemmes i MySQL ved hjælp af et bestemt tegnsæt. Tegnsættet kan defineres på forskellige niveauer, nemlig server, database, tabel og kolonner.

Du skal vælge reglerne for sortering, som igen afhænger af det valgte tegnsæt.

For eksempel bruger Latin1-tegnsættet latin1_swedish_ci kollation, som er den svenske sagsufølsomme rækkefølge.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

Den bedste praksis ved brug af lokale sprog som arabisk, kinesisk osv. er at vælge Unicode (utf-8) tegnsæt, som har flere sorteringer eller bare holde sig til standardsorteringen utf8-general-ci.

Du kan finde listen over alle sorteringer og tegnsæt link.

Du kan se en liste over eksisterende databaser ved at køre følgende SQL-kommando.

SHOW DATABASES

Sådan opretter du en tabel i MySQL

CREATE TABLE-kommandoen bruges til at oprette tabeller i en database

Opret tabel i MySQL

Tabeller kan oprettes vha Opret tabel sætning, og den har faktisk følgende syntaks.

CREATE  TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

HER

  • "CREATE TABLE" er den, der er ansvarlig for oprettelsen af ​​tabellen i databasen.
  • "[HVIS IKKE FINDER]" er valgfrit og opret kun tabellen, hvis der ikke findes noget matchende tabelnavn.
  • "`fieldName`" er navnet på feltet, og "data Type" definerer arten af ​​de data, der skal gemmes i feltet.
  • "[valgfri parametre]" yderligere information om et felt såsom "AUTO_INCREMENT", IKKE NULL osv.

MySQL Opret tabeleksempel

Nedenfor er en MySQL eksempel for at oprette en tabel i databasen:

CREATE  TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
  `membership_number` INT  AUTOINCREMENT ,
  `full_names` VARCHAR(150) NOT NULL ,
  `gender` VARCHAR(6) ,
  `date_of_birth` DATE ,
  `physical_address` VARCHAR(255) ,
  `postal_address` VARCHAR(255) ,
  `contact_number` VARCHAR(75) ,
  `email` VARCHAR(255) ,
  PRIMARY KEY (`membership_number`) )
ENGINE = InnoDB;

Lad os nu se hvad MySQL's datatyper er. Du kan bruge enhver af dem afhængigt af dit behov. Du bør altid forsøge ikke at undervurdere eller overvurdere det potentielle udvalg af data, når du opretter en database.

DATATYPER

Datatyper definerer arten af ​​de data, der kan gemmes i en bestemt kolonne i en tabel

MySQL har 3 hovedkategorier af datatyper, nemlig

  1. Numerisk,
  2. tekst
  3. Dato tid.

Numeriske datatyper

Numeriske datatyper bruges til at gemme numeriske værdier. Det er meget vigtigt at sikre, at rækkevidden af ​​dine data er mellem nedre og øvre grænser for numeriske datatyper.

TINYINT( ) -128 til 127 normalt
0 til 255 USIGNET.
SMALLINT( ) -32768 til 32767 normalt
0 til 65535 USIGNET.
MEDIUMINT( ) -8388608 til 8388607 normalt
0 til 16777215 USIGNET.
INT( ) -2147483648 til 2147483647 normalt
0 til 4294967295 USIGNET.
BIGINT( ) -9223372036854775808 til 9223372036854775807 normalt
0 til 18446744073709551615 USIGNET.
FLOAT Et lille omtrentligt tal med et flydende decimaltegn.
DOBBELT( , ) Et stort tal med et flydende decimaltegn.
DECIMAL( , ) EN DOBBELT gemt som en streng , der giver mulighed for et fast decimaltegn. Valg til lagring af valutaværdier.

Tekstdatatyper

Som datatypekategorinavn antyder, bruges disse til at gemme tekstværdier. Sørg altid for, at længden af ​​dine tekstdata ikke overstiger maksimale længder.

CHAR( ) En fast sektion fra 0 til 255 tegn.
VARCHAR( ) En variabel sektion fra 0 til 255 tegn lang.
TINYTEXT En streng med en maksimal længde på 255 tegn.
TEKST En streng med en maksimal længde på 65535 tegn.
Blob En streng med en maksimal længde på 65535 tegn.
MIDDELTEKST En streng med en maksimal længde på 16777215 tegn.
MELLEMBLOB En streng med en maksimal længde på 16777215 tegn.
LANGTEKST En streng med en maksimal længde på 4294967295 tegn.
LANGBLOB En streng med en maksimal længde på 4294967295 tegn.

Dato tid

INFORMATION ÅÅÅÅ-MM-DD
DATO TID ÅÅÅÅ-MM-DD HH: MM: SS
TIDSSTEMPEL ååååmmddttmmss
TIME HH: MM: SS

Udover ovenstående er der nogle andre datatyper i MySQL.

ENUM For at gemme tekstværdi valgt fra en liste over foruddefinerede tekstværdier
SET Dette bruges også til at gemme tekstværdier valgt fra en liste over foruddefinerede tekstværdier. Det kan have flere værdier.
BOOL Synonym for TINYINT(1), bruges til at gemme booleske værdier
Binary I lighed med CHAR er forskellen, at tekster gemmes i binært format.
VARBINARY I lighed med VARCHAR er forskellen, at tekster gemmes i binært format.

Lad os nu se en forespørgsel til oprettelse af en tabel, som har data af alle datatyper. Undersøg det og identificer, hvordan hver datatype er defineret i nedenstående oprettelsestabel MySQL eksempel.

CREATE TABLE`all_data_types` (
    `varchar` VARCHAR( 20 )  ,
    `tinyint` TINYINT  ,
    `text` TEXT  ,
    `date` DATE  ,
    `smallint` SMALLINT  ,
    `mediumint` MEDIUMINT  ,
    `int` INT  ,
    `bigint` BIGINT  ,
    `float` FLOAT( 10, 2 )  ,
    `double` DOUBLE  ,
    `decimal` DECIMAL( 10, 2 )  ,
    `datetime` DATETIME  ,
    `timestamp` TIMESTAMP  ,
    `time` TIME  ,
    `year` YEAR  ,
    `char` CHAR( 10 )  ,
    `tinyblob` TINYBLOB  ,
    `tinytext` TINYTEXT  ,
    `blob` BLOB  ,
    `mediumblob` MEDIUMBLOB  ,
    `mediumtext` MEDIUMTEXT  ,
    `longblob` LONGBLOB  ,
    `longtext` LONGTEXT  ,
    `enum` ENUM( '1', '2', '3' )  ,
    `set` SET( '1', '2', '3' )  ,
    `bool` BOOL  ,
    `binary` BINARY( 20 )  ,
    `varbinary` VARBINARY( 20 )
) ENGINE= MYISAM ;

Bedste praksis

  • Brug store bogstaver til SQL nøgleord, dvs. "DROP SCHEMA IF EXISTS `MyFlixDB`;"
  • Afslut alle dine SQL-kommandoer med semikolon.
  • Undgå at bruge mellemrum i skema-, tabel- og feltnavne. Brug understregninger i stedet for at adskille skema-, tabel- eller feltnavne.

Sådan oprettes MySQL workbench ER diagram fremad engineering

MySQL arbejdsbord har hjælpeprogrammer, der understøtter forward engineering. Fremadrettet ingeniørarbejde er et teknisk udtryk er at beskrive processen med automatisk oversættelse af en logisk model til et fysisk redskab.

Vi skabte en ER diagram på vores ER modellering tutorial. Vi vil nu bruge den ER-model til at generere de SQL-scripts, der vil skabe vores database.

Oprettelse af MyFlix-databasen fra MyFlix ER-modellen

Trin 1) Åbn ER-model af MyFlix-database

Åbn ER-modellen af ​​MyFlix-databasen, som du oprettede i tidligere selvstudie.

Trin 2) Vælg forward engineer

Klik på databasemenuen. Vælg forward engineer

Opret MySQL arbejdsbord ER diagram

Trin 3) Tilslutningsmuligheder

Det næste vindue giver dig mulighed for at oprette forbindelse til en forekomst af MySQL server. Klik på rullelisten med gemt forbindelse, og vælg lokal vært. Klik på Udfør

Opret MySQL arbejdsbord ER diagram

Trin 4) Vælg mulighederne vist nedenfor

Vælg indstillingerne vist nedenfor i guiden, der vises. Klik på næste

Opret MySQL arbejdsbord ER diagram

Trin 5) Behold valgene som standard, og klik på Næste

Det næste skærmbillede viser oversigten over objekter i vores EER-diagram. Vores MyFlix DB har 5 borde. Behold valgene som standard, og klik på Næste.

Opret MySQL arbejdsbord ER diagram

Trin 6) Revse SQL-scriptet

Vinduet nedenfor vises. Dette vindue giver dig mulighed for at få vist SQL script at oprette vores database. Vi kan gemme scripts til en *.sql” fil eller kopiere scripts til udklipsholderen. Klik på næste knap

Opret MySQL arbejdsbord ER diagram

Trin 7) Forpligte fremskridt

Vinduet vist nedenfor vises efter vellykket oprettelse af databasen på den valgte MySQL server instans.

Opret MySQL arbejdsbord ER diagram

  • Oprettelse af en database involverer at oversætte den logiske databasedesignmodel til den fysiske database.
  • MySQL understøtter en række datatyper for numeriske, datoer og strenge værdier.
  • CREATE DATABASE-kommandoen bruges til at oprette en database
  • CREATE TABLE-kommandoen bruges til at oprette tabeller i en database
  • MySQL workbench understøtter forward engineering, som involverer automatisk generering af SQL-scripts fra den logiske databasemodel, der kan udføres for at skabe den fysiske database

Databasen sammen med Dummy Data er vedhæftet. Vi vil bruge denne DB til alle vores yderligere tutorials. Simpel import af DB'en MySQL Arbejdsbord til at komme i gang

Klik her for at downloade MyFlixDB