全部产品
Search
文档中心

AnalyticDB:ALTER TABLE (tabel eksternal)

更新时间:Jul 02, 2025

AnalyticDB for MySQL mendukung pernyataan ALTER TABLE untuk mengubah skema tabel eksternal. Anda dapat mengubah struktur tabel, mengganti nama kolom, mengubah tipe data kolom, serta menambahkan atau menghapus partisi dari tabel eksternal. Topik ini menjelaskan cara menggunakan pernyataan ALTER TABLE untuk mengubah skema tabel eksternal.

Topik ini hanya berlaku untuk tabel eksternal. Untuk informasi lebih lanjut tentang sintaks ALTER TABLE pada tabel AnalyticDB for MySQL, lihat ALTER TABLE.

Prasyarat

Kluster AnalyticDB for MySQL Enterprise Edition, Basic Edition, atau Data Lakehouse Edition telah dibuat.

Kolom

Penting

Hanya kluster AnalyticDB for MySQL versi V3.2.1.0 atau yang lebih baru yang mendukung sintaks berikut.

Untuk melihat dan memperbarui versi minor kluster AnalyticDB for MySQL, masuk ke konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information.

Tambahkan kolom

Sintaks

ALTER TABLE db_name.table_name ADD [COLUMN] 
 {column_name column_type [DEFAULT {constant|CURRENT_TIMESTAMP}|AUTO_INCREMENT] [NULL|NOT NULL] [COMMENT 'komentar']
 | (column column_type [DEFAULT {constant|CURRENT_TIMESTAMP}|AUTO_INCREMENT] [NULL|NOT NULL] [COMMENT 'komentar'],...)}

Catatan penggunaan

Anda tidak dapat menambahkan kolom kunci utama.

Contoh

  • Tambahkan kolom bertipe VARCHAR bernama province ke tabel osstest1.

    ALTER TABLE osstest1 ADD COLUMN province VARCHAR COMMENT 'Provinsi';
  • Tambahkan dua kolom ke tabel osstest1: kolom bertipe BOOLEAN bernama vip dan kolom bertipe VARCHAR bernama tags.

    ALTER TABLE osstest1 ADD COLUMN (vip BOOLEAN COMMENT 'VIP',tags VARCHAR DEFAULT 'None' COMMENT 'Tags');

Hapus kolom

Sintaks

ALTER TABLE db_name.table_name DROP [COLUMN] column_name

Catatan penggunaan

Anda tidak dapat menghapus kolom kunci utama.

Contoh

Hapus kolom province dari tabel osstest1.

ALTER TABLE osstest1 DROP COLUMN province;

Ganti nama kolom

Sintaks

ALTER TABLE table_name RENAME COLUMN column_name to new_column_name

Contoh

Ganti nama kolom city_name di tabel osstest1 menjadi city.

ALTER TABLE osstest1 RENAME COLUMN city_name to city;

Ganti tipe data kolom

Sintaks

ALTER TABLE table_name MODIFY [COLUMN] column_name new_column_type

Contoh

Ganti tipe data kolom age di tabel osstest1 dari INT menjadi BIGINT.

ALTER TABLE osstest1 MODIFY COLUMN age BIGINT;

Ganti nilai default kolom

Sintaks

ALTER TABLE table_name MODIFY [COLUMN] column_name column_type DEFAULT constant|CURRENT_TIMESTAMP

Contoh

Tetapkan nilai default kolom sex di tabel osstest1 menjadi 0.

ALTER TABLE osstest1 MODIFY COLUMN sex INT DEFAULT 0;

Ganti komentar kolom

Sintaks

ALTER TABLE table_name MODIFY [COLUMN] column_name column_type COMMENT 'new_comment'

Contoh

Ganti komentar kolom region di tabel osstest1 menjadi region.

ALTER TABLE osstest1 MODIFY COLUMN region VARCHAR COMMENT 'region';

Partisi

Penting
  • Sintaks terkait partisi hanya berlaku untuk tabel eksternal berpartisi Object Storage Service (OSS).

  • Hanya kluster AnalyticDB for MySQL versi V3.1.8.0 atau yang lebih baru yang mendukung sintaks berikut.

    Untuk melihat dan memperbarui versi minor kluster AnalyticDB for MySQL, masuk ke konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information.

Gunakan pernyataan ALTER TABLE ADD PARTITION untuk menambahkan partisi atau partisi multi-level secara manual. Untuk informasi tentang cara memungkinkan AnalyticDB for MySQL mengidentifikasi jalur OSS dan menambahkan partisi, lihat MSCK REPAIR TABLE.

Tambahkan partisi

Sintaks

ALTER TABLE table_name ADD PARTITION (partition_key=value[,...]) LOCATION 'lokasi';

Parameter

Parameter

Deskripsi

table_name

Nama tabel eksternal.

(partition_key=value[,...])

Partisi yang ingin Anda tambahkan.

Untuk menambahkan partisi multi-level, tentukan beberapa ekspresi partition_key=value. Pisahkan beberapa ekspresi dengan koma (,). Contoh: ADD PARTITION (date='20230613',city='hangzhou').

lokasi

Jalur OSS partisi.

Sebagai contoh, jalur OSS sebuah objek adalah oss://testBucketName/testfolder/p1=20230613/data.csv dan partisi yang ingin ditambahkan adalah p1='20230613'. Dalam kasus ini, atur parameter menjadi LOCATION 'oss://testBucketname/testfolder/'.

Contoh

  • Tambahkan partisi.

    ALTER TABLE adb_external_db.partition_table ADD PARTITION (p1='20230613') LOCATION 'oss://testBucketName/testfolder/p1=20230613/';
  • Tambahkan partisi multi-level.

    ALTER TABLE adb_external_db.partition_table ADD PARTITION (p1='20230613',p2='hangzhou') LOCATION 'oss://testBucketName/testfolder/p1=20230613/p2=hangzhou';

Hapus partisi

Sintaks

ALTER TABLE table_name DROP PARTITION (partition_key=value[,...]);

Parameter

Parameter

Deskripsi

table_name

Nama tabel eksternal.

(partition_key=value[,...])

Partisi yang ingin Anda hapus.

Untuk menghapus partisi multi-level, tentukan beberapa ekspresi partition_key=value. Pisahkan beberapa ekspresi dengan koma (,). Contoh: DROP PARTITION (date='20230613',city='hangzhou').

Contoh

  • Hapus partisi.

    ALTER TABLE adb_external_db.partition_table DROP PARTITION (p1='20230613');
  • Hapus partisi multi-level.

    ALTER TABLE adb_external_db.partition_table DROP PARTITION (p1='20230613',p2='hangzhou');

Referensi

CREATE EXTERNAL TABLE