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
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
- Numerisk,
- tekst
- 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
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
Trin 4) Vælg mulighederne vist nedenfor
Vælg indstillingerne vist nedenfor i guiden, der vises. Klik på næste
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.
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
Trin 7) Forpligte fremskridt
Vinduet vist nedenfor vises efter vellykket oprettelse af databasen på den valgte MySQL server instans.
- 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