全部产品
Search
文档中心

PolarDB:BUAT DATABASE

更新时间:Jul 03, 2025

Anda dapat mengeksekusi pernyataan BUAT DATABASE untuk membuat database. Saat membuat database, Anda dapat menentukan atribut default seperti set karakter dan aturan pengurutan.

Sintaksis

create_database_stmt:
    BUAT {DATABASE | SCHEMA} [IF NOT EXISTS] nama_database [daftar_opsi_database]

daftar_opsi_database:
    opsi_database [opsi_database ...]

opsi_database:
    [DEFAULT] {CHARACTER SET | CHARSET} [=] nama_charset
  | [DEFAULT] COLLATE [=] nama_pengurutan
  |  LOCALITY = opsi_lokalitas}
  | [{PARTITION_MODE|MODE} = opsi_mode_partisi]
  | [DEFAULT_SINGLE = opsi_default_single]  
  
opsi_lokalitas:
    'dn=daftar_id_instansi_penyimpanan'

daftar_id_instansi_penyimpanan:
    id_instansi_penyimpanan[,daftar_id_instansi_penyimpanan]
    
opsi_mode_partisi:
		 {'auto'|'partitioning'}
    |{'drds'|'sharding'}

opsi_default_single: 
	{'on'|'off'}

Catatan Penggunaan

Instansi Edisi Standar tidak mendukung sintaks DBPARTITION yang digunakan untuk membuat partisi database dan tabel. Hanya instansi Edisi Enterprise yang mengizinkan pembuatan database dalam mode DRDS.

Parameter

Parameter

Deskripsi

nama_database

Nama database.

CHARSET nama_charset

Set karakter database.

COLLATE nama_pengurutan

Aturan pengurutan database.

LOCALITY

Lokasi database.

Catatan

Setelah Anda menggunakan sintaks LOCALITY untuk menentukan lokasi database, Anda tidak dapat mengubah lokasi tersebut.

MODE

Mode partisi dari database logis. Nilai valid:

  • auto (default): Database dipartisi dalam mode AUTO.

    • Anda hanya dapat menggunakan sintaks yang dijelaskan dalam BUAT TABEL (mode AUTO), seperti PARTITION BY HASH, PARTITION BY RANGE, dan PARTITION BY LIST, untuk membuat tabel.

    • Data dari satu tabel dapat didistribusikan ke berbagai node data. Fitur ini dinonaktifkan secara default. Tambahkan DEFAULT_SINGLE = 'on' dalam pernyataan pembuatan tabel untuk mengaktifkan fitur ini. Untuk informasi lebih lanjut, lihat Sharding tabel umum.

    • Jika Anda tidak menentukan definisi partisi secara manual, database dapat dipartisi berdasarkan kunci utama. Fitur ini dinonaktifkan secara default. Untuk mengaktifkan fitur ini, tentukan secara eksplisit set global auto_partition=true.

  • drds: Database dipartisi dalam mode DRDS. Anda hanya dapat menggunakan sintaks yang dijelaskan dalam BUAT TABEL (mode DRDS), seperti DBPARTITION BY dan TBPARTITION BY, untuk membuat tabel.

Penting
  • Jika Anda tidak mengonfigurasi parameter MODE, nilai default drds digunakan.

  • Anda tidak dapat mengubah mode partisi yang telah ditentukan untuk sebuah database.

  • Untuk informasi lebih lanjut tentang mode-mode di atas, lihat Database dalam mode AUTO dan mode DRDS.

DEFAULT_SINGLE (tersedia untuk PolarDB-X 5.4.17-16921956 atau lebih baru)

Menentukan apakah akan membuat tabel tunggal dalam database dalam mode AUTO dan mendistribusikan data tabel di berbagai node data (DN) dalam instansi. Parameter ini hanya valid untuk database dalam mode AUTO. Nilai valid:

  • OFF (default): Data tabel tidak didistribusikan di berbagai node data. Saat Anda membuat tabel dalam database dalam mode AUTO tanpa menentukan definisi partisi secara eksplisit, tabel tunggal dibuat.

  • ON: Data tabel didistribusikan di berbagai node data. Saat Anda membuat tabel dalam database dalam mode AUTO tanpa menentukan definisi partisi secara eksplisit, tabel tunggal dibuat dan data tabel didistribusikan di berbagai node data dalam instansi. Untuk informasi lebih lanjut, lihat Sharding tabel umum.

    Catatan

    Jika baik DEFAULT_SINGLE='ON' maupun MODE='auto' ditentukan, DEFAULT_SINGLE='ON' yang berlaku, yang berarti partisi otomatis dinonaktifkan setelah Anda mengaktifkan fitur sharding tabel perintah.

Contoh

  • Buat database bernama test dalam mode AUTO dengan set karakter UTF-8:

    BUAT DATABASE test MODE=auto default CHARACTER SET UTF8;
    Query OK, 1 row affected (0.00 sec)
  • Buat database pada node polardbx-storage-0-master dari instansi PolarDB-X.

    BUAT DATABASE db1 MODE=drds LOCALITY='dn=polardbx-storage-0-master';
    Catatan
    • Jika Anda tidak menentukan lokasi database saat pembuatan, sistem akan mendistribusikan data secara merata di semua node penyimpanan.

    • Partisi tabel dalam database harus disimpan di lokasi yang sama dengan database untuk memastikan isolasi data.

    Setelah membuat database, Anda dapat mengeksekusi pernyataan berikut untuk memeriksa lokasinya:

    TAMPILKAN BUAT DATABASE db1 MODE=drds;

    Hasil berikut akan dikembalikan:

    +----------+------------------------------------------------------------------------+
    | DATABASE | BUAT DATABASE                                                        |
    +----------+------------------------------------------------------------------------+
    | db1      | BUAT DATABASE `db1` /* LOCALITY = "dn=polardbx-storage-0-master" */  |
    +----------+------------------------------------------------------------------------+
    1 row in set