„MySQL“ sukurti lentelę - Kaip sukurti duomenų bazę MySQL

Turinys:

Anonim

Duomenų bazės kūrimo „MySQL“ veiksmai

Kurkite duomenų bazę dviem būdais

1) vykdydami paprastą SQL užklausą

2) Naudojant išankstinę inžineriją „MySQL Workbench“

Šioje SQL pamokoje sužinosite

  • Kaip sukurti duomenų bazę
  • Kaip sukurti lentelę MySQL
  • Duomenų tipai
  • „MySQL“ darbastalio ER diagrama į priekį

Būdami SQL pradedantieji, pirmiausia pasidomėkime užklausos metodu.

Kaip sukurti duomenų bazę

Štai kaip sukurti duomenų bazę MySQL:

CREATE DATABASE yra SQL komanda, naudojama kuriant duomenų bazę MySQL.

Įsivaizduokite, kad turite sukurti duomenų bazę su pavadinimu „filmai“. „MySQL“ galite sukurti duomenų bazę vykdydami šią SQL komandą.

CREATE DATABASE movies; 

Pastaba: taip pat galite naudoti komandą CREATE SCHEMA, o ne CREATE DATABASE

Dabar patobulinkime savo SQL užklausą pridėdami daugiau parametrų ir specifikacijų.

JEI NĖRA

Viename „MySQL“ serveryje gali būti kelios duomenų bazės. Jei jūs ne vienintelis naudojatės tuo pačiu „MySQL“ serveriu arba jei turite susidurti su keliomis duomenų bazėmis, yra tikimybė, kad bandysite sukurti naują duomenų bazę su esamos duomenų bazės pavadinimu. JEI NĖRA, galite nurodyti „MySQL“ serveriui prieš kuriant duomenų bazę patikrinti, ar yra duomenų bazė panašiu pavadinimu.

Jei naudojamas, jei nėra, duomenų bazė sukuriama tik tuo atveju, jei vardas neprieštarauja esamos duomenų bazės pavadinimui. Nenaudojant IF NĖRA, „ MySQL“ išmeta klaidą.

CREATE DATABASE IF NOT EXISTS movies;

Sutapimas ir simbolių rinkinys

Lyginimas yra lyginamųjų taisyklių rinkinys . Daugelis žmonių naudoja „MySQL“ duomenims, išskyrus angliškus, saugoti. Duomenys saugomi MySQL naudojant tam tikrą simbolių rinkinį. Simbolių rinkinį galima apibrėžti skirtingais lygiais, ty serveryje, duomenų bazėje, lentelėje ir stulpeliuose.

Turite pasirinkti lyginimo taisykles, kurios savo ruožtu priklauso nuo pasirinkto simbolių rinkinio.

Pavyzdžiui, „Latin1“ simbolių rinkinyje naudojamas simbolis

latin1_swedish_ci lyginimas, kuris nėra Švedijos atvejis nejautrus.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

Geriausia praktika naudojant vietines kalbas, pvz., Arabų, kinų ir kt., Yra pasirinkti „Unicode“ (utf-8) simbolių rinkinį, kuriame yra keli palyginimai, arba tiesiog laikytis numatytojo sutapimo utf8-general-ci.

Visų sutapimų ir simbolių rinkinių sąrašą galite rasti čia

Esamų duomenų bazių sąrašą galite pamatyti vykdydami SQL komandą.

SHOW DATABASES

Kaip sukurti lentelę MySQL

CREATE TABLE komanda naudojama lentelėms kurti duomenų bazėje

Lenteles galima sukurti naudojant CREATE TABLE sakinį ir ji iš tikrųjų turi šią sintaksę.

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

ČIA

  • Už lentelės sukūrimą duomenų bazėje atsakingas „CREATE TABLE“.
  • „[JEI NĖRA]“ yra neprivalomas ir sukurkite lentelę tik tuo atveju, jei nerandate atitinkančio lentelės pavadinimo.
  • „„ fieldName ““ yra lauko pavadinimas, o „data Type“ apibrėžia lauke saugomų duomenų pobūdį.
  • "[neprivalomi parametrai]" papildoma informacija apie lauką, pvz., "AUTO_INCREMENT", NOT NULL ir pan.

„MySQL“ lentelės kūrimo pavyzdys

Žemiau pateikiamas „MySQL“ pavyzdys, kaip sukurti lentelę duomenų bazėje:

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;

Dabar pažiūrėkime, kokie yra „MySQL“ duomenų tipai. Galite naudoti bet kurį iš jų, atsižvelgdami į savo poreikius. Kurdami duomenų bazę visada turėtumėte stengtis nenuvertinti arba pervertinti galimo duomenų diapazono.

DUOMENŲ TIPAI

Duomenų tipai apibrėžia duomenų, kuriuos galima saugoti tam tikrame lentelės stulpelyje, pobūdį

„MySQL“ turi 3 pagrindines duomenų tipų kategorijas

  1. Skaitmeniniai,
  2. Tekstas
  3. Data / laikas.

Skaitmeniniai duomenų tipai

Skaitmeninėms vertėms saugoti naudojami skaitmeniniai duomenų tipai. Labai svarbu įsitikinti, kad jūsų duomenų diapazonas yra tarp skaitinių duomenų tipų apatinės ir viršutinės ribų.

TINYINT () -128–127 įprasta nuo
0 iki 255 NEPASirašyta.
SMALLINT () -32768 iki 32767 normalus nuo
0 iki 65535 NEPASirašytas.
MEDIUMINT () -8388608 iki 8388607 normalus nuo
0 iki 16777215 NEPASirašytas.
INT () -2147483648 iki 2147483647 normalus nuo
0 iki 4294967295 NEPASirašytas.
BIGINT () -9223372036854775808 iki 9223372036854775807 normalus nuo
0 iki 18446744073709551615 NEPASirašytas.
PLŪDĖ Mažas apytikslis skaičius su kintamuoju kableliu.
DVIGUBAS (,) Didelis skaičius su kintamuoju kableliu.
DEKIMALIS (,) DVIGUBAS saugomas kaip eilutė, leidžianti nustatyti fiksuotą kablelį. Pasirinkimas valiutos vertėms saugoti.

Teksto duomenų tipai

Kadangi duomenų tipo kategorijos pavadinimas reiškia, jie naudojami teksto reikšmėms saugoti. Visada įsitikinkite, kad tekstinių duomenų ilgis neviršija maksimalaus ilgio.

CHAR () Fiksuota atkarpa nuo 0 iki 255 simbolių.
VARCHAR () Kintamas skyrius nuo 0 iki 255 simbolių.
TINYTEXT Maksimalaus 255 simbolių ilgio eilutė.
TEKSTAS Virvelė, kurios maksimalus ilgis 65535 simboliai.
BLOB Virvelė, kurios maksimalus ilgis 65535 simboliai.
VIDUTINĖ Virvelė, kurios maksimalus ilgis yra 16777215 simboliai.
MEDIUMBLOB Virvelė, kurios maksimalus ilgis yra 16777215 simboliai.
ILGA TEKSTAS Virvelė, kurios maksimalus ilgis yra 4294967295 simboliai.
LONGBLOBAS Virvelė, kurios maksimalus ilgis yra 4294967295 simboliai.

Data / laikas

DATA MMMM-MM-DD
DATETIME MMMM-MM-DD HH: MM: SS
TIMESTAMP MMMMMDDHHMMSS
LAIKAS HH: MM: SS

Be aukščiau, „MySQL“ yra keletas kitų duomenų tipų.

ENUM Norėdami išsaugoti teksto vertę, pasirinktą iš anksto nustatytų teksto verčių sąrašo
SET Tai taip pat naudojama teksto reikšmėms, pasirinktoms iš anksto nustatytų teksto verčių sąrašo, saugoti. Jis gali turėti kelias vertes.
BOLAS Sinonimas TINYINT (1), naudojamas Bulio reikšmėms saugoti
Dvejetainis Panašiai kaip CHAR, skirtumas yra tai, kad tekstai saugomi dvejetainiu formatu.
VARBINARY Panašiai kaip „VARCHAR“, skirtumas yra tai, kad tekstai saugomi dvejetainiu formatu.

Dabar pamatysime užklausą, kaip sukurti lentelę, kurioje yra visų duomenų tipų duomenys. Išnagrinėkite jį ir nustatykite, kaip kiekvienas duomenų tipas yra apibrėžtas toliau pateiktoje lentelės „MySQL“ pavyzdyje.

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 ;

Geriausia praktika

  • SQL raktiniams žodžiams naudokite didžiąsias raides, pvz., „NURODYKITE SCHEMĄ, JEI„ MyFlixDB` “;
  • Užbaikite visas SQL komandas naudodami kabliataškius.
  • Venkite tarpų naudoti schemų, lentelių ir laukų pavadinimuose. Vietoj to naudokite pabraukimus, kad atskirtumėte schemos, lentelės ar lauko pavadinimus.

„MySQL workbench ER“ diagrama į priekį

„MySQL“ darbastalyje yra komunalinių paslaugų, palaikančių pažangią inžineriją. „Forward Engineering“ yra techninis terminas, apibūdinantis loginio modelio pavertimo fiziniu padargu procesą .

Savo ER modeliavimo pamokoje sukūrėme ER diagramą. Dabar naudosime tą ER modelį, kad sugeneruotume SQL scenarijus, kurie sukurs mūsų duomenų bazę.

„MyFlix“ duomenų bazės kūrimas iš „MyFlix ER“ modelio

1. Atidarykite „MyFlix“ duomenų bazės ER modelį, kurį sukūrėte ankstesnėje mokymo programoje.

2. Spustelėkite duomenų bazės meniu. Pasirinkite pirmyn inžinierių

3. Kitame lange galite prisijungti prie „MySQL“ serverio egzemplioriaus. Spustelėkite išskleidžiamąjį išsaugoto ryšio sąrašą ir pasirinkite vietinį pagrindinį kompiuterį. Spustelėkite Vykdyti

4. Parodytame vedlyje pasirinkite toliau nurodytas parinktis. Spustelėkite kitą

5. Kitame ekrane rodoma objektų santrauka mūsų EER diagramoje. Mūsų „MyFlix DB“ yra 5 lentelės. Palikite numatytuosius pasirinkimus ir spustelėkite Pirmyn.

6 ... Pasirodo žemiau pateiktas langas. Šiame lange galite peržiūrėti SQL scenarijų, kad sukurtumėte mūsų duomenų bazę. Mes galime išsaugoti scenarijus * .sql "faile arba nukopijuoti scenarijus į mainų sritį. Spustelėkite kitą mygtuką

7. Žemiau parodytas langas pasirodo sėkmingai sukūrus duomenų bazę pasirinktame MySQL serverio egzemplioriuje.

Santrauka

  • Duomenų bazės kūrimas apima loginio duomenų bazės dizaino modelio pavertimą fizine duomenų baze.
  • „MySQL“ palaiko daugybę skaitinių, datų ir eilučių reikšmių duomenų tipų.
  • CREATE DATABASE komanda naudojama duomenų bazei sukurti
  • CREATE TABLE komanda naudojama lentelėms kurti duomenų bazėje
  • „MySQL“ darbastalis palaiko išankstinę inžineriją, kuri apima automatinį SQL scenarijų generavimą iš loginio duomenų bazės modelio, kurį galima vykdyti fizinei duomenų bazei sukurti

Duomenų bazė kartu su manekeno duomenimis pridedama. Šią DB naudosime visoms kitoms mūsų pamokoms. Norėdami pradėti, lengvai importuokite DB iš „MySQL Workbench“

Spustelėkite čia norėdami atsisiųsti „MyFlixDB“