Kako stvoriti bazu podataka u MySQL (Stvoriti MySQL stolovi)
โก Pametni saลพetak
Stvaranje baze podataka u MySQL slijedi dva provjerena puta: izvrลกavanje naredbe CREATE DATABASE ili generiranje fiziฤkih shema iz ER modela putem MySQL Inลพenjering radne ploฤe unaprijed. Oba pristupa proizvode identiฤne, za proizvodnju spremne stolove.

Koraci za stvaranje baze podataka u MySQL
Baza podataka u MySQL je imenovani spremnik za tablice, prikaze i povezane objekte. Moลพete ga stvoriti na dva naฤina:
1) Izvrลกavanjem jednostavnog SQL upita
2) Koriลกtenjem naprednog inลพenjeringa u MySQL Radna tezga
As SQL poฤetnik, pogledajmo prvo metodu upita.
Kako stvoriti bazu podataka u MySQL
Evo kako stvoriti bazu podataka u MySQL:
CREATE DATABASE je SQL naredba koja se koristi za kreiranje baze podataka u MySQL.
Zamislite da trebate stvoriti bazu podataka s nazivom โfilmoviโ. Moลพete stvoriti bazu podataka u MySQL izvrลกavanjem sljedeฤe SQL naredbe.
CREATE DATABASE movies;
Napomena: Umjesto naredbe CREATE DATABASE, moลพete koristiti i naredbu CREATE SCHEMA.
Naredba radi samo jednom. Ponovno pokretanje izbacuje greลกku, pa poboljลกajmo upit s viลกe parametara.
AKO NE POSTOJI
Jedan sam MySQL Posluลพitelj moลพe sadrลพavati mnogo baza podataka. Kada nekoliko ljudi dijeli taj posluลพitelj, moลพete pokuลกati stvoriti bazu podataka s imenom postojeฤe.
AKO NE POSTOJI upuฤuje MySQL posluลพitelj da provjeri postoji li baza podataka s istim imenom prije nego ลกto je stvori. Baza podataka se stvara samo ako je ime slobodno; bez ove klauzule, MySQL izbacuje pogreลกku.
CREATE DATABASE IF NOT EXISTS movies;
Nakon ลกto je naziv baze podataka siguran, sljedeฤa odluka je kako MySQL treba pohraniti i usporediti tekst unutar njega.
Razvrstavanje i skup znakova
A skup znakova odluฤuje koje znakove stupac moลพe pohraniti, dok sravnjivanje je skup od pravila koriลกtena u usporedbi i sortiranje. Oboje se moลพe definirati na ฤetiri razine: posluลพitelj, baza podataka, tablica i stupac.
Sortiranje koje odaberete ovisi o skupu znakova. Na primjer, skup znakova latin1 koristi latin1_swedish_ci sreฤivanje, ลกto je ลกvedski redoslijed koji ne razlikuje velika i mala slova.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Za lokalne jezike poput arapskog ili kineskog odaberite Unicode utf8mb4 skup znakova koji pohranjuje svaki Unicode znak, ukljuฤujuฤi emotikone. U MySQL 8.0, utf8mb4 je zadani skup znakova i utf8mb4_0900_ai_ci zadana kolacija.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Moลพete pronaฤi popis svih sortiranja i skupova znakova ovdje.
Popis postojeฤih baza podataka moลพete vidjeti pokretanjem sljedeฤe SQL naredbe.
SHOW DATABASES;
S bazom podataka na mjestu, sada moลพete dodati tablice koje ฤe zapravo sadrลพavati zapise.
Kako napraviti tablicu u MySQL
Naredba CREATE TABLE koristi se za stvaranje tablica u bazi podataka.
Kao ลกto dijagram pokazuje, svaka tablica pripada jednoj bazi podataka. Tablice se stvaraju pomoฤu IZRADI TABELU izjava, koja ima sljedeฤu sintaksu.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
OVDJE
- Naredba "CREATE TABLE" odgovorna je za stvaranje tablice u bazi podataka.
- โ[IF NE POSTOJI]โ je opcionalno i kreira tablicu samo ako nije pronaฤen odgovarajuฤi naziv tablice.
- โ`fieldName`โ je naziv polja, a โdata Typeโ definira prirodu podataka pohranjenih u njemu.
- โ[neobavezni parametri]โ su dodatne informacije o polju, kao ลกto su โAUTO_INCREMENTโ ili NOT NULL.
- โStorage Engineโ upravlja tablicom, obiฤno InnoDB-om, koji podrลพava transakcije i strane kljuฤeve.
MySQL Primjer izrade tablice
Ispod je a MySQL primjer za izradu tablice u bazi podataka:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `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;
Biljeลกka: toฤne MySQL kljuฤna rijeฤ je AUTO_INCREMENT s podcrtom. AUTOINCREMENT pripada SQLite i izaziva sintaktiฤku greลกku u MySQL.
Svaki stupac nosi tip podataka, stoga paลพljivo birajte: nemojte ni podcijeniti ni precijeniti raspon podataka koje oฤekujete.
MySQL Vrste podataka
Tipovi podataka definiraju prirodu podataka koji se mogu pohraniti u odreฤeni stupac tablice.
MySQL ima 3 glavne kategorije tipova podataka, i to:
- Numeriฤki
- Tekst
- Datum vrijeme
Numeriฤke vrste podataka
Numeriฤki tipovi podataka koriste se za pohranjivanje numeriฤkih vrijednosti. Vrlo je vaลพno osigurati da je raspon vaลกih podataka izmeฤu donje i gornje granice odabranog numeriฤkog tipa podataka.
| TINYINT( ) | -128 do 127 normalno 0 do 255 NEPOTPISANO. |
| SMALLINT( ) | -32768 do 32767 normalno 0 do 65535 NEPOTPISANO. |
| SREDNJE ( ) | -8388608 do 8388607 normalno 0 do 16777215 NEPOTPISANO. |
| INT( ) | -2147483648 do 2147483647 normalno 0 do 4294967295 NEPOTPISANO. |
| BIGINT( ) | -9223372036854775808 do 9223372036854775807 normalno 0 do 18446744073709551615 NEPOTPISANO. |
| PLUTATI | Mali pribliลพni broj s pomiฤnim decimalnim zarezom. |
| DVOSTRUKO ( , ) | Veliki broj s pomiฤnim decimalnim zarezom. |
| DECIMAL( , ) | Vrijednost DOUBLE pohranjena kao niz znakova, s fiksnom decimalnom toฤkom. Izbor za pohranjivanje vrijednosti valuta. |
Tekstualne vrste podataka
Kao ลกto i samo ime kategorije tipova podataka govori, one se koriste za pohranjivanje tekstualnih vrijednosti. Uvijek pazite da duljina tekstualnih podataka ne prelazi maksimalnu duljinu stupca.
| CHAR( ) | Fiksni odjeljak od 0 do 255 znakova. |
| VARCHAR( ) | Varijabilni odjeljak od 0 do 255 znakova. |
| SITNI TEKST | Niz maksimalne duljine od 255 znakova. |
| TEKST | Niz maksimalne duljine od 65535 znakova. |
| BLOB | Niz maksimalne duljine od 65535 znakova. |
| SREDNJI TEKST | Niz maksimalne duljine od 16777215 znakova. |
| SREDNJA MRLJA | Niz maksimalne duljine od 16777215 znakova. |
| DUGI TEKST | Niz maksimalne duljine od 4294967295 znakova. |
| DUGAฤKA | Niz maksimalne duljine od 4294967295 znakova. |
Vrste podataka o datumu i vremenu
Tipovi podataka datuma i vremena pohranjuju vrijednosti kalendara i sata u fiksnom formatu, ลกto osigurava pouzdanost sortiranja i usporedbe.
| INFORMACIJE | GGGG-MM-DD |
| DATUM VRIJEME | GGGG-MM-DD HH: MM: SS |
| VREMENSKI KAMP | GGGGMMDDHHMMSS |
| VRIJEME | HH: MM: SS |
Druge vrste podataka
Osim gore navedenog, postoje i neke druge vrste podataka u MySQL.
| ENUM | Za pohranjivanje tekstualne vrijednosti odabrane s popisa unaprijed definiranih tekstualnih vrijednosti |
| SET | Ovo se takoฤer koristi za pohranjivanje tekstualnih vrijednosti odabranih s popisa unaprijed definiranih tekstualnih vrijednosti. Moลพe imati viลกe vrijednosti. |
| BOOL | Sinonim za TINYINT(1), koji se koristi za pohranu Booleovih vrijednosti |
| binarni | Sliฤno kao CHAR; razlika je u tome ลกto se tekstovi pohranjuju u binarnom formatu. |
| VARBINARIJ | Sliฤno kao VARCHAR; razlika je u tome ลกto se tekstovi pohranjuju u binarnom formatu. |
Sada pogledajmo upit za stvaranje tablice koja koristi sve tipove podataka. Prouฤimo ga i identificirajmo kako je svaki tip podataka definiran u donjoj tablici za stvaranje. MySQL primjer.
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;
Najbolji primjeri iz prakse za stvaranje a MySQL Baza podataka
Nekoliko konvencija odrลพava vaลกe skripte ฤitljivima:
- Koristite velika slova za SQL kljuฤne rijeฤi, npr. โDROP SCHEMA IF EXISTS `MyFlixDB`;โ
- Zavrลกite sve SQL naredbe toฤka-zarezom.
- Izbjegavajte koriลกtenje razmaka u nazivima shema, tablica i polja. Umjesto toga koristite podcrte za odvajanje naziva shema, tablica ili polja.
- Za nove tablice preferirajte InnoDB u odnosu na MyISAM, jer InnoDB podrลพava transakcije, zakljuฤavanje na razini redaka i strane kljuฤeve.
Metoda upita je dovrลกena. Druga ruta dolazi do iste baze podataka iz vizualnog modela umjesto ruฤno pisanog SQL-a.
Kako stvoriti MySQL Dijagram ER radne ploฤe za napredno inลพenjerstvo
MySQL Radna tezga ima pomoฤne programe koji podrลพavaju napredni inลพenjering. Prednji inลพenjering je tehniฤki izraz koji opisuje proces automatsko prevoฤenje logiฤkog modela u fiziฤku implementaciju.
Stvorili smo ER dijagram u naลกem ER modeliranje lekcija. Sada ฤemo koristiti taj ER model za generiranje SQL skripti koje ฤe stvoriti naลกu bazu podataka.
Kreiranje MyFlix baze podataka iz MyFlix ER modela
Korak 1) Otvorite ER model MyFlix baze podataka koju ste ranije stvorili.
Korak 2) Odaberite prednjeg inลพenjera
Kliknite na izbornik Baza podataka i odaberite Naprijed inลพenjer.
Korak 3) Moguฤnosti povezivanja
Sljedeฤi prozor vam omoguฤuje povezivanje s instancom MySQL posluลพitelj. Kliknite padajuฤi popis pohranjenih veza i odaberite lokalni host. Kliknite Izvrลกi.
Korak 4) Odaberite opcije prikazane u nastavku
U ฤarobnjaku koji se pojavi odaberite opcije prikazane u nastavku. Kliknite Dalje.
Korak 5) Ostavite zadane postavke i kliknite Dalje
Sljedeฤi zaslon prikazuje saลพetak objekata u naลกem EER dijagramu. Naลกa MyFlix baza podataka ima 5 tablica. Ostavite zadane odabire i kliknite Dalje.
Korak 6) Revtj. SQL skriptu
Donji prozor prikazuje pregled SQL skripte koja stvara naลกu bazu podataka. Spremite skriptu u *.sql datoteku ili je kopirajte u meฤuspremnik, a zatim kliknite Dalje.
Korak 7) Potvrdite napredak
Donji prozor se pojavljuje nakon ลกto je baza podataka kreirana na odabranom MySQL instanca posluลพitelja. Tablice iz ER modela sada fiziฤki postoje na posluลพitelju.
Priloลพena je baza podataka zajedno s laลพnim podacima. Ovu bazu podataka koristit ฤemo u lekcijama koje slijede. Jednostavno je uvezite u MySQL Radni stol za poฤetak.
Kliknite ovdje za preuzimanje MyFlixDB







.png)