Anda dapat menjalankan pernyataan CREATE TABLE untuk membuat tabel pemetaan bagi tabel atau indeks pencarian yang sudah ada. Saat membuat tabel pemetaan, tentukan nama dan tipe bidang dalam tabel, informasi kunci utama, serta mesin eksekusi untuk kueri data sesuai kebutuhan bisnis Anda. Topik ini menjelaskan cara membuat tabel pemetaan untuk tabel yang sudah ada.
Untuk informasi tentang cara membuat tabel pemetaan untuk indeks pencarian, lihat Buat Tabel Pemetaan untuk Indeks Pencarian.
Sintaksis
CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type [NOT NULL | NULL],...
| PRIMARY KEY(key_part[,key_part])
)
ENGINE='tablestore',
ENGINE_ATTRIBUTE='{"consistency": consistency [,"allow_inaccurate_aggregation": allow_inaccurate_aggregation]}';Jika sebuah tabel hanya memiliki satu kolom kunci utama, gunakan sintaksis berikut untuk membuat tabel pemetaan bagi tabel yang sudah ada:
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type PRIMARY KEY,column_name data_type [NOT NULL | NULL],...
)
ENGINE='tablestore',
ENGINE_ATTRIBUTE='{"consistency": consistency [,"allow_inaccurate_aggregation": allow_inaccurate_aggregation]}';Parameter
Parameter | Diperlukan | Deskripsi |
IF NOT EXISTS | Tidak | Menentukan bahwa respons sukses dikembalikan terlepas dari apakah tabel tersebut ada. Jika Anda tidak menentukan IF NOT EXISTS, respons sukses hanya akan dikembalikan jika tabel tersebut tidak ada. |
table_name | Ya | Nama tabel, yang digunakan untuk mengidentifikasi tabel. Nama tabel dalam SQL harus sama dengan nama tabel dalam Tablestore. |
column_name | Ya | Nama kolom. Nama kolom dalam SQL harus setara dengan nama kolom dalam tabel Tablestore. Sebagai contoh, jika nama kolom dalam tabel Tablestore adalah Aa, maka nama kolom dalam SQL harus Aa, AA, aA, atau aa. |
data_type | Ya | Tipe data kolom, seperti BIGINT, DOUBLE, atau BOOL. Tipe data kolom dalam SQL harus sesuai dengan tipe data kolom dalam tabel Tablestore. Untuk informasi tentang pemetaan tipe data, lihat Pemetaan tipe data dalam SQL. |
NOT NULL | NULL | Tidak | Menentukan apakah nilai kolom bisa NULL. Nilai valid:
|
key_part | Ya | Nama kolom kunci utama. Anda dapat menentukan beberapa kolom kunci utama. Pisahkan beberapa kolom kunci utama dengan koma (,). Nama kolom kunci utama harus termasuk dalam nama kolom. |
ENGINE | Tidak | Mesin eksekusi yang digunakan saat Anda menggunakan tabel pemetaan untuk menanyakan data. Nilai default: tablestore. Nilai valid:
|
ENGINE_ATTRIBUTE | Tidak | Atribut mesin eksekusi. Nilai parameter ini dalam format JSON dan mencakup item-item berikut:
|
Contoh
Contoh 1
Kode sampel berikut menunjukkan cara membuat tabel pemetaan bernama exampletable1. Tabel tersebut berisi kolom kunci utama id dan kolom atribut colvalue serta content. Kolom kunci utama id dan kolom atribut colvalue bertipe BIGINT, sedangkan kolom atribut content bertipe MEDIUMTEXT.
CREATE TABLE exampletable1 (id BIGINT(20) PRIMARY KEY, colvalue BIGINT(20), content MEDIUMTEXT);Contoh 2
Kode sampel berikut menunjukkan cara membuat tabel pemetaan bernama exampletable2. Tabel tersebut berisi kolom kunci utama id dan colvalue serta kolom atribut content. Kolom kunci utama id bertipe BIGINT, kolom kunci utama colvalue bertipe VARCHAR, dan kolom atribut content bertipe MEDIUMTEXT. Hasil kueri pada tabel harus berada dalam mode konsistensi kuat.
CREATE TABLE exampletable2 (id BIGINT(20), colvalue VARCHAR(1024), content MEDIUMTEXT, PRIMARY KEY(colvalue, id)) ENGINE_ATTRIBUTE='{"consistency": "strong"}';
FAQ
Apa yang harus saya lakukan jika pesan kesalahan "Table 'instancename.tablename' doesn't exist ?" muncul saat saya membuat tabel pemetaan?
Penyebab Potensial
Tabel yang ingin Anda buat tabel pemetaannya tidak tersedia.
Solusi
Pastikan bahwa tabel atau indeks pencarian yang ingin Anda buat tabel pemetaannya sudah ada sebelum menjalankan pernyataan CREATE TABLE dalam SQL.
Apa yang harus saya lakukan jika pesan kesalahan "Table 'instancename.tablename' sudah ada?" muncul saat saya membuat tabel pemetaan?
Penyebab Potensial
Tabel pemetaan telah dibuat untuk tabel tersebut.
Pengguna secara manual membuat tabel pemetaan untuk tabel tersebut.
Tablestore secara otomatis membuat tabel pemetaan untuk tabel tersebut. Jika Anda langsung menggunakan pernyataan SQL (seperti DESCRIBE, SELECT, dll.) untuk menanyakan data dalam tabel tanpa membuat tabel pemetaan, Tablestore akan membuat tabel pemetaan secara otomatis. Tabel pemetaan yang dibuat otomatis hanya mencakup kolom kunci utama dan kolom yang telah ditentukan sebelumnya dari tabel data. Anda tidak dapat memperbarui kolom atribut dari tabel pemetaan tersebut.
Solusi
Gunakan pernyataan
DESCRIBEuntuk menanyakan skema tabel pemetaan. Jika skema tersebut tidak sesuai dengan kebutuhan bisnis Anda, Anda dapat memperbarui kolom atribut tabel pemetaan. Jika tabel pemetaan dibuat secara otomatis oleh Tablestore, Anda tidak dapat memperbarui kolom atribut. Dalam hal ini, Anda dapat menghapus tabel pemetaan dan membuat yang baru jika yakin bahwa penghapusan tabel pemetaan tidak akan memengaruhi bisnis Anda.
Untuk kesalahan umum dan solusi fitur kueri SQL, lihat Bagaimana Cara Menyelesaikan Masalah Kesalahan Umum Kueri SQL?.
Referensi
Setelah membuat tabel pemetaan, Anda dapat memperbarui kolom atribut tabel pemetaan, menanyakan informasi tabel pemetaan, menanyakan nama tabel pemetaan, menanyakan informasi indeks tabel pemetaan, dan menghapus tabel pemetaan. Untuk informasi lebih lanjut, lihat Perbarui Kolom Atribut Tabel Pemetaan, Tanyakan Informasi tentang Tabel, Daftar Nama Tabel Pemetaan, Tanyakan Informasi Indeks tentang Tabel, dan Hapus Tabel Pemetaan.
Anda dapat menjalankan pernyataan SELECT untuk menanyakan dan menganalisis data dalam tabel pemetaan. Untuk informasi lebih lanjut, lihat Tanyakan Data.
Jika ingin menggunakan indeks pencarian untuk menanyakan dan menganalisis data, jalankan pernyataan
CREATE TABLEuntuk membuat tabel pemetaan bagi indeks pencarian. Untuk informasi lebih lanjut, lihat Buat Tabel Pemetaan untuk Indeks Pencarian.