Kuidas luua andmebaasi MySQL (Loo MySQL tabelid)

Andmebaasi loomise sammud MySQL

Looge andmebaas kahel viisil

1) täites lihtsa SQL-päringu

2) Kasutades edasist inseneritööd MySQL Workbench

As SQL algaja, vaatame kõigepealt päringumeetodit.

Kuidas luua andmebaasi MySQL

Siit saate teada, kuidas luua andmebaasi MySQL:

CREATE DATABASE on SQL-i käsk, mida kasutatakse andmebaasi loomiseks MySQL.

Kujutage ette, et peate looma andmebaasi nimega "filmid". Saate luua andmebaasi MySQL käivitades järgmise SQL-käsu.

CREATE DATABASE movies;

Märkus: CREATE DATABASE asemel võite kasutada ka käsku CREATE SCHEMA

Nüüd täiustame oma SQL-päringut, lisades rohkem parameetreid ja spetsifikatsioone.

KUI EI OLEMAS

Üksik MySQL serveril võib olla mitu andmebaasi. Kui te pole ainuke, kes samale juurdepääsule pääseb MySQL server või kui peate tegelema mitme andmebaasiga, on tõenäoline, et proovite luua uut andmebaasi olemasoleva andmebaasi nimega. KUI EI OLEMAS lase sul juhendada MySQL server, et kontrollida enne andmebaasi loomist sarnase nimega andmebaasi olemasolu.

Kui KUI EI OLEMAS kasutatakse andmebaasi luuakse ainult siis, kui antud nimi ei ole vastuolus olemasoleva andmebaasi nimega. Ilma kasutamata KUI EI OLEMAS MySQL viskab vea.

CREATE DATABASE IF NOT EXISTS movies;

Võrdlus ja märgikomplekt

Võrdlemine on komplekteeritud võrdluseks kasutatavad reeglid.Paljud inimesed kasutavad MySQL salvestada muid andmeid peale inglise keele. Andmed salvestatakse MySQL kasutades konkreetset märgikomplekti. Märki saab määratleda erinevatel tasemetel, nimelt serveril, andmebaasil, tabelil ja veerudel.

Peate valima võrdlemise reeglid, mis omakorda sõltuvad valitud märgistikust.

Näiteks Latin1 märgistik kasutab latin1_swedish_ci võrdlemine, mis on rootsi tõstutundlik järjekord.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

Parim tava kohalike keelte (nt araabia, hiina jne) kasutamisel on valida Unicode'i (utf-8) märgistik, millel on mitu võrdlust, või jääda lihtsalt vaikevõrdlusele utf8-general-ci.

Leiate kõigi võrdluste ja märgikomplektide loendi siin

Olemasolevate andmebaaside loendi kuvamiseks käivitage järgmine SQL-käsk.

SHOW DATABASES

Kuidas luua tabelit MySQL

CREATE TABLE käsku kasutatakse tabelite loomiseks andmebaasis

Loo tabel sisse MySQL

Tabeleid saab luua kasutades LOE TABEL lause ja sellel on tegelikult järgmine süntaks.

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

SIIN

  • “CREATE TABLE” vastutab tabeli loomise eest andmebaasis.
  • "[IF NOT EXISTS]" on valikuline ja looge tabel ainult siis, kui sobivat tabeli nime ei leita.
  • "fieldName" on välja nimi ja "andmetüüp" määrab väljale salvestatavate andmete olemuse.
  • „[valikulised parameetrid]” lisateave välja kohta, nt AUTO_INCREMENT , NOT NULL jne.

MySQL Loo tabeli näide

Allpool on MySQL näide tabeli loomiseks andmebaasis:

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;

Nüüd vaatame, mis MySQLi andmetüübid on. Sõltuvalt teie vajadusest saate kasutada mõnda neist. Andmebaasi loomisel peaksite alati püüdma mitte ala- ega ülehinnata potentsiaalset andmevahemikku.

ANDMETÜÜBID

Andmetüübid määravad tabeli konkreetsesse veergu salvestatavate andmete olemuse

MySQL on 3 andmetüüpide peamised kategooriad

  1. numbriline,
  2. Tekst
  3. Kuupäev Kellaaeg.

Numbrilised andmetüübid

Numbrilisi andmetüüpe kasutatakse arvväärtuste salvestamiseks. On väga oluline tagada, et teie andmete vahemik jääks numbriliste andmetüüpide alumise ja ülemise piiri vahele.

TINYINT ( ) -128 kuni 127 normaalne
0 kuni 255 ALLKIRJATA.
VÄIKE( ) -32768 kuni 32767 normaalne
0 kuni 65535 ALLKIRJATA.
KESKMINE ( ​​) -8388608 kuni 8388607 normaalne
0 kuni 16777215 ALLKIRJATA.
INT( ) -2147483648 kuni 2147483647 normaalne
0 kuni 4294967295 ALLKIRJATA.
BIGINT( ) -9223372036854775808 kuni 9223372036854775807 normaalne
0 kuni 18446744073709551615 ALLKIRJATA.
UJU Väike ligikaudne arv ujuva komaga.
DOUBLE( , ) Ujuva kümnendkohaga suur arv.
KOMMEND ( , ) DOUBLE, mis on salvestatud stringina , mis võimaldab fikseeritud koma. Valuuta väärtuste salvestamise valik.

Teksti andmetüübid

Nagu andmetüübi kategooria nimi viitab, kasutatakse neid tekstiväärtuste salvestamiseks. Veenduge alati, et teie tekstiandmete pikkus ei ületaks maksimaalset pikkust.

CHAR( ) Fikseeritud jaotis pikkusega 0 kuni 255 tähemärki.
VARCHAR( ) Muutuv jaotis pikkusega 0 kuni 255 tähemärki.
PISIKETEKST String, mille maksimaalne pikkus on 255 tähemärki.
TEKST String, mille maksimaalne pikkus on 65535 tähemärki.
MÄNG String, mille maksimaalne pikkus on 65535 tähemärki.
KESKMINE TEKST String, mille maksimaalne pikkus on 16777215 tähemärki.
KESKMINE BLOB String, mille maksimaalne pikkus on 16777215 tähemärki.
PIKTEKST String, mille maksimaalne pikkus on 4294967295 tähemärki.
LONGBLOB String, mille maksimaalne pikkus on 4294967295 tähemärki.

Kuupäev Kellaaeg

ANDMED AAAA-KK-DD
KUUPÄEV KELLAAEG AAAA-KK-PP HH: KK: SS
AJAMÄNG YYYYMMDDHHMMSS
AEG HH: MM: SS

Lisaks ülaltoodule on sees veel mõned andmetüübid MySQL.

ENUM Eelmääratletud tekstiväärtuste loendist valitud tekstiväärtuse salvestamiseks
SET Seda kasutatakse ka eelmääratletud tekstiväärtuste loendist valitud tekstiväärtuste salvestamiseks. Sellel võib olla mitu väärtust.
BOOL TINYINT(1) sünonüüm, mida kasutatakse Boole'i ​​väärtuste salvestamiseks
Binaarne Sarnaselt CHAR-iga on erinevus selles, et tekstid salvestatakse binaarvormingus.
VARBINAAR Sarnaselt VARCHARiga salvestatakse tekste binaarvormingus.

Nüüd vaatame päringut kõigi andmetüüpide andmeid sisaldava tabeli loomiseks. Uurige seda ja tehke kindlaks, kuidas iga andmetüüp on määratletud allolevas loomistabelis MySQL näide.

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 ;

parimad tavad

  • Kasutage SQL-i märksõnade puhul suuri tähti, st "DOP SCHEMA IF EXISTS `MyFlixDB";"
  • Lõpetage kõik SQL-käsud semikoolonite abil.
  • Vältige tühikute kasutamist skeemide, tabelite ja väljade nimedes. Kasutage skeemi, tabeli või välja nimede eraldamiseks selle asemel allkriipse.

Kuidas luua MySQL töölaud ER diagramm edasi insener

MySQL töölaud on utiliidid, mis toetavad edasist inseneritööd. Edasine inseneritöö on tehniline termin, mis kirjeldab protsessi loogilise mudeli automaatne tõlkimine füüsiliseks seadmeks.

Oleme loonud an ER diagramm meie ER modelleerimise õpetus. Nüüd kasutame seda ER-mudelit meie andmebaasi loovate SQL-skriptide genereerimiseks.

MyFlix andmebaasi loomine MyFlix ER mudelist

Step 1) Avage MyFlixi andmebaasi ER-mudel

Avage varasemas õpetuses loodud MyFlixi andmebaasi ER-mudel.

Step 2) Valige edasimüüja

Klõpsake andmebaasi menüül. Valige edasimüüja

Looma MySQL töölaua ER diagramm

Step 3) Ühendusvõimalused

Järgmine aken võimaldab teil luua ühenduse eksemplariga MySQL server. Klõpsake salvestatud ühenduse ripploendil ja valige kohalik host. Klõpsake käsul Käivita

Looma MySQL töölaua ER diagramm

Step 4) Valige allpool näidatud valikud

Valige kuvatavas viisardis allolevad suvandid. Klõpsake nuppu Edasi

Looma MySQL töölaua ER diagramm

Step 5) Jätke valikud vaikeväärtusteks ja klõpsake nuppu Edasi

Järgmisel ekraanil kuvatakse meie EER diagrammi objektide kokkuvõte. Meie MyFlix DB-l on 5 lauda. Jätke valikud vaikeväärtusteks ja klõpsake nuppu Edasi.

Looma MySQL töölaua ER diagramm

Step 6) Revvaata SQL-skripti

Ilmub allpool näidatud aken. See aken võimaldab teil eelvaadet vaadata SQL-skript meie andmebaasi loomiseks. Saame skriptid salvestada *.sql” faili või kopeerida skriptid lõikepuhvrisse. Klõpsake nuppu järgmine

Looma MySQL töölaua ER diagramm

Step 7) Tehke edusamme

Allpool näidatud aken ilmub pärast andmebaasi edukat loomist valitud kohta MySQL serveri eksemplar.

Looma MySQL töölaua ER diagramm

  • Andmebaasi loomine hõlmab andmebaasi loogilise disaini mudeli tõlkimist füüsilisse andmebaasi.
  • MySQL toetab arvuliste, kuupäevade ja stringide väärtuste jaoks mitmeid andmetüüpe.
  • CREATE DATABASE käsku kasutatakse andmebaasi loomiseks
  • CREATE TABLE käsku kasutatakse tabelite loomiseks andmebaasis
  • MySQL töölaud toetab edasist inseneritööd, mis hõlmab SQL-i skriptide automaatset genereerimist loogilisest andmebaasimudelist, mida saab käivitada füüsilise andmebaasi loomiseks

Andmebaas koos näivate andmetega on lisatud. Kasutame seda DB-d kõigi oma edasiste õpetuste jaoks. Lihtne importida DB sisse MySQL Töölaud alustamiseks

MyFlixDB allalaadimiseks klõpsake siin