SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Cara memperbarui data yang ada dengan SQLite


Pengantar

Setelah sepotong data memasuki database, sangat tidak mungkin data itu tetap statis sepanjang waktu yang dihabiskan dalam sebuah tabel. Data diperbarui untuk mencerminkan perubahan dalam sistem yang diwakilinya agar tetap relevan dan mutakhir. SQLite memungkinkan Anda untuk mengubah nilai dalam catatan menggunakan UPDATE Perintah SQL.

UPDATE fungsinya mirip dengan INSERT (di mana Anda menentukan kolom dan nilai yang diinginkan) dan DELETE (di mana Anda memberikan kriteria yang diperlukan untuk menargetkan catatan tertentu). Anda juga dapat mengubah data baik satu per satu atau secara massal. Pada artikel ini, kita akan mempelajari cara menggunakan UPDATE efektif untuk mengelola data Anda yang sudah disimpan dalam tabel.



Menggunakan UPDATE untuk mengubah data

Sintaks dasar UPDATE perintah terlihat seperti ini:

UPDATE my_tableSET        column1 = value1,        column2 = value2,WHERE        id = 1;

Struktur dasar melibatkan tiga klausa terpisah:

  • menentukan tabel untuk ditindaklanjuti
  • menyediakan kolom yang ingin Anda perbarui serta nilai barunya
  • mendefinisikan kriteria apa pun yang SQLite perlu evaluasi untuk menentukan record mana yang cocok

Meskipun Anda dapat menetapkan nilai secara langsung ke kolom seperti yang kami lakukan di atas, Anda juga dapat menggunakan sintaks daftar kolom, seperti yang sering terlihat di INSERT perintah.

Misalnya, kita dapat mengubah contoh di atas menjadi seperti berikut:

UPDATE my_tableSET (column1, column2) =        (value1, value2)WHERE        id = 1;


Pengembalian data yang dimodifikasi oleh UPDATE perintah

Secara default, SQLite tidak menunjukkan jumlah baris yang dipengaruhi oleh UPDATE penyataan. Namun, SQLite menambahkan RETURNING klausa yang dimodelkan setelah PostgreSQL dalam versi 3.35.0 . Klausa ini menyebabkan perintah mengembalikan semua atau sebagian catatan yang telah diubah.

Anda dapat menggunakan tanda bintang * simbol untuk mengembalikan semua kolom dari baris yang dimodifikasi seperti SELECT pernyataan:

UPDATE my_tableSET        column1 = value1,        column2 = value2,WHERE        id = 1RETURNING *;

Selain itu, Anda juga dapat menentukan kolom persis yang ingin Anda tampilkan dengan/tanpa alias menggunakan AS :

UPDATE my_tableSET        column1 = value1,        column2 = value2WHERE        id = 1RETURNING column1 AS 'first column';


Memperbarui catatan berdasarkan nilai di tabel lain

Memperbarui data berdasarkan data eksternal baru adalah proses yang relatif efisien. Anda hanya perlu menyediakan tabel, kolom, nilai baru, dan kriteria penargetan.

Namun, dengan SQLite Anda juga dapat menggunakan UPDATE untuk memperbarui nilai tabel secara kondisional berdasarkan informasi di tabel lain dalam database Anda. Sintaks dasarnya akan terlihat seperti ini:

UPDATE table1SET table1.column1 =(    SELECT table2.column1    FROM table2    WHERE table1.column2 = table2.column2);

Di sini, kami langsung memperbarui nilai column1 di table1 menjadi kembalinya SELECT subquery pada table2 , tetapi hanya di baris di mana column2 dari table1 cocok dengan column2 dari table2 . FROM klausa menunjukkan koneksi antara dua tabel dan WHERE menentukan kondisinya.

Sebagai contoh, misalkan kita memiliki dua tabel bernama book dan author .

CREATE TABLE author (  id INTEGER PRIMARY KEY,   first_name TEXT,   last_name TEXT,   last_publication TEXT);CREATE TABLE book (    id INTEGER PRIMARY KEY,    author_id INT REFERENCES author.id    title TEXT,    publication_year INTEGER);INSERT INTO author (first_name, last_name)VALUES        ('Leo', 'Tolstoy'),        ('James', 'Joyce'),        ('Jean-Paul', 'Sarte');        INSERT INTO book (author_id, title, publication_year)VALUES        (1, 'Anna Karenina', '1877'),        (1, 'War and Peace', '1867'),        (2, 'Ulysses', '1920'),        (2, 'Dubliners', '1914'),        (3, 'Nausea', '1938');

Kedua tabel ini memiliki relasi dengan book.author_id referensi author.id . Saat ini last_publication untuk author tabel adalah NULL . Kami dapat mengisinya dengan buku terbaru penulis yang diterbitkan di book kami tabel menggunakan FROM dan WHERE klausa untuk menyatukan dua tabel.

Di sini, kami menunjukkan contoh memperbarui last_publication :

UPDATE author SET last_publication=(  SELECT title   FROM book   WHERE author_id = author.id  ORDER BY author_id, publication_year DESC);

Jika Anda menanyakan author tabel sekarang, ini akan menunjukkan kepada Anda judul publikasi terbaru mereka di database:

SELECT * FROM author;
+------------+------------+-----------+--------------------------+      id       first_name  last_name      last_publication     +-------------+------------+-----------+--------------------------+       1       Leo          Tolstoy        Anna Karenina              2       James         Joyce             Ulysses                3       Jean-Paul     Sarte             Nausea          +-------------+------------+-----------+--------------------------+


Kesimpulan

Dalam panduan ini, kami melihat cara dasar Anda dapat mengubah data yang ada di dalam tabel menggunakan UPDATE memerintah. Eksekusi konsep dasar ini memungkinkan Anda untuk menentukan kriteria yang tepat yang diperlukan untuk mengidentifikasi baris yang ada dalam tabel, memperbarui nama kolom dengan nilai, dan secara opsional mengembalikan baris yang terpengaruh dengan RETURNING . UPDATE perintah sangat penting untuk mengelola data Anda setelah penyisipan awal ke database Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan konfigurasi di android

  2. Bagaimana mengkonversi lembar excel menjadi database sqlite di android

  3. Android sqlite, batasi jumlah baris dalam database

  4. id baris sqlite tidak cocok dengan tampilan daftar - ANDROID

  5. kesalahan kamar:Kolom yang dikembalikan oleh kueri tidak memiliki nama bidang bidang