Kroki tworzenia bazy danych w MySQL
Utwórz bazę danych na dwa sposoby
1) Wykonując proste zapytanie SQL
2) Korzystając z inżynierii do przodu w MySQL Workbench
W tym samouczku SQL nauczysz się:
- Jak stworzyć bazę danych
- Jak utworzyć tabelę w MySQL
- Typy danych
- Schemat ER MySQL Forward Engineering
Jako początkujący w SQL przyjrzyjmy się najpierw metodzie zapytania.
Jak stworzyć bazę danych
Oto jak stworzyć bazę danych w MySQL:
CREATE DATABASE to polecenie SQL używane do tworzenia bazy danych w MySQL.
Wyobraź sobie, że musisz stworzyć bazę danych o nazwie „filmy”. Możesz utworzyć bazę danych w MySQL, wykonując następujące polecenie SQL.
CREATE DATABASE movies;
Uwaga: możesz także użyć polecenia CREATE SCHEMA zamiast CREATE DATABASE
Teraz ulepszmy nasze zapytanie SQL, dodając więcej parametrów i specyfikacji.
JEŚLI NIE ISTNIEJE
Pojedynczy serwer MySQL może mieć wiele baz danych. Jeśli nie jesteś jedyną osobą uzyskującą dostęp do tego samego serwera MySQL lub jeśli masz do czynienia z wieloma bazami danych, istnieje prawdopodobieństwo, że spróbujesz utworzyć nową bazę danych o nazwie istniejącej bazy danych. JEŚLI NIE ISTNIEJE, pozwala poinstruować serwer MySQL, aby przed utworzeniem bazy danych sprawdził istnienie bazy danych o podobnej nazwie.
W przypadku użycia opcji JEŚLI NIE ISTNIEJE baza danych jest tworzona tylko wtedy, gdy podana nazwa nie koliduje z nazwą istniejącej bazy danych. Bez użycia JEŻELI NIE ISTNIEJE MySQL zgłasza błąd.
CREATE DATABASE IF NOT EXISTS movies;
Zestawianie i zestaw znaków
Sortowanie to zestaw reguł używanych do porównania. Wiele osób używa MySQL do przechowywania danych innych niż angielski. Dane są przechowywane w MySQL przy użyciu określonego zestawu znaków. Zestaw znaków można zdefiniować na różnych poziomach, a mianowicie, serwer, baza danych, tabela i kolumny.
Musisz wybrać zasady sortowania, które z kolei zależą od wybranego zestawu znaków.
Na przykład zestaw znaków Latin1 używa rozszerzenia
latin1_swedish_ci
sortowanie, które jest porządkiem szwedzkim bez uwzględniania wielkości liter.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
Najlepszą praktyką podczas używania języków lokalnych, takich jak arabski, chiński itp., Jest wybranie zestawu znaków Unicode (utf-8), który ma kilka sortowań, lub po prostu trzymanie się domyślnego sortowania utf8-general-ci.
Listę wszystkich zestawień i zestawów znaków można znaleźć tutaj
Możesz zobaczyć listę istniejących baz danych, uruchamiając następujące polecenie SQL.
SHOW DATABASES
Jak utworzyć tabelę w MySQL
Polecenie CREATE TABLE służy do tworzenia tabel w bazie danych
Tabele można tworzyć za pomocą instrukcji CREATE TABLE i faktycznie ma następującą składnię.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
TUTAJ
- „CREATE TABLE” odpowiada za utworzenie tabeli w bazie danych.
- „[JEŚLI NIE ISTNIEJE]” jest opcjonalne i utwórz tabelę tylko wtedy, gdy nie zostanie znaleziona pasująca nazwa tabeli.
- „FieldName” to nazwa pola, a „Data Type” określa charakter danych, które mają być przechowywane w tym polu.
- „[parametry opcjonalne]” dodatkowe informacje o polu, takie jak „AUTO_INCREMENT”, NOT NULL itp.
Przykład tworzenia tabeli MySQL
Poniżej znajduje się przykład MySQL, aby utworzyć tabelę w bazie danych:
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;
Zobaczmy teraz, jakie są typy danych MySQL. Możesz użyć dowolnego z nich w zależności od potrzeb. Tworząc bazę danych, należy zawsze starać się nie lekceważyć ani nie przeceniać potencjalnego zakresu danych.
RODZAJE DANYCH
Typy danych definiują charakter danych, które mogą być przechowywane w określonej kolumnie tabeli
MySQL ma 3 główne kategorie typów danych, a mianowicie
- Numeryczny,
- Tekst
- Data / godzina.
Numeryczne typy danych
Liczbowe typy danych służą do przechowywania wartości liczbowych. Bardzo ważne jest, aby upewnić się, że zakres danych mieści się między dolną a górną granicą liczbowych typów danych.
TINYINT () | -128 do 127 normalnie 0 do 255 UNSIGNED. |
SMALLINT () | -32768 do 32767 normalny 0 do 65535 UNSIGNED. |
ŚREDNIOINT () | -8388608 do 8388607 normalne 0 do 16777215 NIEPODPISANE. |
INT () | -2147483648 do 2147483647 normalny 0 do 4294967295 UNSIGNED. |
DUŻY () | -9223372036854775808 do 9223372036854775807 normalny 0 do 18446744073709551615 BEZ PODPISU. |
PŁYWAK | Mała przybliżona liczba ze zmiennym przecinkiem dziesiętnym. |
PODWÓJNE (,) | Duża liczba ze zmiennym przecinkiem dziesiętnym. |
DZIESIĄTEK (,) | PODWÓJNE przechowywane jako ciąg, z uwzględnieniem stałego punktu dziesiętnego. Wybór do przechowywania wartości walutowych. |
Typy danych tekstowych
Jak wskazuje nazwa kategorii typu danych, są one używane do przechowywania wartości tekstowych. Zawsze upewnij się, że długość danych tekstowych nie przekracza maksymalnych długości.
ZNAK () | Stała sekcja o długości od 0 do 255 znaków. |
VARCHAR () | Sekcja zmiennej o długości od 0 do 255 znaków. |
TINYTEXT | Ciąg o maksymalnej długości 255 znaków. |
TEKST | Ciąg o maksymalnej długości 65535 znaków. |
KROPELKA | Ciąg o maksymalnej długości 65535 znaków. |
MEDIUMTEXT | Ciąg o maksymalnej długości 16777215 znaków. |
MEDIUMBLOB | Ciąg o maksymalnej długości 16777215 znaków. |
LONGTEXT | Ciąg o maksymalnej długości 4294967295 znaków. |
LONGBLOB | Ciąg o maksymalnej długości 4294967295 znaków. |
Data / godzina
DATA | RRRR-MM-DD |
DATETIME | RRRR-MM-DD GG: MM: SS |
ZNAK CZASU | RRRRMMDDHHMMSS |
CZAS | HH: MM: SS |
Oprócz powyższego istnieją inne typy danych w MySQL.
ENUM | Do przechowywania wartości tekstowej wybranej z listy predefiniowanych wartości tekstowych |
ZESTAW | Służy również do przechowywania wartości tekstowych wybranych z listy wstępnie zdefiniowanych wartości tekstowych. Może mieć wiele wartości. |
BOOL | Synonim TINYINT (1), używany do przechowywania wartości logicznych |
DWÓJKOWY | Podobnie jak w przypadku CHAR, różnica polega na tym, że teksty są przechowywane w formacie binarnym. |
ODMIENNE | Podobnie jak w przypadku VARCHAR, różnica polega na tym, że teksty są przechowywane w formacie binarnym. |
Zobaczmy teraz zapytanie o utworzenie tabeli zawierającej dane wszystkich typów danych. Przestudiuj to i zidentyfikuj, jak każdy typ danych jest zdefiniowany w poniższym przykładzie tworzenia tabeli MySQL.
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 ;
Najlepsze praktyki
- Użyj wielkich liter dla słów kluczowych SQL, np. "DROP SCHEMA IF EXISTS` MyFlixDB`; "
- Zakończ wszystkie polecenia SQL średnikami.
- Unikaj używania spacji w nazwach schematów, tabel i pól. Zamiast tego użyj podkreślenia, aby oddzielić nazwy schematów, tabel lub pól.
Schemat programu MySQL Workbench ER do przodu inżynierii
Środowisko pracy MySQL zawiera narzędzia wspierające inżynierię w przód. Inżynieria naprzód jest terminem technicznym opisującym proces automatycznego tłumaczenia modelu logicznego na fizyczne narzędzie .
Stworzyliśmy diagram ER w naszym samouczku dotyczącym modelowania ER. Będziemy teraz używać tego modelu ER do generowania skryptów SQL, które utworzą naszą bazę danych.
Tworzenie bazy danych MyFlix z modelu MyFlix ER
1. Otwórz model ER bazy danych MyFlix, który utworzyłeś we wcześniejszym samouczku.
2. Kliknij menu bazy danych. Wybierz inżyniera do przodu
3. Kolejne okno umożliwia połączenie się z instancją serwera MySQL. Kliknij listę rozwijaną zapisanego połączenia i wybierz hosta lokalnego. Kliknij Wykonaj
4. Wybierz opcje pokazane poniżej w wyświetlonym kreatorze. Kliknij Następny
5. Następny ekran pokazuje podsumowanie obiektów na naszym diagramie EER. Nasz MyFlix DB ma 5 stołów. Zachowaj ustawienia domyślne i kliknij Dalej.
6… Pojawia się okno pokazane poniżej. To okno umożliwia podgląd skryptu SQL do stworzenia naszej bazy danych. Możemy zapisać skrypty do pliku * .sql ”lub skopiować skrypty do schowka. Kliknij przycisk Dalej
7. Okno pokazane poniżej pojawia się po pomyślnym utworzeniu bazy danych na wybranej instancji serwera MySQL.
Podsumowanie
- Tworzenie bazy danych polega na przetłumaczeniu logicznego modelu projektu bazy danych na fizyczną bazę danych.
- MySQL obsługuje wiele typów danych dla wartości liczbowych, dat i łańcuchów.
- Polecenie CREATE DATABASE służy do tworzenia bazy danych
- Polecenie CREATE TABLE służy do tworzenia tabel w bazie danych
- Środowisko pracy MySQL obsługuje inżynierię naprzód, która obejmuje automatyczne generowanie skryptów SQL z logicznego modelu bazy danych, które można wykonać w celu utworzenia fizycznej bazy danych
Baza danych wraz z danymi zastępczymi jest dołączona. Będziemy używać tej bazy danych we wszystkich naszych dalszych samouczkach. Aby rozpocząć, po prostu zaimportuj bazę danych do MySQL Workbench
Kliknij tutaj, aby pobrać MyFlixDB