MySQL Utwórz tabelę - Jak stworzyć bazę danych w MySQL

Spisie treści:

Anonim

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

  1. Numeryczny,
  2. Tekst
  3. 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