MySQL :: MySQL 8.0 Reference Manual :: 13.1.12 CREATE DATABASE Statement

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. Opcja COLLATE 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 i SHOW 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 opcja ENCRYPTION nie jest określona, wartość zmiennej systemowej default_table_encryption określa domyślne szyfrowanie bazy danych. Jeśli zmienna systemowa table_encryption_privilege_check jest włączona, uprawnienie TABLE_ENCRYPTION_ADMIN jest wymagane do określenia domyślnego ustawienia szyfrowania, które różni się od ustawienia default_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”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.