Hur man skapar en databas i MySQL (Skapa MySQL tabeller)
Steg för att skapa databas i MySQL
Skapa databas 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.
Föreställ 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
Låt oss nu förbättra vår SQL-fråga genom att lägga till fler parametrar och specifikationer.
OM INTE FINNS
En enda MySQL servern kan ha flera databaser. Om du inte är den enda som har tillgång till detsamma MySQL server eller om du har att göra med flera databaser finns det en sannolikhet att du försöker skapa en ny databas med namnet på en befintlig databas. OM INTE FINNS låt dig instruera MySQL server för att kontrollera förekomsten av en databas med ett liknande namn innan databasen skapas.
När OM INTE FINNS används databas skapas endast om förnamn inte står i konflikt med en befintlig databas namn. Utan användning av OM INTE FINNS MySQL ger ett fel.
CREATE DATABASE IF NOT EXISTS movies;
Sortering och teckenuppsättning
Sortering är uppsatt av regler som används i jämförelse.Många människor använder MySQL för att lagra andra data än engelska. Data lagras i MySQL med hjälp av en specifik teckenuppsättning. Teckenuppsättningen kan definieras på olika nivåer, nämligen server, databas, tabell och kolumner.
Du måste välja reglerna för sortering som i sin tur beror på den valda teckenuppsättningen.
Till exempel använder teckenuppsättningen Latin1 latin1_swedish_ci
kollation som är den svenska skiftlägesokänsliga ordningen.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
Den bästa praxis när du använder lokala språk som arabiska, kinesiska etc är att välja Unicode (utf-8) teckenuppsättning som har flera sorteringar eller bara hålla sig till standardsorteringen utf8-general-ci.
Du kan hitta listan över alla sorteringar och teckenuppsättningar här.
Du kan se en lista över befintliga databaser genom att köra följande SQL-kommando.
SHOW DATABASES
Hur man skapar en tabell i MySQL
CREATE TABLE-kommandot används för att skapa tabeller i en databas
Tabeller kan skapas med hjälp av SKAPA BORD och den har faktiskt följande syntax.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
HÄR
- "CREATE TABLE" är den som är ansvarig för skapandet av tabellen i databasen.
- "[OM INTE FINNS]" är valfritt och skapa bara tabellen om inget matchande tabellnamn hittas.
- "`fieldName`" är namnet på fältet och "data Type" definierar typen av data som ska lagras i fältet.
- "[valfria parametrar]" ytterligare information om ett fält som "AUTO_INCREMENT" , INTE NULL etc.
MySQL Skapa tabellexempel
Nedan följer en MySQL exempel för att skapa en tabell 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;
Låt oss nu se vad MySQLs datatyper är. Du kan använda vilken som helst av dem beroende på ditt behov. Du bör alltid försöka att inte underskatta eller överskatta potentiella dataomfång när du skapar en databas.
DATATYPER
Datatyper definierar typen 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 intervallet för din data ligger mellan nedre och övre gränser för numeriska datatyper.
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 lagrad som en sträng , vilket tillåter en fast decimalkomma. Val för lagring av valutavärden. |
Textdatatyper
Som datatypkategorinamn antyder används dessa för att lagra textvärden. Se alltid till att längden på din textdata inte överstiger maximala längder.
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 Tid
DATUM | ÅÅÅÅ-MM-DD |
Datum Tid | ÅÅÅÅ-MM-DD HH: MM: SS |
TIDSSTÄMPEL | YYYYMMDDHHMMSS |
TID | HH: MM: SS |
Förutom ovan finns det några andra datatyper i MySQL.
ENUM | För att lagra 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 | I likhet med CHAR är skillnaden att texter lagras i binärt format. |
VARBINÄR | I likhet med VARCHAR är skillnaden att texter lagras i binärt format. |
Låt oss nu se en fråga för att skapa en tabell som har data av alla datatyper. Studera det och identifiera hur varje datatyp definieras i nedanstående skapatabell 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 praxis
- 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.
Hur man skapar MySQL arbetsbänk ER diagram framåt engineering
MySQL arbetsbänk har verktyg som stöder forward engineering. Forward engineering är en teknisk term är att beskriva processen för översätta en logisk modell till ett fysiskt redskap automatiskt.
Vi skapade en ER-diagram på vår Handledning för ER-modellering. Vi kommer nu att använda den ER-modellen för att generera SQL-skripten som kommer att skapa vår databas.
Skapar MyFlix-databasen från MyFlix ER-modellen
Steg 1) Öppna ER-modellen av MyFlix-databasen
Öppna ER-modellen för MyFlix-databasen som du skapade i tidigare handledning.
Steg 2) Välj framåt ingenjör
Klicka på databasmenyn. 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 lagrad anslutning och välj lokal värd. Klicka på Execute
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 valen som standard och klicka på Nästa
Nästa skärm visar sammanfattningen av objekt i vårt EER-diagram. Vår MyFlix DB har 5 bord. Behåll valen som standard och klicka på Nästa.
Steg 6) Revse SQL-skriptet
Fönstret nedan visas. Detta fönster låter dig förhandsgranska SQL-skript för att skapa vår databas. Vi kan spara skripten till en *.sql”-fil eller kopiera skripten till klippbordet. Klicka på nästa knapp
Steg 7) Begär framsteg
Fönstret som visas nedan visas efter framgångsrikt skapande av databasen på den valda MySQL serverinstans.
- Att skapa en databas innebär att den logiska databasens designmodell översätts till den fysiska databasen.
- MySQL stöder ett antal datatyper för numeriska, datum- och strängvärden.
- CREATE DATABASE-kommandot används för att skapa en databas
- CREATE TABLE-kommandot används för att skapa tabeller i en databas
- MySQL workbench stöder framåtteknik som innebär att automatiskt generera SQL-skript från den logiska databasmodellen som kan exekveras för att skapa den fysiska databasen
Databasen tillsammans med dummydata bifogas. Vi kommer att använda denna DB för alla våra ytterligare tutorials. Enkelt att importera DB i MySQL Arbetsbänk för att komma igång
Klicka här för att ladda ner MyFlixDB