Tablestore SDK for Python membuat tabel pemetaan untuk tabel data atau indeks pencarian yang sudah ada agar memungkinkan akses SQL ke data.
Prasyarat
Instal Tablestore SDK for Python dan inisialisasi client.
Kueri SQL memerlukan versi 5.4.2 atau yang lebih baru. Disarankan untuk menggunakan versi terbaru.
Deskripsi
Panggil metode exe_sql_query untuk mengeksekusi pernyataan CREATE TABLE dan membuat tabel pemetaan untuk tabel data atau indeks pencarian yang sudah ada.
def exe_sql_query(self, query)
Untuk tabel data, nama tabel pemetaan harus sama dengan nama tabel data. Nama bidang tidak peka huruf besar/kecil, dan tipe bidang harus sesuai dengan tipe bidang pada tabel data. Untuk indeks pencarian, Anda dapat menentukan nama tabel pemetaan serta menggunakan parameter ENGINE dan ENGINE_ATTRIBUTE untuk mengacu pada tabel data dan indeks pencarian yang bersangkutan.
Untuk informasi mengenai sintaksis, tipe bidang, dan parameter pernyataan CREATE TABLE, lihat Operasi DDL.
Contoh berikut membuat tabel pemetaan untuk tabel data example_table.
query = """
CREATE TABLE example_table (
pk VARCHAR(1024), long_value BIGINT, double_value DOUBLE,
string_value MEDIUMTEXT, bool_value BOOL, PRIMARY KEY(pk)
)
"""
client.exe_sql_query(query)
Parameter
Metode exe_sql_query memiliki parameter berikut.
|
Nama |
Type |
Deskripsi |
|
query (wajib) |
String |
Pernyataan |
Contoh skenario
Buat tabel pemetaan untuk indeks pencarian
Atur ENGINE ke searchindex dan tentukan tabel data serta indeks pencarian di dalam ENGINE_ATTRIBUTE. Contoh berikut membuat tabel pemetaan example_search_table untuk indeks pencarian example_index dari tabel data example_table.
query = """
CREATE TABLE example_search_table (
pk MEDIUMTEXT, long_value BIGINT, string_value MEDIUMTEXT
) ENGINE='searchindex'
ENGINE_ATTRIBUTE='{"index_name":"example_index","table_name":"example_table"}'
"""
client.exe_sql_query(query)
FAQ
Terjadi error Table 'instance.table' doesn't exist
Penyebab: Tabel data atau indeks pencarian yang ditentukan tidak ada. Pernyataan CREATE TABLE hanya membuat tabel pemetaan.
Solusi: Periksa nama-namanya, pastikan tabel data atau indeks pencarian tersebut tersedia, lalu eksekusi ulang pernyataan tersebut.
Terjadi error Table 'instance.table' already exists
Penyebab: Tabel pemetaan sudah ada. Pernyataan DESCRIBE atau SELECT juga dapat secara otomatis membuat tabel pemetaan yang hanya mencakup kolom kunci primer dan kolom pradefinisi.
Solusi: Untuk mencegah error pembuatan duplikat, gunakan klausa IF NOT EXISTS. Untuk mengubah tabel pemetaan yang dibuat secara otomatis, evaluasi dampaknya, hapus tabel pemetaan tersebut, lalu buat ulang.