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
- Skaitmeniniai,
- Tekstas
- 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“