Jak utworzyć bazę danych w MySQL (Tworzyć MySQL Tabele)
⚡ Inteligentne podsumowanie
Tworzenie bazy danych w MySQL podąża dwiema sprawdzonymi ścieżkami: wykonaniem polecenia CREATE DATABASE lub wygenerowaniem schematów fizycznych z modelu ER za pomocą MySQL Inżynieria przyszłościowa stołu warsztatowego. Oba podejścia pozwalają uzyskać identyczne, gotowe do produkcji stoły.

Kroki tworzenia bazy danych w MySQL
Baza danych w MySQL to nazwany kontener dla tabel, widoków i powiązanych obiektów. Można go utworzyć na dwa sposoby:
1) Wykonując proste zapytanie SQL
2) Korzystając z inżynierii przyszłości w MySQL Workbench
As Początkujący SQL, przyjrzyjmy się najpierw metodzie zapytania.
Jak utworzyć bazę danych w MySQL
Oto jak utworzyć bazę danych w MySQL:
CREATE DATABASE to polecenie SQL używane do tworzenia bazy danych w MySQL.
Wyobraź sobie, że musisz utworzyć bazę danych o nazwie „filmy”. Możesz utworzyć bazę danych w MySQL wykonując następujące polecenie SQL.
CREATE DATABASE movies;
Uwaga: Można również użyć polecenia CREATE SCHEMA zamiast CREATE DATABASE.
To polecenie działa tylko raz. Ponowne jego uruchomienie powoduje błąd, więc poprawmy zapytanie, dodając więcej parametrów.
JEŚLI NIE ISTNIEJE
Pojedynczy MySQL Serwer może pomieścić wiele baz danych. Jeśli z serwera korzysta kilka osób, możesz spróbować utworzyć bazę danych o nazwie takiej jak istniejąca.
JEŚLI NIE ISTNIEJE instruuje MySQL serwer sprawdza, czy istnieje baza danych o tej samej nazwie przed jej utworzeniem. Baza danych jest tworzona tylko wtedy, gdy nazwa jest wolna; bez tej klauzuli MySQL wyrzuca błąd.
CREATE DATABASE IF NOT EXISTS movies;
Gdy nazwa bazy danych jest bezpieczna, następną decyzją jest, jak ją utworzyć. MySQL powinien przechowywać i porównywać tekst w nim zawarty.
Sortowanie i zestaw znaków
A zestaw znaków decyduje, jakie znaki może przechowywać kolumna, podczas gdy porównanie jest zestawem zasady stosowane w porównaniu i sortowanie. Oba można zdefiniować na czterech poziomach: serwera, bazy danych, tabeli i kolumny.
Wybór kolejności zależy od zestawu znaków. Na przykład zestaw znaków latin1 używa latin1_swedish_ci sortowanie, które jest szwedzką kolejnością bez uwzględniania wielkości liter.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
W przypadku języków lokalnych, takich jak arabski lub chiński, wybierz Unicode utf8mb4 Zestaw znaków, który przechowuje wszystkie znaki Unicode, w tym emoji. W MySQL 8.0, utf8mb4 jest domyślnym zestawem znaków i utf8mb4_0900_ai_ci domyślne sortowanie.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Możesz znaleźć listę wszystkich zestawień i zestawów znaków w tym miejscu.
Listę istniejących baz danych możesz zobaczyć, uruchamiając następujące polecenie SQL.
SHOW DATABASES;
Mając już bazę danych, możesz dodać tabele, które będą zawierały rekordy.
Jak utworzyć tabelę w MySQL
Polecenie CREATE TABLE służy do tworzenia tabel w bazie danych.
Jak pokazuje diagram, każda tabela należy do jednej bazy danych. Tabele są tworzone za pomocą UTWÓRZ TABELĘ oświadczenie, które 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.
- „[IF NOT EXISTS]” jest opcjonalne i powoduje utworzenie tabeli tylko wtedy, gdy nie zostanie znaleziona pasująca nazwa tabeli.
- „`fieldName`” to nazwa pola, a „typ danych” definiuje rodzaj przechowywanych w nim danych.
- „[parametry opcjonalne]” to dodatkowe informacje o polu, takie jak „AUTO_INCREMENT” lub NOT NULL.
- „Silnik pamięci masowej” zarządza tabelą, zwykle InnoDB, która obsługuje transakcje i klucze obce.
MySQL Utwórz przykład tabeli
Poniżej znajduje MySQL przykład utworzenia tabeli w bazie danych:
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;
Uwaga: prawidłowe MySQL słowo kluczowe to AUTO_INCREMENT z podkreśleniem. AUTOINCREMENT należy do SQLite i powoduje błąd składniowy w MySQL.
Każda kolumna zawiera określony typ danych, dlatego dokonuj ostrożnego wyboru: nie zaniżaj ani nie przeceniaj zakresu oczekiwanych danych.
MySQL Typy danych
Typy danych definiują charakter danych, które można przechowywać w określonej kolumnie tabeli.
MySQL ma 3 główne kategorie typów danych, mianowicie:
- Numeryczne
- Tekst
- Data / godzina
Numeryczne typy danych
Typy danych liczbowych 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ą wybranego typu danych liczbowych.
| MAŁAINT( ) | -128 do 127 w normie 0 do 255 BEZ PODPISU. |
| MAŁAINT( ) | -32768 do 32767 w normie 0 do 65535 BEZ PODPISU. |
| ŚREDNI MIĘTOWY( ) | -8388608 do 8388607 w normie 0 do 16777215 BEZ PODPISU. |
| LCAŁK( ) | -2147483648 do 2147483647 w normie 0 do 4294967295 BEZ PODPISU. |
| DUŻY INT( ) | -9223372036854775808 do 9223372036854775807 w normie 0 do 18446744073709551615 BEZ PODPISU. |
| FLOAT | Mała przybliżona liczba ze zmiennym przecinkiem dziesiętnym. |
| PODWÓJNY( , ) | Duża liczba ze zmiennym przecinkiem dziesiętnym. |
| DZIESIĘTNE( , ) | Wartość DOUBLE zapisana jako ciąg znaków, z możliwością ustawienia stałego przecinka dziesiętnego. Wybór do przechowywania wartości walutowych. |
Typy danych tekstowych
Jak sama nazwa kategorii typów danych wskazuje, służą one do przechowywania wartości tekstowych. Zawsze upewnij się, że długość danych tekstowych nie przekracza maksymalnej długości kolumny.
| ZNAK( ) | Stała sekcja o długości od 0 do 255 znaków. |
| WARCHAR( ) | Sekcja zmienna o długości od 0 do 255 znaków. |
| MAŁYTEKST | 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. |
| ŚREDNI TEKST | Ciąg o maksymalnej długości 16777215 znaków. |
| ŚREDNIA BLOBA | Ciąg o maksymalnej długości 16777215 znaków. |
| DŁUGITEKST | Ciąg o maksymalnej długości 4294967295 znaków. |
| DŁUGI BLOB | Ciąg o maksymalnej długości 4294967295 znaków. |
Typy danych daty i godziny
Typy danych daty i czasu przechowują wartości kalendarza i zegara w ustalonym formacie, co zapewnia niezawodność sortowania i porównywania.
| DATA | RRRR-MM-DD |
| DATA GODZINA | RRRR-MM-DD GG: MM: SS |
| ZNAK CZASU | YYYYMMDDHHMMSS |
| CZAS | GG:MM:SS |
Inne typy danych
Oprócz powyższych istnieją pewne inne typy danych w MySQL.
| WYLICZENIE | Aby zapisać wartość tekstową wybraną z listy predefiniowanych wartości tekstowych |
| SET | Służy także do przechowywania wartości tekstowych wybranych z listy predefiniowanych wartości tekstowych. Może mieć wiele wartości. |
| BOOL | Synonim TINYINT(1), używany do przechowywania wartości logicznych |
| BINARY | Podobnie jak CHAR; różnica polega na tym, że teksty są przechowywane w formacie binarnym. |
| WARBINARNE | Podobnie jak VARCHAR; różnica polega na tym, że teksty są przechowywane w formacie binarnym. |
Przyjrzyjmy się teraz zapytaniu tworzącemu tabelę, które wykorzystuje wszystkie typy danych. Przeanalizuj je i zidentyfikuj, jak każdy typ danych jest zdefiniowany w poniższym poleceniu „Utwórz tabelę”. MySQL przykład.
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 tworzenia MySQL Baza danych
Oto kilka konwencji, które pomogą Ci zachować czytelność skryptów:
- Słowa kluczowe SQL należy pisać wielkimi literami, np. „DROP SCHEMA IF EXISTS `MyFlixDB`;”
- Wszystkie polecenia SQL należy kończyć średnikami.
- Unikaj używania spacji w nazwach schematów, tabel i pól. Zamiast nich używaj podkreśleń do oddzielania nazw schematów, tabel i pól.
- W przypadku nowych tabel lepiej wybrać InnoDB od MyISAM, ponieważ InnoDB obsługuje transakcje, blokowanie na poziomie wiersza i klucze obce.
Metoda zapytania jest kompletna. Druga ścieżka dociera do tej samej bazy danych z modelu wizualnego, a nie ręcznie napisanego kodu SQL.
Jak stworzyć MySQL Schemat ER warsztatu inżynierskiego
MySQL Workbench posiada narzędzia wspierające inżynierię przyszłości. Inżynieria przyszłości jest terminem technicznym opisującym proces automatyczne tłumaczenie modelu logicznego na implementację fizyczną.
Stworzyliśmy Schemat ER w naszym Modelowanie oddziału ratunkowego Lekcja. Teraz użyjemy tego modelu ER do wygenerowania skryptów SQL, które utworzą naszą bazę danych.
Tworzenie bazy danych MyFlix z modelu MyFlix ER
Krok 1) Otwórz model ER bazy danych MyFlix które stworzyłeś wcześniej.
Krok 2) Wybierz inżyniera przyszłości
Kliknij menu Baza danych i wybierz opcję Forward Engineer.
Krok 3) Opcje połączenia
Następne okno umożliwia połączenie się z instancją MySQL Serwer. Kliknij listę rozwijaną zapisanych połączeń i wybierz hosta lokalnego. Kliknij Wykonaj.
Krok 4) Wybierz opcje pokazane poniżej
Wybierz opcje pokazane poniżej w wyświetlonym kreatorze. Kliknij Dalej.
Krok 5) Zachowaj domyślne ustawienia i kliknij Dalej
Następny ekran pokazuje podsumowanie obiektów na naszym diagramie EER. Nasza baza danych MyFlix zawiera 5 tabel. Zachowaj ustawienia domyślne i kliknij Dalej.
Krok 6) Revspójrz na skrypt SQL
Poniższe okno wyświetla podgląd skryptu SQL, który tworzy naszą bazę danych. Zapisz skrypt w pliku *.sql lub skopiuj go do schowka, a następnie kliknij Dalej.
Krok 7) Zatwierdź postęp
Poniższe okno pojawia się po utworzeniu bazy danych na wybranym urządzeniu MySQL instancji serwera. Tabele z modelu ER znajdują się teraz fizycznie na serwerze.
Dołączona jest baza danych wraz z danymi fikcyjnymi. Będziemy z niej korzystać w kolejnych lekcjach. Wystarczy ją zaimportować. MySQL Warsztat do rozpoczęcia pracy.
Kliknij tutaj, aby pobrać MyFlixDB







.png)