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 SETokreśla domyślny zestaw znaków bazy danych. OpcjaCOLLATEokreś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 SETiSHOW 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 opcjaENCRYPTIONnie jest określona, wartość zmiennej systemowejdefault_table_encryptionokreśla domyślne szyfrowanie bazy danych. Jeśli zmienna systemowatable_encryption_privilege_checkjest włączona, uprawnienieTABLE_ENCRYPTION_ADMINjest 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”.