13.1.12 CREATE DATABASE Statement
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}
CREATE DATABASE
tworzy bazę danych o podanej nazwie. Aby użyć tego wyrażenia, musisz mieć uprawnienia CREATE
dla bazy danych. CREATE SCHEMA
jest synonimem dla CREATE DATABASE
.
Błąd występuje, jeśli baza danych istnieje i nie określono IF NOT EXISTS
.
CREATE DATABASE
nie jest dozwolone w ramach sesji, która ma aktywne oświadczenie LOCK TABLES
.
Każde create_option
określa charakterystykę bazy danych. Właściwości bazy danych są przechowywane w słowniku danych.
-
Opcja
CHARACTER SET
określa domyślny zestaw znaków bazy danych. OpcjaCOLLATE
określa domyślną kolację bazy danych. Informacje na temat nazw zestawów znaków i kolacji znajdują się w rozdziale 10, Zestawy znaków, kolacje, Unicode.Aby zobaczyć dostępne zestawy znaków i kolacje, należy użyć odpowiednio poleceń
SHOW CHARACTER SET
iSHOW COLLATION
. Zobacz Sekcję 13.7.7.3, „Polecenie SHOW CHARACTER SET” i Sekcję 13.7.7.4, „Polecenie SHOW COLLATION”. -
Opcja
ENCRYPTION
, wprowadzona w MySQL 8.0.16, określa domyślne szyfrowanie bazy danych, które jest dziedziczone przez tabele utworzone w bazie danych. Dozwolone wartości to'Y'
(szyfrowanie włączone) oraz'N'
(szyfrowanie wyłączone). Jeśli opcjaENCRYPTION
nie jest określona, wartość zmiennej systemowejdefault_table_encryption
określa domyślne szyfrowanie bazy danych. Jeśli zmienna systemowatable_encryption_privilege_check
jest włączona, uprawnienieTABLE_ENCRYPTION_ADMIN
jest wymagane do określenia domyślnego ustawienia szyfrowania, które różni się od ustawieniadefault_table_encryption
. Aby uzyskać więcej informacji, zobacz temat Określanie domyślnego szyfrowania dla schematów i ogólnych przestrzeni tabel.
Baza danych w MySQL jest zaimplementowana jako katalog zawierający pliki, które odpowiadają tabelom w bazie danych. Ponieważ w momencie tworzenia bazy danych nie ma w niej tabel, instrukcja CREATE DATABASE
tworzy jedynie katalog pod katalogiem danych MySQL. Reguły dotyczące dopuszczalnych nazw baz danych podane są w rozdziale 9.2 „Nazwy obiektów schematu”. Jeśli nazwa bazy danych zawiera znaki specjalne, nazwa katalogu bazy danych zawiera zakodowane wersje tych znaków, jak opisano w sekcji 9.2.4, „Odwzorowanie identyfikatorów na nazwy plików”.
Tworzenie katalogu bazy danych poprzez ręczne tworzenie katalogu pod katalogiem danych (np. za pomocą mkdir) nie jest obsługiwane w MySQL 8.0.
Kiedy tworzysz bazę danych, pozwól serwerowi zarządzać katalogiem i plikami w nim zawartymi. Manipulowanie katalogami i plikami bazy danych bezpośrednio może powodować niespójności i nieoczekiwane wyniki.
MySQL nie ma ograniczeń co do liczby baz danych. Podstawowy system plików może mieć limit na liczbę katalogów.
Możesz również użyć programu mysqladmin do tworzenia baz danych. Zobacz rozdział 4.5.2, „mysqladmin – program administracyjny serwera MySQL”.