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

SQLite Ganti Nama Kolom

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 setelah TO 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          USACode language: Shell Session (shell)

Terakhir, tampilkan skema Locations tabel:

.schema LocationsCode 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite Mengganti Nama PRINTF() menjadi FORMAT()

  2. Operator

  3. Bagaimana SQLite Quote() Bekerja

  4. Pilihan terbaik untuk menyimpan nama pengguna dan kata sandi di aplikasi android

  5. Cara membaca nomor versi dari file database di Android yang ditempatkan di folder aset