SQLite Buat, Ubah, Letakkan Tabel dengan Contoh
โก Ringkasan Cerdas
SQLite Pengelolaan tabel bergantung pada tiga perintah definisi data, yaitu CREATE TABLE untuk mendefinisikan tabel, ALTER TABLE untuk mengganti namanya atau menambah dan mengubah kolom, dan DROP TABLE untuk menghapusnya sepenuhnya dari basis data.

Bagian-bagian di bawah ini menunjukkan cara membuat tabel, memodifikasi strukturnya, dan menghapus tabel. SQLite3 dengan contoh, yang mencakup perintah CREATE TABLE, ALTER TABLE, dan DROP TABLE.
SQLite Buat tabel
Sintaksis
Di bawah ini adalah sintaks pernyataan CREATE TABLE.
CREATE TABLE table_name( column1 datatype, column1 datatype );
Untuk membuat tabel, Anda harus menggunakan perintah โCREATE TABLEโ sebagai berikut:
CREATE TABLE guru99 ( Id Int, Name Varchar );
Di dalam dua tanda kurung setelah nama tabel, Anda menentukan kolom-kolom tabel. Setiap kolom harus memiliki properti berikut:
- Sebuah nama, nama kolomnya harus unik di antara kolom-kolom tabel.
- Tipe data โ tipe data kolom.
- Batasan kolom opsional seperti yang akan kami jelaskan di bagian selanjutnya dalam tutorial ini.
SQLite BUAT TABEL JIKA BELUM ADA
Ketika sebuah skrip dijalankan lebih dari sekali, pernyataan CREATE TABLE biasa akan gagal jika tabel sudah ada dan berhenti dengan kesalahan. SQLite Hal ini diatasi dengan klausa IF NOT EXISTS opsional, yang hanya membuat tabel jika belum ada dan tidak melakukan apa pun jika sudah ada.
CREATE TABLE IF NOT EXISTS guru99 ( Id Int, Name Varchar );
Pernyataan di atas tidak pernah menimbulkan kesalahan "tabel sudah ada", sehingga aman untuk tetap diletakkan di bagian atas skrip pengaturan atau migrasi.
Ide yang sama berlaku sebaliknya saat Anda menghapus tabel. Menambahkan IF EXISTS ke DROP TABLE menghindari kesalahan ketika tabel sudah hilang:
DROP TABLE IF EXISTS guru99;
Kedua klausa tersebut umum ditemukan dalam skrip otomatis, karena memungkinkan file yang sama dijalankan berulang kali tanpa pembersihan manual di antara setiap eksekusi.
Jatuhkan meja
Untuk menghapus tabel, gunakan perintah โDROP TABLEโ diikuti dengan nama tabel sebagai berikut:
DROP TABLE guru99;
Ubah tabel
Anda dapat menggunakan perintah โALTER TABLEโ untuk mengganti nama tabel sebagai berikut:
ALTER TABLE guru99 RENAME TO guru100;
Untuk memverifikasi bahwa nama tabel telah diubah, Anda dapat menggunakan perintah โ.tablesโ untuk menampilkan daftar tabel, dan nama tabel seharusnya sekarang telah berubah seperti berikut:
Seperti yang Anda lihat, nama tabel โguru99โ diubah menjadi โguru100โ setelah perintah โalter tableโ.
SQLite tambahkan kolom- Menggunakan Perintah ALTER TABLE
Anda juga dapat menggunakan perintah โALTER TABLEโ untuk menambahkan kolom:
ALTER TABLE guru100 ADD COLUMN Age INT;
Ini akan mengubah tabel โguru100โ dan menambahkan kolom baru bernama Usia ke dalamnya.
Jika Anda tidak melihat output apa pun, ini berarti pernyataan tersebut berhasil, dan kolom telah ditambahkan. Tidak adanya output berarti kursor akan berada setelah โsqlite>โ tanpa teks apa pun setelahnya seperti ini:
Namun, untuk memverifikasi bahwa kolom tersebut telah ditambahkan, kita dapat menggunakan perintah โ.schema guru100โ. Perintah ini akan menampilkan definisi tabel, dan Anda akan melihat kolom baru yang baru saja kita tambahkan:
SQLite ALTER TABLE: Mengganti Nama dan Menghapus Kolom
Selain menambahkan kolom, versi modern dari SQLite Anda juga dapat mengganti nama satu kolom dan menghapus satu kolom. Penggantian nama kolom telah tersedia sejak SQLite 3.25, dan ini memperbarui nama di dalam definisi tabel serta di setiap indeks, pemicu, dan tampilan yang merujuk pada kolom tersebut.
ALTER TABLE guru100 RENAME COLUMN Name TO FullName;
Untuk menghapus kolom, SQLite 3.35 dan versi selanjutnya mendukung klausul DROP COLUMN langsung:
ALTER TABLE guru100 DROP COLUMN Age;
Kolom tidak dapat dihapus jika merupakan bagian dari kunci utama, batasan unik, atau indeks. Pada versi yang lebih lama SQLite Pada versi yang tidak memiliki perintah DROP COLUMN, solusi klasik adalah membuat tabel baru dengan kolom yang Anda inginkan, menyalin baris-barisnya, menghapus tabel lama, dan terakhir mengganti nama tabel baru tersebut.
Cara Menyalin Tabel di SQLite Menggunakan CREATE TABLE AS SELECT
Terkadang Anda memerlukan salinan tabel, baik sebagai cadangan sebelum perubahan yang berisiko atau sebagai titik awal untuk tabel baru. SQLite Ini dibangun dalam satu langkah dengan CREATE TABLE AS SELECT, yang membuat tabel baru yang kolom-kolomnya berasal dari kueri dan mengisinya dengan baris-baris yang dikembalikan oleh kueri tersebut.
CREATE TABLE guru100_backup AS SELECT * FROM guru100;
Tabel baru โguru100_backupโ menerima kolom dan setiap baris yang sama dari โguru100โ. Untuk menyalin hanya beberapa baris, tambahkan klausa WHERE ke SELECT:
CREATE TABLE known_ages AS SELECT * FROM guru100 WHERE Age IS NOT NULL;
Satu hal yang perlu diingat adalah bahwa CREATE TABLE AS SELECT menyalin nama kolom, tipe data, dan data, tetapi tidak menyalin kunci utama, batasan lain, atau indeks. Anda perlu menambahkan hal-hal tersebut ke tabel baru sendiri jika salinan tersebut harus menerapkan aturan yang sama seperti tabel aslinya.
SQLite Masukkan nilai ke dalam tabel
Untuk memasukkan nilai ke dalam tabel, kita menggunakan pernyataan โINSERT INTOโ sebagai berikut:
INSERT INTO Tablename(colname1, colname2, โฆ.) VALUES(valu1, value2, โฆ.);
Anda dapat menghilangkan nama kolom setelah nama tabel dan menuliskannya sebagai berikut:
INSERT INTO Tablename VALUES(value1, value2, โฆ.);
Dalam kasus seperti ini, saat Anda menghilangkan nama kolom dari tabel, jumlah nilai yang dimasukkan harus sama persis dengan jumlah kolom tabel. Kemudian, setiap nilai akan dimasukkan ke dalam kolom korespondensi. Misalnya, untuk pernyataan insert berikut:
INSERT INTO guru100 VALUES(1, 'Mike', 25);
Hasil dari pernyataan ini akan menjadi sebagai berikut:
- Nilai 1 akan dimasukkan ke dalam kolom โidโ.
- Nilai 'Mike' akan dimasukkan ke dalam kolom โNamaโ, dan
- Nilai 25 akan dimasukkan ke dalam kolom โUsiaโ.
MASUKKANโฆ Pernyataan NILAI DEFAULT
Anda dapat mengisi tabel dengan nilai default untuk kolom sekaligus sebagai berikut:
INSERT INTO Tablename DEFAULT VALUES;
Jika suatu kolom tidak mengizinkan nilai null maupun nilai default, Anda akan mendapatkan kesalahan "NOT NULL constraint failed" untuk kolom tersebut. Seperti berikut:





