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

Skapa tabell i MySQL

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

  1. Numerisk,
  2. text
  3. 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

Skapa MySQL arbetsbänk ER diagram

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

Skapa MySQL arbetsbänk ER diagram

Steg 4) Välj alternativen som visas nedan

Välj alternativen som visas nedan i guiden som visas. Klicka på nästa

Skapa MySQL arbetsbänk ER diagram

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.

Skapa MySQL arbetsbänk ER diagram

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

Skapa MySQL arbetsbänk ER diagram

Steg 7) Begär framsteg

Fönstret som visas nedan visas efter framgångsrikt skapande av databasen på den valda MySQL serverinstans.

Skapa MySQL arbetsbänk ER diagram

  • 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

Dagligt Guru99-nyhetsbrev

Kickstarta dagen med de senaste och viktigaste AI-nyheterna som levereras just nu.