Hur man skapar en databas i MySQL (Skapa MySQL tabeller)
⚡ Smart sammanfattning
Skapa en databas i MySQL följer två beprövade vägar: att köra ett CREATE DATABASE-uttryck eller att generera fysiska scheman från en ER-modell genom MySQL Framåtbänkad utveckling på arbetsbänken. Båda metoderna producerar identiska, produktionsklara tabeller.
Steg för att skapa databas i MySQL
En databas i MySQL är en namngiven behållare för tabeller, vyer och relaterade objekt. Du kan skapa en på två sätt:
1) Genom att köra en enkel SQL-fråga
2) Genom att använda forward engineering i MySQL Arbetsbänk
As SQL nybörjare, låt oss först titta på frågemetoden.
Hur man skapar en databas i MySQL
Så här skapar du en databas i MySQL:
CREATE DATABASE är SQL-kommandot som används för att skapa en databas i MySQL.
Tänk dig att du behöver skapa en databas med namnet "filmer". Du kan skapa en databas i MySQL genom att köra följande SQL-kommando.
CREATE DATABASE movies;
Obs: Du kan också använda kommandot CREATE SCHEMA istället för CREATE DATABASE.
Satsen fungerar bara en gång. Om du kör den igen genereras ett fel, så låt oss förbättra frågan med fler parametrar.
OM INTE FINNS
En enda MySQL Servern kan lagra många databaser. När flera personer delar servern kan du försöka skapa en databas med namnet på en befintlig.
OM INTE FINNS instruerar MySQL servern för att söka efter en databas med samma namn innan den skapas. Databasen skapas endast om namnet är ledigt; utan denna klausul, MySQL ger ett fel.
CREATE DATABASE IF NOT EXISTS movies;
När databasnamnet är säkert är nästa beslut hur MySQL ska lagra och jämföra texten inuti.
Sortering och teckenuppsättning
A teckenuppsättning avgör vilka tecken en kolumn kan lagra, medan en tione är uppsättningen av regler som används i jämförelsen och sortering. Båda kan definieras på fyra nivåer: server, databas, tabell och kolumn.
Vilken sortering du väljer beror på teckenuppsättningen. Till exempel använder teckenuppsättningen latin1 latin1_swedish_ci sortering, vilket är den svenska ordningen som inte känsligt för versaler.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
För lokala språk som arabiska eller kinesiska, välj Unicode utf8mb4 teckenuppsättning, som lagrar alla Unicode-tecken, inklusive emoji. I MySQL 8.0 utf8mb4 är standardteckenuppsättningen och utf8mb4_0900_ai_ci standardsorteringen.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Du kan hitta listan över alla sorteringar och teckenuppsättningar här..
Du kan se listan över befintliga databaser genom att köra följande SQL-kommando.
SHOW DATABASES;
Med databasen på plats kan du nu lägga till tabellerna som faktiskt kommer att innehålla posterna.
Hur man skapar en tabell i MySQL
Kommandot CREATE TABLE används för att skapa tabeller i en databas.
Som diagrammet visar tillhör varje tabell en databas. Tabeller skapas med SKAPA BORD uttalande, som har följande syntax.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
HÄR
- ”SKAPA TABELL” ansvarar för skapandet av tabellen i databasen.
- "[OM INTE FINNS]" är valfritt och skapar bara tabellen om inget matchande tabellnamn hittas.
- ”`fieldName`” är namnet på fältet och ”datatyp” definierar vilken typ av data som lagras i det.
- ”[valfria parametrar]” är extra information om ett fält, till exempel ”AUTO_INCREMENT” eller NOT NULL.
- ”Storage Engine” hanterar tabellen, normalt InnoDB, som stöder transaktioner och främmande nycklar.
MySQL Skapa tabellexempel
Nedan följer en MySQL exempel för att skapa en tabell i en databas:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `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;
Obs: den korrekta MySQL nyckelordet är AUTO_INCREMENT med ett understreck. AUTOINCREMENT tillhör SQLite och ger upphov till ett syntaxfel i MySQL.
Varje kolumn har en datatyp, så välj noggrant: varken underskatta eller överskatta det förväntade dataintervallet.
MySQL Datatyper
Datatyper definierar vilken typ av data som kan lagras i en viss kolumn i en tabell.
MySQL har 3 huvudkategorier av datatyper, nämligen:
- Numerisk
- text
- Datum Tid
Numeriska datatyper
Numeriska datatyper används för att lagra numeriska värden. Det är mycket viktigt att se till att dataintervallet ligger mellan den nedre och övre gränsen för den numeriska datatyp du väljer.
| TINYINT( ) | -128 till 127 normal 0 till 255 OSIGNERAD. |
| SMALLINT( ) | -32768 till 32767 normal 0 till 65535 OSIGNERAD. |
| MEDIUMINT( ) | -8388608 till 8388607 normal 0 till 16777215 OSIGNERAD. |
| INT( ) | -2147483648 till 2147483647 normal 0 till 4294967295 OSIGNERAD. |
| BIGINT( ) | -9223372036854775808 till 9223372036854775807 normal 0 till 18446744073709551615 OSIGNERAD. |
| FLOTTÖR | Ett litet ungefärligt tal med en flytande decimalkomma. |
| DUBBEL( , ) | Ett stort tal med en flytande decimalkomma. |
| DECIMAL( , ) | En DUBBEL lagras som en sträng, vilket möjliggör en fast decimalpunkt. Val för att lagra valutavärden. |
Textdatatyper
Som namnet på datatypkategorin antyder används dessa för att lagra textvärden. Se alltid till att längden på dina textdata inte överstiger kolumnens maximala längd.
| CHAR( ) | En fast sektion från 0 till 255 tecken lång. |
| VARCHAR( ) | En variabel sektion från 0 till 255 tecken lång. |
| TINYTEXT | En sträng med en maximal längd på 255 tecken. |
| TEXT | En sträng med en maximal längd på 65535 tecken. |
| KLICK | En sträng med en maximal längd på 65535 tecken. |
| MEDELTEXT | En sträng med en maximal längd på 16777215 tecken. |
| MEDELBLÅTT | En sträng med en maximal längd på 16777215 tecken. |
| LÅNGTEXT | En sträng med en maximal längd på 4294967295 tecken. |
| LÅNGBLOB | En sträng med en maximal längd på 4294967295 tecken. |
Datum- och tidsdatatyper
Datum- och tidsdatatyper lagrar kalender- och klockvärden i ett fast format, vilket gör sortering och jämförelse tillförlitlig.
| DATUM | ÅÅÅÅ-MM-DD |
| Datum Tid | ÅÅÅÅ-MM-DD HH: MM: SS |
| TIDSSTÄMPEL | YYYYMMDDHHMMSS |
| TID | HH: MM: SS |
Andra datatyper
Förutom ovanstående finns det några andra datatyper i MySQL.
| ENUM | Så här lagrar du ett textvärde valt från en lista med fördefinierade textvärden |
| Godkänn | Detta används också för att lagra textvärden valda från en lista med fördefinierade textvärden. Det kan ha flera värden. |
| BOOL | Synonym för TINYINT(1), används för att lagra booleska värden |
| Binary | Liknar CHAR; skillnaden är att texter lagras i binärt format. |
| VARBINÄR | Liknar VARCHAR; skillnaden är att texter lagras i binärt format. |
Nu ska vi titta på en fråga för att skapa en tabell som använder alla datatyper. Studera den och identifiera hur varje datatyp definieras i tabellen nedan. MySQL exempel.
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;
Bästa metoder för att skapa en MySQL Databas
Några konventioner gör dina skript läsbara:
- Använd versaler för SQL-nyckelord, t.ex. “DROP SCHEMA IF EXISTS `MyFlixDB`;”
- Avsluta alla dina SQL-kommandon med semikolon.
- Undvik att använda mellanslag i schema-, tabell- och fältnamn. Använd understreck istället för att separera schema-, tabell- eller fältnamn.
- Föredra InnoDB framför MyISAM för nya tabeller, eftersom InnoDB stöder transaktioner, låsning på radnivå och främmande nycklar.
Frågemetoden är klar. Den andra rutten når samma databas från en visuell modell istället för handskriven SQL.
Hur man skapar MySQL Arbetsbänk ER-diagram Forward Engineering
MySQL Arbetsbänk har verktyg som stöder forward engineering. Forward engineering är den tekniska termen som beskriver processen för automatisk översättning av en logisk modell till en fysisk implementering.
Vi skapade en ER-diagram i vår ER-modellering lektion. Vi ska nu använda den ER-modellen för att generera SQL-skripten som skapar vår databas.
Skapar MyFlix-databasen från MyFlix ER-modellen
Steg 1) Öppna ER-modellen för MyFlix-databasen som du skapade tidigare.
Steg 2) Välj forward engineer
Klicka på Databas-menyn och välj Forward Engineer.
Steg 3) Anslutningsalternativ
Nästa fönster låter dig ansluta till en instans av MySQL server. Klicka på rullgardinsmenyn för lagrade anslutningar och välj lokal värd. Klicka på Kör.
Steg 4) Välj alternativen som visas nedan
Välj alternativen som visas nedan i guiden som visas. Klicka på Nästa.
Steg 5) Behåll standardinställningarna och klicka på Nästa
Nästa skärm visar en sammanfattning av objekten i vårt EER-diagram. Vår MyFlix-databas har 5 tabeller. Behåll valen som standard och klicka på Nästa.
Steg 6) Revse SQL-skriptet
Fönstret nedan förhandsgranskar SQL-skriptet som skapar vår databas. Spara skriptet till en *.sql-fil eller kopiera det till urklipp och klicka sedan på Nästa.
Steg 7) Bekräfta framsteg
Fönstret nedan visas när databasen har skapats på den valda MySQL serverinstans. Tabellerna från ER-modellen finns nu fysiskt på servern.
Databasen tillsammans med dummydata bifogas. Vi kommer att använda denna databas i följande lektioner. Importera den helt enkelt till MySQL Arbetsbänk för att komma igång.
Klicka här för att ladda ner MyFlixDB








.png)