

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Perintah PartiQL di Amazon QLDB
<a name="ql-reference.statements"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

PartiQL memperluas SQL-92 untuk mendukung dokumen dalam format data Amazon Ion. Amazon QLDB mendukung perintah PartiQL berikut.

Untuk mempelajari cara mengontrol akses untuk menjalankan setiap perintah PartiQL pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**catatan**  
QLDB tidak mendukung semua perintah PartiQL.
Semua pernyataan PartiQL di QLDB tunduk pada batas transaksi, sebagaimana didefinisikan dalam. [Kuota dan batas di Amazon QLDB](limits.md#limits.fixed)
Referensi ini memberikan sintaks dasar dan contoh penggunaan pernyataan PartiQL yang Anda jalankan secara manual di konsol QLDB atau shell QLDB. Untuk contoh kode yang menunjukkan cara menjalankan pernyataan serupa menggunakan bahasa pemrograman yang didukung, lihat tutorial di[Memulai dengan sopir](getting-started-driver.md).

## Pernyataan DDL (bahasa definisi data)
<a name="ql-functions.statements.ddl"></a>

*Data definition language* (DDL) adalah kumpulan pernyataan PartiQL yang Anda gunakan untuk mengelola objek database, seperti tabel dan indeks. Anda menggunakan DDL untuk membuat dan menjatuhkan benda-benda ini.
+ [CREATE INDEX](ql-reference.create-index.md)
+ [CREATE TABLE](ql-reference.create-table.md)
+ [DROP INDEX](ql-reference.drop-index.md)
+ [MEJA DROP](ql-reference.drop-table.md)
+ [BUKA TABEL](ql-reference.undrop-table.md)

## Pernyataan DML (bahasa manipulasi data)
<a name="ql-functions.statements.dml"></a>

*Bahasa manipulasi data* (DHTML) adalah kumpulan pernyataan PartiQL yang Anda gunakan untuk mengelola data dalam tabel QLDB. Anda menggunakan pernyataan DML untuk menambah, mengubah, atau menghapus data dalam sebuah tabel.

Berikut DML dan kueri bahasa pernyataan yang didukung:
+ [HAPUS](ql-reference.delete.md)
+ [DARI (MASUKKAN, HAPUS, atau ATUR)](ql-reference.from.md)
+ [INSERT](ql-reference.insert.md)
+ [SELECT](ql-reference.select.md)
+ [UPDATE](ql-reference.update.md)

# BUAT perintah INDEX di Amazon QLDB
<a name="ql-reference.create-index"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan `CREATE INDEX` perintah untuk membuat indeks untuk bidang dokumen di atas meja.

Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**penting**  
QLDB membutuhkan indeks untuk mencari dokumen secara efisien. Tanpa indeks, QLDB perlu melakukan pemindaian tabel lengkap saat membaca dokumen. Hal ini dapat menyebabkan masalah kinerja pada tabel besar, termasuk konflik konkurensi dan batas waktu transaksi.  
Untuk menghindari pemindaian tabel, Anda harus menjalankan pernyataan dengan klausa `WHERE` predikat menggunakan operator *kesetaraan* (`=`atau`IN`) pada bidang yang diindeks atau ID dokumen. Untuk informasi selengkapnya, lihat [Mengoptimalkan kinerja kueri](working.optimize.md).

Perhatikan kendala berikut saat membuat indeks:
+ Indeks hanya dapat dibuat pada satu bidang tingkat atas. Indeks komposit, bersarang, unik, dan berbasis fungsi tidak didukung.
+ Anda dapat membuat indeks pada setiap [tipe data Ion](ql-reference.data-types.md), termasuk `list` dan`struct`. Namun, Anda hanya dapat melakukan pencarian yang diindeks berdasarkan kesetaraan seluruh nilai Ion terlepas dari jenis Ion. Misalnya, saat menggunakan `list` tipe sebagai indeks, Anda tidak dapat melakukan pencarian yang diindeks oleh satu item di dalam daftar.
+ Kinerja kueri ditingkatkan hanya ketika Anda menggunakan predikat kesetaraan; misalnya, `WHERE indexedField = 123` atau. `WHERE indexedField IN (456, 789)`

  QLDB tidak menghormati ketidaksetaraan dalam predikat kueri. Akibatnya, rentang pemindaian yang difilter tidak diterapkan.
+ Nama bidang yang diindeks peka huruf besar/kecil dan dapat memiliki maksimal 128 karakter.
+ Pembuatan indeks di QLDB tidak sinkron. Jumlah waktu yang dibutuhkan untuk menyelesaikan membangun indeks pada tabel yang tidak kosong bervariasi tergantung pada ukuran tabel. Untuk informasi selengkapnya, lihat [Mengelola indeks](working.manage-indexes.md).

**Topics**
+ [Sintaks](#ql-reference.create-index.syntax)
+ [Parameter](#ql-reference.create-index.parameters)
+ [Nilai yang dikembalikan](#ql-reference.create-index.return)
+ [Contoh](#ql-reference.create-index.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.create-index.driver)

## Sintaks
<a name="ql-reference.create-index.syntax"></a>

```
CREATE INDEX ON table_name (field)
```

## Parameter
<a name="ql-reference.create-index.parameters"></a>

***table\$1name***  
Nama tabel tempat Anda ingin membuat indeks. Tabel harus sudah ada.  
Nama tabel peka huruf besar/kecil.

***field***  
Nama bidang dokumen untuk membuat indeks. Bidang harus berupa atribut tingkat atas.  
Nama bidang yang diindeks peka huruf besar/kecil dan dapat memiliki maksimal 128 karakter.  
Anda dapat membuat indeks pada semua [jenis data Amazon Ion](ql-reference.data-types.md), termasuk `list` dan`struct`. Namun, Anda hanya dapat melakukan pencarian yang diindeks berdasarkan kesetaraan seluruh nilai Ion terlepas dari jenis Ion. Misalnya, saat menggunakan `list` tipe sebagai indeks, Anda tidak dapat melakukan pencarian yang diindeks oleh satu item di dalam daftar.

## Nilai yang dikembalikan
<a name="ql-reference.create-index.return"></a>

`tableId`— ID unik dari tabel tempat Anda membuat indeks.

## Contoh
<a name="ql-reference.create-index.examples"></a>

```
CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
```

```
CREATE INDEX ON Vehicle (VIN)
```

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.create-index.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)

# Buat perintah TABLE di Amazon QLDB
<a name="ql-reference.create-table"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan `CREATE TABLE` perintah untuk membuat tabel baru.

Tabel memiliki nama sederhana tanpa ruang nama. QLDB mendukung konten terbuka dan tidak menerapkan skema, sehingga Anda tidak menentukan atribut atau tipe data saat membuat tabel.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini dalam buku besar, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.create-table.syntax)
+ [Parameter](#ql-reference.create-table.parameters)
+ [Nilai yang dikembalikan](#ql-reference.create-table.return)
+ [Menandai tabel pada pembuatan](#ql-reference.create-table.tagging)
+ [Contoh](#ql-reference.create-table.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.create-table.driver)

## Sintaks
<a name="ql-reference.create-table.syntax"></a>

```
CREATE TABLE table_name [ WITH (aws_tags = `{'key': 'value'}`) ]
```

## Parameter
<a name="ql-reference.create-table.parameters"></a>

***table\$1name***  
Nama unik tabel untuk dibuat. Tabel aktif dengan nama yang sama harus belum ada. Berikut ini adalah kendala penamaan:  
+ Harus hanya berisi 1-128 karakter alfanumerik atau garis bawah.
+ Harus memiliki huruf atau garis bawah untuk karakter pertama.
+ Dapat memiliki kombinasi karakter alfanumerik dan garis bawah untuk karakter yang tersisa.
+ Peka huruf besar/case sensitive.
+ Tidak boleh berupa kata yang dicadangkan oleh [PartiQL](ql-reference.reserved.md) QLDB.

**'*key*': '*value*'**  
(Opsional) Tag untuk melampirkan ke sumber daya tabel selama pembuatan. Setiap tag didefinisikan sebagai pasangan kunci-nilai, di mana kunci dan nilai masing-masing dilambangkan dengan tanda kutip tunggal. Setiap pasangan kunci-nilai didefinisikan di dalam struktur Amazon Ion yang dilambangkan dengan backticks.  
*Menandai tabel pada pembuatan saat ini didukung untuk buku besar dalam mode `STANDARD` izin saja.*

## Nilai yang dikembalikan
<a name="ql-reference.create-table.return"></a>

`tableId`— ID unik dari tabel yang Anda buat.

## Menandai tabel pada pembuatan
<a name="ql-reference.create-table.tagging"></a>

**catatan**  
 Menandai tabel pada pembuatan saat ini didukung untuk buku besar dalam mode `STANDARD` izin saja. 

Secara opsional, Anda dapat menandai sumber daya tabel Anda dengan menentukan tag dalam pernyataan`CREATE TABLE`. Untuk informasi selengkapnya tentang tag, lihat [Menandai sumber daya QLDB Amazon](tagging.md). Contoh berikut membuat tabel bernama `Vehicle` dengan tag`environment=production`.

```
CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)
```

Menandai tabel pada pembuatan membutuhkan akses ke `qldb:TagResource` tindakan `qldb:PartiQLCreateTable` dan tindakan. Untuk mempelajari lebih lanjut tentang izin untuk sumber daya QLDB, lihat. [Bagaimana Amazon QLDB bekerja dengan IAM](security_iam_service-with-iam.md)

Dengan menandai sumber daya saat sedang dibuat, Anda dapat menghilangkan kebutuhan untuk menjalankan skrip penandaan khusus setelah pembuatan sumber daya. Setelah tabel ditandai, Anda dapat mengontrol akses ke tabel berdasarkan tag tersebut. Misalnya, Anda dapat memberikan akses penuh hanya ke tabel yang memiliki tag tertentu. Untuk contoh kebijakan JSON, lihat[Akses penuh ke semua tindakan berdasarkan tag tabel](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-full-tags).

## Contoh
<a name="ql-reference.create-table.examples"></a>

```
CREATE TABLE VehicleRegistration
```

```
CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'development'}`)
```

```
CREATE TABLE Vehicle WITH (aws_tags = `{'key1': 'value1', 'key2': 'value2'}`)
```

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.create-table.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)

# DELETE perintah di Amazon QLDB
<a name="ql-reference.delete"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan `DELETE` perintah untuk menandai dokumen aktif sebagai dihapus dalam tabel dengan membuat revisi dokumen yang baru namun final. Revisi akhir ini menunjukkan bahwa dokumen tersebut dihapus. Operasi ini mengakhiri siklus hidup dokumen, yang berarti bahwa tidak ada revisi dokumen lebih lanjut dengan ID dokumen yang sama dapat dibuat.

Operasi ini tidak dapat diubah. Anda masih dapat menanyakan riwayat revisi dokumen yang dihapus dengan menggunakan file. [Fungsi sejarah](working.history.md#working.history.function)

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.delete.syntax)
+ [Parameter](#ql-reference.delete.parameters)
+ [Nilai yang dikembalikan](#ql-reference.delete.return)
+ [Contoh](#ql-reference.delete.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.delete.driver)

## Sintaks
<a name="ql-reference.delete.syntax"></a>

```
DELETE FROM table_name [ AS table_alias ] [ BY id_alias ]
[ WHERE condition ]
```

## Parameter
<a name="ql-reference.delete.parameters"></a>

***table\$1name***  
Nama tabel pengguna yang berisi data yang akan dihapus. Pernyataan DHTML hanya didukung dalam [tampilan pengguna](working.userdata.md) default. Setiap pernyataan hanya dapat berjalan pada satu tabel.

**SEBAGAI *table\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang berkisar di atas tabel yang akan dihapus. `AS`Kata kunci adalah opsional.

**OLEH *id\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang mengikat bidang `id` metadata setiap dokumen dalam kumpulan hasil. Alias harus dinyatakan dalam `FROM` klausa menggunakan kata kunci. `BY` Ini berguna ketika Anda ingin memfilter pada [ID dokumen](working.metadata.md) saat menanyakan tampilan pengguna default. Untuk informasi selengkapnya, lihat [Menggunakan klausa BY untuk menanyakan ID dokumen](working.metadata.by-clause.md).

**DIMANA *condition***  
Kriteria seleksi untuk dokumen yang akan dihapus.

**catatan**  
Jika Anda menghilangkan `WHERE` klausa, maka semua dokumen dalam tabel dihapus.

## Nilai yang dikembalikan
<a name="ql-reference.delete.return"></a>

`documentId`— ID unik dari setiap dokumen yang Anda hapus.

## Contoh
<a name="ql-reference.delete.examples"></a>

```
DELETE FROM VehicleRegistration AS r
WHERE r.VIN = '1HVBBAANXWH544237'
```

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.delete.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)

# Perintah DROP INDEX di Amazon QLDB
<a name="ql-reference.drop-index"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan `DROP INDEX` perintah untuk menghapus indeks pada tabel.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.drop-index.syntax)
+ [Parameter](#ql-reference.drop-index.parameters)
+ [Nilai yang dikembalikan](#ql-reference.drop-index.return)
+ [Contoh](#ql-reference.drop-index.examples)

## Sintaks
<a name="ql-reference.drop-index.syntax"></a>

```
DROP INDEX "indexId" ON table_name WITH (purge = true)
```

**catatan**  
Klausul `WITH (purge = true)` ini diperlukan untuk semua `DROP INDEX` pernyataan, dan saat ini `true` merupakan satu-satunya nilai yang didukung.  
Kata kunci `purge` peka huruf besar/kecil dan harus semua huruf kecil.

## Parameter
<a name="ql-reference.drop-index.parameters"></a>

**"*indexId*"**  
ID unik dari indeks untuk turun, dilambangkan dengan tanda kutip ganda.

**PADA *table\$1name***  
Nama tabel yang indeksnya ingin Anda jatuhkan.

## Nilai yang dikembalikan
<a name="ql-reference.drop-index.return"></a>

`tableId`— ID unik dari tabel yang indeksnya Anda jatuhkan.

## Contoh
<a name="ql-reference.drop-index.examples"></a>

```
DROP INDEX "4tPW3fUhaVhDinRgKRLhGU" ON VehicleRegistration WITH (purge = true)
```

# Perintah DROP TABLE di Amazon QLDB
<a name="ql-reference.drop-table"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan perintah untuk `DROP TABLE` menonaktifkan tabel yang ada. Anda dapat menggunakan [BUKA TABEL](ql-reference.undrop-table.md) pernyataan untuk mengaktifkannya kembali. Menonaktifkan atau mengaktifkan kembali tabel tidak berpengaruh pada dokumen atau indeksnya.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.drop-table.syntax)
+ [Parameter](#ql-reference.drop-table.parameters)
+ [Nilai yang dikembalikan](#ql-reference.drop-table.return)
+ [Contoh](#ql-reference.drop-table.examples)

## Sintaks
<a name="ql-reference.drop-table.syntax"></a>

```
DROP TABLE table_name
```

## Parameter
<a name="ql-reference.drop-table.parameters"></a>

***table\$1name***  
Nama tabel untuk menonaktifkan. Tabel harus sudah ada dan memiliki status`ACTIVE`.

## Nilai yang dikembalikan
<a name="ql-reference.drop-table.return"></a>

`tableId`— ID unik dari tabel yang Anda nonaktifkan.

## Contoh
<a name="ql-reference.drop-table.examples"></a>

```
DROP TABLE VehicleRegistration
```

# Perintah FROM (INSERT, REMOVE, atau SET) di Amazon QLDB
<a name="ql-reference.from"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, pernyataan yang dimulai dengan `FROM` adalah ekstensi PartiQL yang memungkinkan Anda menyisipkan dan menghapus elemen tertentu dalam dokumen. Anda juga dapat menggunakan pernyataan ini untuk memperbarui elemen yang ada dalam dokumen, mirip dengan [UPDATE](ql-reference.update.md) perintah.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.from.syntax)
+ [Parameter](#ql-reference.from.parameters)
+ [Koleksi bersarang](#ql-reference.from.nested-collections)
+ [Nilai yang dikembalikan](#ql-reference.from.return)
+ [Contoh](#ql-reference.from.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.from.driver)

## Sintaks
<a name="ql-reference.from.syntax"></a>

**DARI-SISIPKAN**

Masukkan elemen baru dalam dokumen yang ada. Untuk menyisipkan dokumen tingkat atas baru ke dalam tabel, Anda harus menggunakan[INSERT](ql-reference.insert.md).

```
FROM table_name [ AS table_alias ] [ BY id_alias ]
[ WHERE condition ]
INSERT INTO element VALUE data [ AT key_name ]
```

**DARI-HAPUS**

Hapus elemen yang ada dalam dokumen, atau hapus seluruh dokumen tingkat atas. Yang terakhir secara semantik sama dengan sintaks tradisional[HAPUS](ql-reference.delete.md).

```
FROM table_name [ AS table_alias ] [ BY id_alias ]
[ WHERE condition ]
REMOVE element
```

**DARI-SET**

Perbarui satu atau lebih elemen dalam dokumen. Jika elemen tidak ada, itu dimasukkan. Ini secara semantik sama dengan sintaks tradisional[UPDATE](ql-reference.update.md).

```
FROM table_name [ AS table_alias ] [ BY id_alias ]
[ WHERE condition ]
SET element = data [, element = data, ... ]
```

## Parameter
<a name="ql-reference.from.parameters"></a>

***table\$1name***  
Nama tabel pengguna yang berisi data yang akan dimodifikasi. Pernyataan DHTML hanya didukung dalam [tampilan pengguna](working.userdata.md) default. Setiap pernyataan hanya dapat berjalan pada satu tabel.  
Dalam klausa ini, Anda juga dapat menyertakan satu atau lebih koleksi yang bersarang dalam tabel yang ditentukan. Untuk detail selengkapnya, lihat [Koleksi bersarang](#ql-reference.from.nested-collections).

**SEBAGAI *table\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang berkisar di atas tabel yang akan dimodifikasi. Semua alias tabel yang digunakan dalam`SET`,, `REMOVE``INSERT INTO`, atau `WHERE` klausa harus dinyatakan dalam klausa. `FROM` `AS`Kata kunci adalah opsional.

**OLEH *id\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang mengikat bidang `id` metadata setiap dokumen dalam kumpulan hasil. Alias harus dinyatakan dalam `FROM` klausa menggunakan kata kunci. `BY` Ini berguna ketika Anda ingin memfilter pada [ID dokumen](working.metadata.md) saat menanyakan tampilan pengguna default. Untuk informasi selengkapnya, lihat [Menggunakan klausa BY untuk menanyakan ID dokumen](working.metadata.by-clause.md).

**DIMANA *condition***  
Kriteria seleksi untuk dokumen yang akan dimodifikasi.  
Jika Anda menghilangkan `WHERE` klausa, maka semua dokumen dalam tabel dimodifikasi.

***element***  
Elemen dokumen yang akan dibuat atau dimodifikasi.

***data***  
Nilai baru untuk elemen.

**DI *key\$1name***  
Nama kunci yang akan ditambahkan dalam dokumen yang akan dimodifikasi. Anda harus menentukan yang sesuai `VALUE` bersama dengan nama kunci. Ini diperlukan untuk memasukkan nilai baru posisi `AT` tertentu dalam dokumen.

## Koleksi bersarang
<a name="ql-reference.from.nested-collections"></a>

Meskipun Anda dapat menjalankan pernyataan DMLpada satu tabel saja, Anda dapat menentukan koleksi bersarang dalam dokumen dalam tabel tersebut sebagai sumber tambahan. Setiap alias yang Anda deklarasikan untuk koleksi bersarang dapat digunakan dalam `WHERE` klausa dan,, atau klausa. `SET` `INSERT INTO` `REMOVE`

Misalnya, `FROM` sumber pernyataan berikut mencakup `VehicleRegistration` tabel dan `Owners.SecondaryOwners` struktur bersarang.

```
FROM VehicleRegistration r, @r.Owners.SecondaryOwners o
WHERE r.VIN = '1N4AL11D75C109151' AND o.PersonId = 'abc123'
SET o.PersonId = 'def456'
```

Contoh ini memperbarui elemen spesifik dari `SecondaryOwners` daftar yang memiliki a `PersonId` dari `'abc123'` dalam `VehicleRegistration` dokumen yang memiliki a `VIN` of`'1N4AL11D75C109151'`. Ekspresi ini memungkinkan Anda menentukan elemen daftar berdasarkan nilainya daripada indeksnya.

## Nilai yang dikembalikan
<a name="ql-reference.from.return"></a>

`documentId`— ID unik dari setiap dokumen yang Anda perbarui atau hapus.

## Contoh
<a name="ql-reference.from.examples"></a>

Memodifikasi elemen dalam dokumen. Jika elemen tidak ada, itu dimasukkan.

```
FROM Vehicle AS v
WHERE v.VIN = '1N4AL11D75C109151' AND v.Color = 'Silver'
SET v.Color = 'Shiny Gray'
```

Ubah atau masukkan elemen dan filter pada bidang `id` metadata dokumen yang ditetapkan sistem.

```
FROM Vehicle AS v BY v_id
WHERE v_id = 'documentId'
SET v.Color = 'Shiny Gray'
```

Ubah `PersonId` bidang elemen *pertama* dalam `Owners.SecondaryOwners` daftar dalam dokumen.

```
FROM VehicleRegistration AS r
WHERE r.VIN = '1N4AL11D75C109151'
SET r.Owners.SecondaryOwners[0].PersonId = 'abc123'
```

Hapus elemen yang ada dalam dokumen.

```
FROM Person AS p
WHERE p.GovId = '111-22-3333'
REMOVE p.Address
```

Hapus seluruh dokumen dari tabel.

```
FROM Person AS p
WHERE p.GovId = '111-22-3333'
REMOVE p
```

Hapus elemen *pertama* dari `Owners.SecondaryOwners` daftar dalam dokumen dalam `VehicleRegistration` tabel.

```
FROM VehicleRegistration AS r
WHERE r.VIN = '1N4AL11D75C109151'
REMOVE r.Owners.SecondaryOwners[0]
```

Masukkan `{'Mileage':26500}` sebagai pasangan nama-nilai tingkat atas dalam dokumen dalam tabel. `Vehicle`

```
FROM Vehicle AS v 
WHERE v.VIN = '1N4AL11D75C109151'
INSERT INTO v VALUE 26500 AT 'Mileage'
```

Tambahkan `{'PersonId':'abc123'}` sebagai pasangan nama-nilai di `Owners.SecondaryOwners` bidang dokumen dalam tabel. `VehicleRegistration` Perhatikan bahwa `Owners.SecondaryOwners` harus sudah ada dan harus berupa tipe data daftar agar pernyataan ini valid. Jika tidak, kata kunci `AT` diperlukan dalam `INSERT INTO` klausa.

```
FROM VehicleRegistration AS r 
WHERE r.VIN = '1N4AL11D75C109151'
INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : 'abc123' }
```

Masukkan `{'PersonId':'abc123'}` sebagai elemen *pertama* dalam `Owners.SecondaryOwners` daftar yang ada dalam dokumen.

```
FROM VehicleRegistration AS r 
WHERE r.VIN = '1N4AL11D75C109151'
INSERT INTO r.Owners.SecondaryOwners VALUE {'PersonId' : 'abc123'} AT 0
```

Tambahkan beberapa pasangan nama-nilai ke `Owners.SecondaryOwners` daftar yang ada dalam dokumen.

```
FROM VehicleRegistration AS r 
WHERE r.VIN = '1N4AL11D75C109151'
INSERT INTO r.Owners.SecondaryOwners << {'PersonId' : 'abc123'}, {'PersonId' : 'def456'} >>
```

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.from.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)

# Perintah INSERT di Amazon QLDB
<a name="ql-reference.insert"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan perintah untuk menambahkan `INSERT` satu atau beberapa dokumen Amazon Ion ke tabel.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.insert.syntax)
+ [Parameter](#ql-reference.insert.parameters)
+ [Nilai yang dikembalikan](#ql-reference.insert.return)
+ [Contoh](#ql-reference.insert.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.insert.driver)

## Sintaks
<a name="ql-reference.insert.syntax"></a>

Masukkan dokumen tunggal.

```
INSERT INTO table_name VALUE document
```

Masukkan beberapa dokumen.

```
INSERT INTO table_name << document, document, ... >>
```

## Parameter
<a name="ql-reference.insert.parameters"></a>

***table\$1name***  
Nama tabel pengguna tempat Anda ingin memasukkan data. Tabel harus sudah ada. Pernyataan DHTML hanya didukung dalam [tampilan pengguna](working.userdata.md) default.

***document***  
Dokumen [QLDB](ql-reference.docs.md) yang valid. Anda harus menentukan setidaknya satu dokumen. Beberapa dokumen harus dipisahkan dengan koma.  
Dokumen harus dilambangkan dengan kurawal kurawal (). `{...}`  
Setiap nama bidang dalam dokumen adalah simbol Ion peka huruf besar/kecil yang dapat dilambangkan dengan tanda kutip *tunggal* () di PartiQL. `'...'`  
Nilai string juga dilambangkan dengan tanda kutip *tunggal* () `'...'` di PartiQL.  
Setiap literal Ion dapat dilambangkan dengan backticks (). ``...``

**catatan**  
Tanda kurung sudut ganda (`<<...>>`) menunjukkan koleksi yang tidak berurutan (dikenal sebagai tas *di* PartiQL) dan hanya diperlukan jika Anda ingin memasukkan beberapa dokumen.

## Nilai yang dikembalikan
<a name="ql-reference.insert.return"></a>

`documentId`— ID unik dari setiap dokumen yang Anda masukkan.

## Contoh
<a name="ql-reference.insert.examples"></a>

Masukkan dokumen tunggal.

```
INSERT INTO VehicleRegistration VALUE
{
    'VIN' : 'KM8SRDHF6EU074761', --string
    'RegNum' : 1722, --integer
    'State' : 'WA',
    'City' : 'Kent',
    'PendingPenaltyTicketAmount' : 130.75, --decimal
    'Owners' : { --nested struct
        'PrimaryOwner' : { 'PersonId': '294jJ3YUoH1IEEm8GSabOs' },
        'SecondaryOwners' : [ --list of structs
            { 'PersonId' : '1nmeDdLo3AhGswBtyM1eYh' },
            { 'PersonId': 'IN7MvYtUjkp1GMZu0F6CG9' }
        ]
    },
    'ValidFromDate' : `2017-09-14T`, --Ion timestamp literal with day precision
    'ValidToDate' : `2020-06-25T`
}
```

Pernyataan ini mengembalikan ID unik dari dokumen yang Anda masukkan, sebagai berikut.

```
{
    documentId: "2kKuOPNB07D2iTPBrUTWGl"
}
```

Masukkan beberapa dokumen.

```
INSERT INTO Person << 
{
    'FirstName' : 'Raul',
    'LastName' : 'Lewis',
    'DOB' : `1963-08-19T`,
    'GovId' : 'LEWISR261LL',
    'GovIdType' : 'Driver License',
    'Address' : '1719 University Street, Seattle, WA, 98109'
},
{
    'FirstName' : 'Brent',
    'LastName' : 'Logan',
    'DOB' : `1967-07-03T`,
    'GovId' : 'LOGANB486CG',
    'GovIdType' : 'Driver License',
    'Address' : '43 Stockert Hollow Road, Everett, WA, 98203'
},
{
    'FirstName' : 'Alexis',
    'LastName' : 'Pena',
    'DOB' : `1974-02-10T`,
    'GovId' : '744 849 301',
    'GovIdType' : 'SSN',
    'Address' : '4058 Melrose Street, Spokane Valley, WA, 99206'
}
>>
```

Pernyataan ini mengembalikan ID unik dari setiap dokumen yang Anda masukkan, sebagai berikut.

```
{
    documentId: "6WXzLscsJ3bDWW97Dy8nyp"
},
{
    documentId: "35e0ToZyTGJ7LGvcwrkX65"
},
{
    documentId: "BVHPcH612o7JROQ4yP8jiH"
}
```

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.insert.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)

# Pilih perintah di Amazon QLDB
<a name="ql-reference.select"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan `SELECT` perintah untuk mengambil data dari satu atau beberapa tabel. Setiap `SELECT` kueri di QLDB diproses dalam transaksi dan tunduk pada batas [waktu](limits.md#limits.fixed) transaksi.

Urutan hasil tidak spesifik dan dapat bervariasi untuk setiap `SELECT` kueri. Anda tidak harus bergantung pada urutan hasil untuk kueri apa pun di QLDB.

Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Awas**  
Saat Anda menjalankan kueri di QLDB tanpa pencarian yang diindeks, itu akan memanggil pemindaian tabel lengkap. PartiQL mendukung kueri seperti itu karena SQL kompatibel. Namun, *jangan* jalankan pemindaian tabel untuk kasus penggunaan produksi di QLDB. Pemindaian tabel dapat menyebabkan masalah kinerja pada tabel besar, termasuk konflik konkurensi dan batas waktu transaksi.  
Untuk menghindari pemindaian tabel, Anda harus menjalankan pernyataan dengan klausa `WHERE` predikat menggunakan operator *kesetaraan* pada bidang yang diindeks atau ID dokumen; misalnya, atau. `WHERE indexedField = 123` `WHERE indexedField IN (456, 789)` Untuk informasi selengkapnya, lihat [Mengoptimalkan kinerja kueri](working.optimize.md).

**Topics**
+ [Sintaks](#ql-reference.select.syntax)
+ [Parameter](#ql-reference.select.parameters)
+ [Gabungan](#ql-reference.select.joins)
+ [Batasan kueri bersarang](#ql-reference.select.subqueries)
+ [Contoh](#ql-reference.select.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.select.driver)

## Sintaks
<a name="ql-reference.select.syntax"></a>

```
SELECT [ VALUE ] expression [ AS field_alias ] [, expression, ... ]
FROM source [ AS source_alias ] [ AT idx_alias ] [ BY id_alias ] [, source, ... ]
[ WHERE condition ]
```

## Parameter
<a name="ql-reference.select.parameters"></a>

**NILAI**  
Kualifikasi untuk ekspresi Anda yang membuat kueri mengembalikan nilai tipe data mentah, bukan nilai yang dibungkus dalam struktur Tuple.

***expression***  
Proyeksi yang dibentuk dari `*` wildcard atau daftar proyeksi dari satu atau lebih bidang dokumen dari set hasil. Ekspresi dapat terdiri dari panggilan ke [Fungsi PartiQL](ql-functions.md) atau bidang yang diubah oleh [Operator PartiQL](ql-operators.md).

**SEBAGAI *field\$1alias***  
(Opsional) Alias sementara yang ditentukan pengguna untuk bidang yang digunakan dalam kumpulan hasil akhir. `AS`Kata kunci adalah opsional.  
Jika Anda tidak menentukan alias untuk ekspresi yang bukan nama bidang sederhana, set hasil akan menerapkan nama default ke bidang tersebut.

**DARI *source***  
Sumber yang harus ditanyakan. Satu-satunya sumber yang saat ini didukung adalah nama tabel, [gabungan bagian dalam](#ql-reference.select.joins) antara tabel, `SELECT` kueri bersarang (tunduk pada[Batasan kueri bersarang](#ql-reference.select.subqueries)), dan panggilan [fungsi riwayat](working.history.md) untuk tabel.  
Anda harus menentukan setidaknya satu sumber. Beberapa sumber harus dipisahkan dengan koma.

**SEBAGAI *source\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang berkisar di atas sumber yang akan ditanyakan. Semua alias sumber yang digunakan dalam `WHERE` klausa `SELECT` OR harus dinyatakan dalam klausa. `FROM` `AS`Kata kunci adalah opsional.

**DI *idx\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang mengikat nomor indeks (ordinal) dari setiap elemen dalam daftar dari sumber. Alias harus dinyatakan dalam `FROM` klausa menggunakan kata kunci. `AT`

**OLEH *id\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang mengikat bidang `id` metadata setiap dokumen dalam kumpulan hasil. Alias harus dinyatakan dalam `FROM` klausa menggunakan kata kunci. `BY` Ini berguna ketika Anda ingin memproyeksikan atau memfilter pada [ID dokumen](working.metadata.md) saat menanyakan tampilan pengguna default. Untuk informasi selengkapnya, lihat [Menggunakan klausa BY untuk menanyakan ID dokumen](working.metadata.by-clause.md).

**DIMANA *condition***  
Kriteria pemilihan dan kriteria gabungan (jika berlaku) untuk kueri.

**catatan**  
Jika Anda menghilangkan `WHERE` klausa, maka semua dokumen dalam tabel diambil.

## Gabungan
<a name="ql-reference.select.joins"></a>

Hanya gabungan batin yang saat ini didukung. Anda dapat menulis kueri gabungan batin menggunakan `INNER JOIN` klausa eksplisit, sebagai berikut. Dalam sintaks ini, `JOIN` harus dipasangkan dengan`ON`, dan `INNER` kata kunci adalah opsional.

```
SELECT expression
FROM table1 AS t1 [ INNER ] JOIN table2 AS t2
ON t1.element = t2.element
```

Atau, Anda dapat menulis gabungan batin menggunakan sintaks implisit, sebagai berikut.

```
SELECT expression
FROM table1 AS t1, table2 AS t2
WHERE t1.element = t2.element
```

## Batasan kueri bersarang
<a name="ql-reference.select.subqueries"></a>

Anda dapat menulis kueri bersarang (subkueri) dalam `SELECT` ekspresi dan dalam sumber. `FROM` Pembatasan utama adalah bahwa hanya kueri terluar yang dapat mengakses lingkungan database global. Misalnya, Anda memiliki buku besar dengan tabel `VehicleRegistration` dan`Person`. Kueri bersarang berikut ini tidak valid karena bagian dalam `SELECT` mencoba mengakses`Person`.

```
SELECT r.VIN,
    (SELECT p.PersonId FROM Person AS p WHERE p.PersonId = r.Owners.PrimaryOwner.PersonId) AS PrimaryOwner
FROM VehicleRegistration AS r
```

Sedangkan kueri bersarang berikut ini valid.

```
SELECT r.VIN, (SELECT o.PrimaryOwner.PersonId FROM @r.Owners AS o) AS PrimaryOwner
FROM VehicleRegistration AS r
```

## Contoh
<a name="ql-reference.select.examples"></a>

Kueri berikut menunjukkan wildcard `SELECT` all dasar dengan klausa `WHERE` predikat standar yang menggunakan operator. `IN`

```
SELECT * FROM Vehicle
WHERE VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

Berikut ini menunjukkan `SELECT` proyeksi dengan filter string.

```
SELECT FirstName, LastName, Address 
FROM Person 
WHERE Address LIKE '%Seattle%'
AND GovId = 'LEWISR261LL'
```

Berikut ini menunjukkan subquery berkorelasi yang meratakan data bersarang. Perhatikan bahwa `@` karakter secara teknis opsional di sini. Tetapi secara eksplisit menunjukkan bahwa Anda menginginkan `Owners` struktur yang bersarang di dalamnya`VehicleRegistration`, bukan koleksi berbeda bernama `Owners` (jika ada). Untuk konteks lebih lanjut, lihat [Data bersarang](working.userdata.md#working.userdata.nested) di bagian *Bekerja dengan data dan riwayat*.

```
SELECT 
    r.VIN, 
    o.SecondaryOwners
FROM
    VehicleRegistration AS r, @r.Owners AS o
WHERE
    r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

Berikut ini menunjukkan subquery dalam `SELECT` daftar yang memproyeksikan data bersarang, dan gabungan internal implisit.

```
SELECT
    v.Make, 
    v.Model, 
    (SELECT VALUE o.PrimaryOwner.PersonId FROM @r.Owners AS o) AS PrimaryOwner
FROM 
    VehicleRegistration AS r, Vehicle AS v
WHERE 
    r.VIN = v.VIN AND r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

Berikut ini menunjukkan gabungan batin eksplisit.

```
SELECT
    v.Make, 
    v.Model, 
    r.Owners
FROM 
    VehicleRegistration AS r JOIN Vehicle AS v
ON
    r.VIN = v.VIN
WHERE
    r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

Berikut ini menunjukkan proyeksi bidang `id` metadata dokumen, menggunakan klausa. `BY`

```
SELECT
    r_id,
    r.VIN
FROM
    VehicleRegistration AS r BY r_id
WHERE
    r_id = 'documentId'
```

Berikut ini menggunakan `BY` klausa untuk bergabung dengan `DriversLicense` dan `Person` tabel pada `id` bidang mereka `PersonId` dan dokumen masing-masing.

```
SELECT * FROM DriversLicense AS d INNER JOIN Person AS p BY pid
ON d.PersonId = pid
WHERE pid = 'documentId'
```

Berikut ini menggunakan [Pandangan berkomitmen](working.metadata.md#working.metadata.committed) untuk bergabung dengan `DriversLicense` dan `Person` tabel pada `id` bidang mereka `PersonId` dan dokumen masing-masing.

```
SELECT * FROM DriversLicense AS d INNER JOIN _ql_committed_Person AS cp
ON d.PersonId = cp.metadata.id
WHERE cp.metadata.id = 'documentId'
```

Berikut ini mengembalikan `PersonId` dan indeks (ordinal) nomor setiap orang dalam `Owners.SecondaryOwners` daftar untuk dokumen dalam tabel`VehicleRegistration`.

```
SELECT s.PersonId, owner_idx
FROM VehicleRegistration AS r, @r.Owners.SecondaryOwners AS s AT owner_idx
WHERE r.VIN = 'KM8SRDHF6EU074761'
```

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.select.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)

# Perintah UPDATE di Amazon QLDB
<a name="ql-reference.update"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan `UPDATE` perintah untuk memodifikasi nilai satu atau lebih elemen dalam dokumen. Jika elemen tidak ada, itu dimasukkan.

Anda juga dapat menggunakan perintah ini untuk secara eksplisit menyisipkan dan menghapus elemen tertentu dalam dokumen, mirip [DARI (MASUKKAN, HAPUS, atau ATUR)](ql-reference.from.md) dengan pernyataan.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.update.syntax)
+ [Parameter](#ql-reference.update.parameters)
+ [Nilai yang dikembalikan](#ql-reference.update.return)
+ [Contoh](#ql-reference.update.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.update.driver)

## Sintaks
<a name="ql-reference.update.syntax"></a>

**PEMBARUAN-SET**

Perbarui satu atau lebih elemen dalam dokumen. Jika elemen tidak ada, itu dimasukkan. Ini secara semantik sama dengan pernyataan [FROM-SET](ql-reference.from.md).

```
UPDATE table_name [ AS table_alias ] [ BY id_alias ]
SET element = data [, element = data, ... ]
[ WHERE condition ]
```

**PEMBARUAN-SISIPKAN**

Masukkan elemen baru dalam dokumen yang ada. Untuk menyisipkan dokumen tingkat atas baru ke dalam tabel, Anda harus menggunakan[INSERT](ql-reference.insert.md).

```
UPDATE table_name [ AS table_alias ] [ BY id_alias ]
INSERT INTO element VALUE data [ AT key_name ]
[ WHERE condition ]
```

**UPDATE-HAPUS**

Hapus elemen yang ada dalam dokumen, atau hapus seluruh dokumen tingkat atas. Yang terakhir secara semantik sama dengan sintaks tradisional[HAPUS](ql-reference.delete.md).

```
UPDATE table_name [ AS table_alias ] [ BY id_alias ]
REMOVE element
[ WHERE condition ]
```

## Parameter
<a name="ql-reference.update.parameters"></a>

***table\$1name***  
Nama tabel pengguna yang berisi data yang akan dimodifikasi. Pernyataan DHTML hanya didukung dalam [tampilan pengguna](working.userdata.md) default. Setiap pernyataan hanya dapat berjalan pada satu tabel.

**SEBAGAI *table\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang berkisar di atas tabel yang akan diperbarui. `AS`Kata kunci adalah opsional.

**OLEH *id\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang mengikat bidang `id` metadata setiap dokumen dalam kumpulan hasil. Alias harus dinyatakan dalam `UPDATE` klausa menggunakan kata kunci. `BY` Ini berguna ketika Anda ingin memfilter pada [ID dokumen](working.metadata.md) saat menanyakan tampilan pengguna default. Untuk informasi selengkapnya, lihat [Menggunakan klausa BY untuk menanyakan ID dokumen](working.metadata.by-clause.md).

***element***  
Elemen dokumen yang akan dibuat atau dimodifikasi.

***data***  
Nilai baru untuk elemen.

**DI *key\$1name***  
Nama kunci yang akan ditambahkan dalam dokumen yang akan dimodifikasi. Anda harus menentukan yang sesuai `VALUE` bersama dengan nama kunci. Ini diperlukan untuk memasukkan nilai baru posisi `AT` tertentu dalam dokumen.

**DIMANA *condition***  
Kriteria seleksi untuk dokumen yang akan dimodifikasi.

**catatan**  
Jika Anda menghilangkan `WHERE` klausa, maka semua dokumen dalam tabel dimodifikasi.

## Nilai yang dikembalikan
<a name="ql-reference.update.return"></a>

`documentId`— ID unik dari setiap dokumen yang Anda perbarui.

## Contoh
<a name="ql-reference.update.examples"></a>

Perbarui bidang dalam dokumen. Jika bidang tidak ada, itu dimasukkan.

```
UPDATE Person AS p
SET p.LicenseNumber = 'HOLLOR123ZZ'
WHERE p.GovId = '111-22-3333'
```

Filter pada bidang `id` metadata dokumen yang ditetapkan sistem.

```
UPDATE Person AS p BY pid
SET p.LicenseNumber = 'HOLLOR123ZZ'
WHERE pid = 'documentId'
```

Timpa seluruh dokumen.

```
UPDATE Person AS p
SET p = {
    'FirstName' : 'Rosemarie',
    'LastName' : 'Holloway',
    'DOB' : `1977-06-18T`,
    'GovId' : '111-22-3333',
    'GovIdType' : 'Driver License',
    'Address' : '4637 Melrose Street, Ellensburg, WA, 98926'
}
WHERE p.GovId = '111-22-3333'
```

Ubah `PersonId` bidang elemen *pertama* dalam `Owners.SecondaryOwners` daftar dalam dokumen.

```
UPDATE VehicleRegistration AS r
SET r.Owners.SecondaryOwners[0].PersonId = 'abc123'
WHERE r.VIN = '1N4AL11D75C109151'
```

Masukkan `{'Mileage':26500}` sebagai pasangan nama-nilai tingkat atas dalam dokumen dalam tabel. `Vehicle`

```
UPDATE Vehicle AS v
INSERT INTO v VALUE 26500 AT 'Mileage'
WHERE v.VIN = '1N4AL11D75C109151'
```

Tambahkan `{'PersonId':'abc123'}` sebagai pasangan nama-nilai di `Owners.SecondaryOwners` bidang dokumen dalam tabel. `VehicleRegistration` Perhatikan bahwa `Owners.SecondaryOwners` harus sudah ada dan harus berupa tipe data daftar agar pernyataan ini valid. Jika tidak, kata kunci `AT` diperlukan dalam `INSERT INTO` klausa.

```
UPDATE VehicleRegistration AS r
INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : 'abc123' }
WHERE r.VIN = '1N4AL11D75C109151'
```

Masukkan `{'PersonId':'abc123'}` sebagai elemen *pertama* dalam `Owners.SecondaryOwners` daftar yang ada dalam dokumen.

```
UPDATE VehicleRegistration AS r
INSERT INTO r.Owners.SecondaryOwners VALUE {'PersonId' : 'abc123'} AT 0
WHERE r.VIN = '1N4AL11D75C109151'
```

Tambahkan beberapa pasangan nama-nilai ke `Owners.SecondaryOwners` daftar yang ada dalam dokumen.

```
UPDATE VehicleRegistration AS r
INSERT INTO r.Owners.SecondaryOwners << {'PersonId' : 'abc123'}, {'PersonId' : 'def456'} >>
WHERE r.VIN = '1N4AL11D75C109151'
```

Hapus elemen yang ada dalam dokumen.

```
UPDATE Person AS p
REMOVE p.Address
WHERE p.GovId = '111-22-3333'
```

Hapus seluruh dokumen dari tabel.

```
UPDATE Person AS p
REMOVE p
WHERE p.GovId = '111-22-3333'
```

Hapus elemen *pertama* dari `Owners.SecondaryOwners` daftar dalam dokumen dalam `VehicleRegistration` tabel.

```
UPDATE VehicleRegistration AS r
REMOVE r.Owners.SecondaryOwners[0]
WHERE r.VIN = '1N4AL11D75C109151'
```

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.update.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)

# Perintah UNDROP TABLE di Amazon QLDB
<a name="ql-reference.undrop-table"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, gunakan perintah untuk mengaktifkan kembali tabel `UNDROP TABLE` yang sebelumnya Anda jatuhkan (yaitu, dinonaktifkan). Menonaktifkan atau mengaktifkan kembali tabel tidak berpengaruh pada dokumen atau indeksnya.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.undrop-table.syntax)
+ [Parameter](#ql-reference.undrop-table.parameters)
+ [Nilai yang dikembalikan](#ql-reference.undrop-table.return)
+ [Contoh](#ql-reference.undrop-table.examples)

## Sintaks
<a name="ql-reference.undrop-table.syntax"></a>

```
UNDROP TABLE "tableId"
```

## Parameter
<a name="ql-reference.undrop-table.parameters"></a>

**"*tableId*"**  
ID unik dari tabel untuk mengaktifkan kembali, dilambangkan dengan tanda kutip ganda.  
Tabel harus sebelumnya dijatuhkan, artinya ada di [tabel katalog sistem](working.catalog.md) `information_schema.user_tables` dan memiliki status`INACTIVE`. Juga tidak boleh ada tabel aktif yang ada dengan nama yang sama.

## Nilai yang dikembalikan
<a name="ql-reference.undrop-table.return"></a>

`tableId`— ID unik dari tabel yang Anda aktifkan kembali.

## Contoh
<a name="ql-reference.undrop-table.examples"></a>

```
UNDROP TABLE "5PLf9SXwndd63lPaSIa0O6"
```