Ringkasan :dalam tutorial ini, Anda akan mempelajari langkah demi langkah cara mengganti nama kolom tabel di SQLite.
Pengantar pernyataan SQLite ALTER TABLE RENAME COLUMN
SQLite menambahkan dukungan untuk mengganti nama kolom sejak versi 3.25.0 menggunakan ALTER TABLE
pernyataan dengan sintaks berikut:
ALTER TABLE table_name
RENAME COLUMN current_name TO new_name;
Code language: SQL (Structured Query Language) (sql)
Dalam sintaks ini:
- Pertama, tentukan nama tabel setelah
ALTER TABLE
kata kunci. - Kedua, tentukan nama kolom yang ingin Anda rename setelah
RENAME COLUMN
kata kunci dan nama baru setelahTO
kata kunci.
contoh SQLite ALTER TABLE RENAME COLUMN
Mari kita ambil contoh penggunaan ALTER TABLE RENAME COLUMN
pernyataan.
Pertama, buat tabel baru bernama Locations
:
CREATE TABLE Locations(
LocationId INTEGER PRIMARY KEY,
Address TEXT NOT NULL,
City TEXT NOT NULL,
State TEXT NOT NULL,
Country TEXT NOT NULL
);
Code language: SQL (Structured Query Language) (sql)
Kedua, masukkan baris baru ke dalam Locations
tabel dengan menggunakan INSERT
pernyataan:
INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');
Code language: SQL (Structured Query Language) (sql)
Ketiga, rename kolom Address
ke Street
dengan menggunakan ALTER TABLE RENAME COLUMN
pernyataan:
ALTER TABLE Locations
RENAME COLUMN Address TO Street;
Code language: SQL (Structured Query Language) (sql)
Keempat, kueri data dari Locations
tabel:
SELECT * FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Keluaran:
LocationId Street City State Country
---------- --------------------- ---------- ---------- ----------
1 3960 North 1st Street San Jose CA USA
Code language: Shell Session (shell)
Terakhir, tampilkan skema Locations
tabel:
.schema Locations
Code language: Shell Session (shell)
Keluaran:
CREATE TABLE Locations(
LocationId INTEGER PRIMARY KEY,
Street TEXT NOT NULL,
City TEXT NOT NULL,
State TEXT NOT NULL,
Country TEXT NOT NULL
);
Code language: SQL (Structured Query Language) (sql)
Cara lama mengganti nama kolom
SQLite tidak mendukung ALTER TABLE RENAME COLUMN
sintaks sebelum versi 3.25.0.
Jika Anda menggunakan SQLite dengan versi lebih rendah dari 3.25.0 dan tidak dapat memutakhirkan, Anda harus mengikuti langkah-langkah berikut untuk mengganti nama kolom:
- Pertama, mulai transaksi.
- Kedua, buat tabel baru yang strukturnya sama dengan tabel aslinya kecuali kolom yang ingin Anda ganti namanya.
- Ketiga, salin data dari tabel asli ke tabel baru.
- Keempat, lepaskan tabel aslinya.
- Kelima, ganti nama tabel baru menjadi tabel aslinya.
- Akhirnya, lakukan transaksi.
Mengganti nama contoh kolom
Pernyataan berikut membuat ulang Locations
tabel:
DROP TABLE IF EXISTS Locations;
CREATE TABLE Locations(
LocationId INTEGER PRIMARY KEY,
Address TEXT NOT NULL,
State TEXT NOT NULL,
City TEXT NOT NULL,
Country TEXT NOT NULL
);
Code language: SQL (Structured Query Language) (sql)
Dan ini INSERT
pernyataan menyisipkan baris baru ke dalam Locations
tabel:
INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');
Code language: SQL (Structured Query Language) (sql)
Misalkan Anda ingin mengubah kolom Address
ke Street
.
Pertama, mulai transaksi baru:
BEGIN TRANSACTION;
Code language: SQL (Structured Query Language) (sql)
Kedua, buat tabel baru bernama LocationsTemp
dengan struktur yang sama dengan Locations
tabel kecuali Address
kolom:
CREATE TABLE LocationsTemp(
LocationId INTEGER PRIMARY KEY,
Street TEXT NOT NULL,
City TEXT NOT NULL,
State TEXT NOT NULL,
Country TEXT NOT NULL
);
Code language: SQL (Structured Query Language) (sql)
Ketiga, salin data dari tabel Locations
ke LocationsTemp
:
INSERT INTO LocationsTemp(Street,City,State,Country)
SELECT Address,City,State,Country
FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Keempat, letakkan Locations
tabel:
DROP TABLE Locations;
Code language: SQL (Structured Query Language) (sql)
Kelima, ganti nama tabel LocationsTemp
ke Locations
:
ALTER TABLE LocationsTemp
RENAME TO Locations;
Code language: SQL (Structured Query Language) (sql)
Terakhir, lakukan transaksi:
COMMIT;
Code language: SQL (Structured Query Language) (sql)
Jika Anda menanyakan Locations
tabel, Anda akan melihat bahwa kolom Address
telah diubah namanya menjadi Street
:
SELECT * FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Berikut adalah outputnya:
Ringkasan
- Gunakan
ALTER TABLE RENAME COLUMN
untuk mengganti nama kolom dalam tabel. - Jika Anda menggunakan SQLite 3.25.0, Anda harus memutakhirkannya dan menggunakan sintaks baru. Jika tidak, Anda harus mengikuti langkah-langkah yang dijelaskan di atas untuk mengganti nama kolom.