Tworzenie bazy danych w MySQL jest tak proste, jak to tylko możliwe. Wystarczy jedna linijka. W rzeczywistości wymyślenie nazwy bazy danych zajmuje mi zwykle więcej czasu niż jej utworzenie!
Chociaż z pewnością możesz tworzyć bazy danych za pomocą graficznego interfejsu użytkownika MySQL Workbench, prawdopodobnie szybsze jest tworzenie ich programowo za pomocą CREATE DATABASE
oświadczenie.
CREATE DATABASE
Oświadczenie
Możesz utworzyć nową bazę danych za pomocą CREATE DATABASE
oświadczenie. Ta instrukcja jest częścią SQL, który jest językiem specjalnego przeznaczenia do wykonywania zapytań i programowania baz danych.
Składnia to CREATE DATABASE db_name
gdzie db_name
to nazwa bazy danych, którą chcesz utworzyć.
Na przykład, aby utworzyć bazę danych o nazwie FruitShop
wpisz następujące polecenie w zakładce Zapytanie i uruchom zapytanie:
CREATE DATABASE FruitShop;
To wszystko, czego potrzeba. SCHEMATY zakładka w lewym menu powinna teraz wyświetlać Twoją bazę danych:
Jeśli nie widzisz swojej bazy danych, kliknij małą ikonę odświeżania obok SCHEMATÓW nagłówek.
Możesz również użyć następującego polecenia, aby wyświetlić listę baz danych na serwerze:
SHOW DATABASES;
Ale oczywiście masz teraz pustą bazę danych. Będziesz musiał dodać tabele i wstawić dane, zanim będziesz mieć w pełni działającą bazę danych. Wkrótce do tego dojdziemy.
CREATE SCHEMA
Oświadczenie
Możesz również użyć CREATE SCHEMA
oświadczenie. Używa tej samej składni, więc powyższe oświadczenie można przepisać na to:
CREATE SCHEMA FruitShop;
Korzystanie z IF NOT EXISTS
Możesz użyć IF NOT EXISTS
aby zapobiec wystąpieniu błędu, jeśli baza danych już istnieje. Oto przykład:
CREATE DATABASE IF NOT EXISTS FruitShop;
Korzystanie z DROP DATABASE IF EXISTS
Korzystanie z powyższego IF NOT EXISTS
jest świetny, o ile nie masz zamiaru zastępować bazy danych (i wszystkich jej danych) nową, świeżą. Ale czasami możesz chcieć usunąć starą bazę danych i zacząć od nowa. To tutaj DROP DATABASE
przydaje się.
Możesz użyć DROP DATABASE
aby usunąć wszystkie tabele w bazie danych i usunąć bazę danych przed uruchomieniem CREATE DATABASE
oświadczenie. Możesz to połączyć z IF EXISTS
aby określić, że instrukcja powinna być wykonywana tylko wtedy, gdy baza danych aktualnie istnieje. Zapobiegnie to wystąpieniu błędu, jeśli spróbujesz usunąć bazę danych, która w rzeczywistości nie istnieje.
Oto jak to mogłoby wyglądać:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop;
Informacje o średnikach
Powyższy przykład używa średników (;
), aby zaznaczyć koniec każdego oświadczenia. Polecenia MySQL zwykle składają się z instrukcji SQL, po której następuje średnik. Istnieje kilka wyjątków, ale większość poleceń jest zgodna z tą konwencją. Jeśli okaże się, że napisane przez Ciebie polecenie nie działa, sprawdź, czy po każdej instrukcji wstawiasz średnik.
Projektowanie bazy danych
Zanim stworzysz swoją bazę danych, musisz pomyśleć o jej projekcie. Musisz pomyśleć o tym, jakie tabele i inne obiekty będą zawierać, a także jakie dane będą przechowywane w bazie danych.
W rzeczywistości, kiedy tworzysz bazę danych, nie tworzysz po prostu pustej bazy danych, a potem zastanawiasz się, jakie tabele do niej trafią później. Normalnie napisałbyś skrypt, który tworzy bazę danych i wszystkie jej tabele oraz inne obiekty za jednym razem.
Na szczęście jest to całkiem proste. Jest to po prostu kwestia łączenia instrukcji SQL, jedna po drugiej, dla każdego obiektu, który chcesz utworzyć.
Przyjrzymy się teraz tworzeniu tabel, ale na razie oto krótki przykład:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
To jest prosty przykład, który tworzy bazę danych i tabelę w tej bazie danych. Możesz napisać długi skrypt, który utworzy bazę danych i wiele tabel oraz inne obiekty bazy danych.
Możesz także napisać inny skrypt, który zapełni tabele wymaganymi danymi początkowymi. Możesz nawet połączyć oba skrypty w jeden, jeśli chcesz.
Konwencje nazewnictwa
Dobrym pomysłem jest zachowanie spójnej konwencji nazewnictwa. Możesz zadzwonić do bazy danych FruitShop
(wielkość liter), FRUITSHOP
(wielkie litery), fruitshop
(małe litery), fruit_shop
(z separatorem podkreślenia) itp.
Niektórzy ludzie lubią również prefiksować swoje obiekty bazy danych. Na przykład poprzedzenie tabel przedrostkiem tbl
lub tbl_
i procedury składowane z sp
lub sp_
. Tak więc tabelę można nazwać tblCustomers
lub tbl_customers
itp.
Powinieneś także pomyśleć o liczbie mnogiej. Czy nazywasz tabelę, która przechowuje wszystkie rekordy klientów customer
? lub customers
. Jeśli wybierzesz customers
, należy również wywołać tabelę zawierającą wszystkie produkty products
a nie product
.
Niezależnie od tego, co wybierzesz, powinieneś starać się zachować tę samą konwencję w całej bazie danych.
Ustanowienie konwencji nazewnictwa ogromnie pomoże, gdy zaczniesz pisać zapytania do swojej bazy danych. Nie będziesz musiał pamiętać, czy nazwałeś konkretną tabelę podkreśleniem, wielkością liter itp.