MySQL Stvori tablicu | Kako stvoriti bazu podataka u MySQL -u

Koraci za stvaranje baze podataka u MySQL -u

Stvorite bazu podataka na dva načina

1) Izvođenjem jednostavnog SQL upita

2) Korištenjem inženjeringa naprijed u MySQL Workbenchu

U ovom SQL vodiču ćete naučiti-

Kao početnik u SQL -u, prvo ćemo pogledati metodu upita.

Kako stvoriti bazu podataka

Evo kako stvoriti bazu podataka u MySQL -u:

CREATE DATABASE je SQL naredba koja se koristi za stvaranje baze podataka u MySQL -u.

Zamislite da trebate stvoriti bazu podataka s nazivom 'movies'. Bazu podataka u MySQL -u možete stvoriti izvršavanjem sljedeće SQL naredbe. | _+_ |

Napomena: možete koristiti i naredbu CREATE SCHEMA umjesto CREATE DATABASE

Sada poboljšajmo naš SQL upit dodavanjem više parametara i specifikacija.

AKO NE POSTOJI

Jedan MySQL poslužitelj mogao bi imati više baza podataka. Ako niste jedini koji pristupa istom MySQL poslužitelju ili ako se morate baviti s više baza podataka, postoji vjerojatnost da ćete pokušati stvoriti novu bazu podataka s imenom postojeće baze podataka. AKO NE POSTOJI dopustiti vam da uputite MySQL poslužitelj da prije stvaranja baze podataka provjeri postojanje baze podataka sa sličnim imenom.

Kada AKO NE POSTOJI koristi se baza podataka stvara se samo ako dato ime nije u sukobu s imenom postojeće baze podataka. Bez upotrebe AKO NE POSTOJI MySQL prikazuje grešku. | _+_ |

Usporedba i skup znakova

Usporedba je od pravila koristi se u usporedbi. Mnogi ljudi koriste MySQL za spremanje podataka koji nisu engleski. Podaci se pohranjuju u MySQL pomoću određenog skupa znakova. Skup znakova može se definirati na različitim razinama, na poslužitelju, bazi podataka, tablici i stupcima.

Morate odabrati pravila usporedbe koja opet ovise o odabranom skupu znakova.

Na primjer, skup znakova Latin1 koristi | _+_ | usporedba koja je švedski poredak neosjetljiv na velika i mala slova. | _+_ |

Najbolja praksa pri korištenju lokalnih jezika poput arapskog, kineskog itd. Je odabir Unicode (utf-8) skupa znakova koji ima nekoliko usporedbi ili se jednostavno držite zadane usporedbe utf8-general-ci.

Možete pronaći popis svih usporedbi i skupova znakova ovdje

Popis postojećih baza podataka možete vidjeti pokretanjem sljedeće SQL naredbe. | _+_ |

Kako stvoriti tablicu u MySQL -u

Naredba CREATE TABLE koristi se za stvaranje tablica u bazi podataka


Tablice se mogu izraditi pomoću IZRADI TABLICU iskaz i zapravo ima sljedeću sintaksu. | _+_ |

OVDJE

  • 'CREATE TABLE' je odgovorna za stvaranje tablice u bazi podataka.
  • '[IF NOT EXISTS]' je izborno i izradite tablicu samo ako nije pronađen odgovarajući naziv tablice.
  • 'fieldName' je naziv polja, a 'Data type' definira prirodu podataka koji se pohranjuju u polje.
  • '[izborni parametri]' dodatne informacije o polju kao što je 'AUTO_INCREMENT', NIJE NULL itd.

Primjer izrade MySQL tablice

Ispod je primjer MySQL -a za stvaranje tablice u bazi podataka:
latin1_swedish_ci

Pogledajmo sada koje su vrste podataka MySQL -a. Ovisno o vašim potrebama, možete koristiti bilo koji od njih. Prilikom stvaranja baze podataka uvijek biste trebali nastojati ne podcijeniti ili precijeniti potencijalni raspon podataka.

VRSTE PODATAKA

Vrste podataka definiraju prirodu podataka koji se mogu pohraniti u određeni stupac tablice

MySQL ima 3 glavne kategorije tipova podataka, naime

  1. Numerički,
  2. Tekst
  3. Datum vrijeme.

Numeričke vrste podataka

Numeričke vrste podataka koriste se za spremanje numeričkih vrijednosti. Vrlo je važno osigurati da se raspon vaših podataka nalazi između donje i gornje granice numeričkih vrsta podataka.

TINYINT () -128 do 127 normalno
0 do 255 NEPOTPISANO.
SMALLINT () -32768 do 32767 normalno
0 do 65535 NEPOTPISAN.
MEDIJUMINT () -8388608 do 8388607 normalno
0 do 16777215 NEPOTPISAN.
INT () -2147483648 do 2147483647 normalno
0 do 4294967295 NEPOTPISAN.
BIGINT () -9223372036854775808 do 9223372036854775807 normalno
0 do 18446744073709551615 NEPOTPISAN.
PLUTATI Mali približan broj s plutajućom decimalnom točkom.
DVOSTRUKO( , ) Veliki broj s plutajućom decimalnom točkom.
DECIMAL( , ) DOUBLE pohranjen kao niz, dopuštajući fiksnu decimalnu točku. Izbor za pohranu valutnih vrijednosti.

Vrste tekstualnih podataka

Kako naziv kategorije podataka vrste implicira, oni se koriste za spremanje tekstualnih vrijednosti. Uvijek pazite da duljina vaših tekstualnih podataka ne prelazi maksimalne duljine.

CHAR () Fiksni odjeljak od 0 do 255 znakova.
VARCHAR () Promjenjivi odjeljak od 0 do 255 znakova.
TINITEKST Niz maksimalne duljine 255 znakova.
TEKST Niz maksimalne duljine 65535 znakova.
BLOB Niz maksimalne duljine 65535 znakova.
SREDNJI TEKST Niz maksimalne duljine 16777215 znakova.
SREDNJAKLUB Niz maksimalne duljine 16777215 znakova.
LONGTEXT Niz maksimalne duljine 4294967295 znakova.
LONGBLOB Niz maksimalne duljine 4294967295 znakova.

Datum vrijeme

DATUM GGGG-MM-DD
DATUM VRIJEME GGGG-MM-DD HH: MM: SS
VREMENSKA KARTA GGGGMMDDHHMMSS
VRIJEME HH: MM: SS

Osim gore navedenih, u MySQL -u postoje još neke vrste podataka.

ENUM Za spremanje tekstualne vrijednosti odabrane s popisa unaprijed definiranih tekstualnih vrijednosti
SET Ovo se također koristi za spremanje tekstualnih vrijednosti odabranih s popisa unaprijed definiranih tekstualnih vrijednosti. Može imati više vrijednosti.
BOOL Sinonim za TINYINT (1), koristi se za spremanje logičkih vrijednosti
BINARNI Slično CHAR -u, razlika je u tome što su tekstovi pohranjeni u binarnom formatu.
VARBINARNI Slično VARCHAR -u, razlika je u tome što se tekstovi pohranjuju u binarnom formatu.

Pogledajmo sada upit za stvaranje tablice koja sadrži podatke svih vrsta podataka. Proučite ga i identificirajte kako je svaki tip podataka definiran u donjem primjeru MySQL tablice izrade. | _+_ |

Najbolje prakse

  • Za SQL ključne riječi koristite velika slova, npr. 'DROP SCHEMA IF EXISTS `MyFlixDB`;'
  • Završite sve svoje SQL naredbe pomoću točke sa zarezom.
  • Izbjegavajte korištenje razmaka u shemama, nazivima tablica i polja. Umjesto toga koristite donje crte za odvajanje naziva sheme, tablice ili polja.

MySQL radni stol ER dijagram prema naprijed inženjering

MySQL radni sto ima pomoćne programe koji podržavaju napredni inženjering. Napredni inženjering je tehnički izraz za opisivanje procesa automatsko prevođenje logičkog modela u fizičku implementaciju .

Stvorili smo IS dijagram na naš Vodič za modeliranje IS -a . Sada ćemo koristiti taj ER model za generiranje SQL skripti koje će stvoriti našu bazu podataka.

Stvaranje baze podataka MyFlix iz modela MyFlix ER

1. Otvorite ER model baze podataka MyFlix koji ste stvorili u prethodnom vodiču.

2. Pritisnite izbornik baze podataka. Odaberite inženjera naprijed

3. Sljedeći prozor vam omogućuje povezivanje s instancom MySQL poslužitelja. Pritisnite padajući popis spremljene veze i odaberite lokalni host. Pritisnite Izvrši

4. Odaberite dolje navedene opcije u čarobnjaku koji će se prikazati. Pritisnite sljedeći

5. Sljedeći zaslon prikazuje sažetak objekata u našem EER dijagramu. Naš MyFlix DB ima 5 stolova. Neka odabiri budu zadani i kliknite Dalje.

6 .. Pojavljuje se dolje prikazani prozor. Ovaj vam prozor omogućuje pregled SQL skripte za stvaranje naše baze podataka. Skripte možemo spremiti u datoteku *.sql 'ili kopirati skripte u međuspremnik. Pritisnite sljedeći gumb

7. Dolje prikazani prozor pojavljuje se nakon uspješnog stvaranja baze podataka na odabranoj instanci poslužitelja MySQL.


Sažetak

  • Stvaranje baze podataka uključuje prevođenje modela logičkog dizajna baze podataka u fizičku bazu podataka.
  • MySQL podržava brojne vrste podataka za numeričke, datume i nizove.
  • Za stvaranje baze podataka koristi se naredba CREATE DATABASE
  • Naredba CREATE TABLE koristi se za stvaranje tablica u bazi podataka
  • MySQL radni stol podržava napredni inženjering koji uključuje automatsko generiranje SQL skripti iz logičkog modela baze podataka koji se može izvesti za stvaranje fizičke baze podataka

Baza podataka zajedno s lažnim podacima je priložena. Ovaj DB ćemo koristiti za sve naše daljnje vodiče. Jednostavno uvezite bazu podataka u MySQL Workbench za početak

Kliknite ovdje za preuzimanje MyFlixDB