Samenvatting :in deze tutorial leer je stap voor stap hoe je een kolom van een tabel hernoemt in SQLite.
Inleiding tot SQLite ALTER TABLE RENAME COLUMN-instructie
SQLite heeft ondersteuning toegevoegd voor het hernoemen van kolommen sinds versie 3.25.0 met behulp van de ALTER TABLE
statement met de volgende syntaxis:
ALTER TABLE table_name
RENAME COLUMN current_name TO new_name;
Code language: SQL (Structured Query Language) (sql)
In deze syntaxis:
- Geef eerst de naam van de tabel op na de
ALTER TABLE
trefwoorden. - Ten tweede, specificeer de naam van de kolom die u wilt hernoemen na de
RENAME COLUMN
trefwoorden en de nieuwe naam achter deTO
zoekwoord.
SQLite ALTER TABLE RENAME COLUMN voorbeeld
Laten we een voorbeeld nemen van het gebruik van de ALTER TABLE RENAME COLUMN
verklaring.
Maak eerst een nieuwe tabel met de naam 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)
Ten tweede, voeg een nieuwe rij toe in de Locations
tabel met behulp van de INSERT
verklaring:
INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');
Code language: SQL (Structured Query Language) (sql)
Ten derde, hernoem de kolom Address
naar Street
door gebruik te maken van de ALTER TABLE RENAME COLUMN
verklaring:
ALTER TABLE Locations
RENAME COLUMN Address TO Street;
Code language: SQL (Structured Query Language) (sql)
Ten vierde, gegevens opvragen van de Locations
tafel:
SELECT * FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Uitgang:
LocationId Street City State Country
---------- --------------------- ---------- ---------- ----------
1 3960 North 1st Street San Jose CA USA
Code language: Shell Session (shell)
Toon tenslotte het schema van de Locations
tafel:
.schema Locations
Code language: Shell Session (shell)
Uitgang:
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)
De oude manier om een kolom te hernoemen
SQLite ondersteunde de ALTER TABLE RENAME COLUMN
. niet syntaxis vóór versie 3.25.0.
Als je de SQLite gebruikt met een versie lager dan 3.25.0 en niet kon upgraden, volg dan deze stappen om een kolom te hernoemen:
- Start eerst een transactie.
- Ten tweede, maak een nieuwe tabel waarvan de structuur hetzelfde is als de originele, behalve de kolom die u wilt hernoemen.
- Ten derde, kopieer gegevens van de originele tabel naar de nieuwe tabel.
- Ten vierde, laat de originele tabel vallen.
- Ten vijfde, hernoem de nieuwe tafel naar de originele tafel.
- Leg ten slotte de transactie vast.
Naam kolom voorbeeld
De volgende verklaring herschept de Locations
tafel:
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)
En deze INSERT
statement voegt een nieuwe rij in de Locations
tafel:
INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');
Code language: SQL (Structured Query Language) (sql)
Stel dat u de kolom Address
. wilt wijzigen naar Street
.
Start eerst een nieuwe transactie:
BEGIN TRANSACTION;
Code language: SQL (Structured Query Language) (sql)
Maak vervolgens een nieuwe tabel met de naam LocationsTemp
met dezelfde structuur als de Locations
tabel behalve het 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)
Ten derde, kopieer gegevens uit de tabel Locations
naar LocationsTemp
:
INSERT INTO LocationsTemp(Street,City,State,Country)
SELECT Address,City,State,Country
FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Ten vierde, laat de Locations
. vallen tafel:
DROP TABLE Locations;
Code language: SQL (Structured Query Language) (sql)
Ten vijfde, hernoem de tabel LocationsTemp
naar Locations
:
ALTER TABLE LocationsTemp
RENAME TO Locations;
Code language: SQL (Structured Query Language) (sql)
Leg ten slotte de transactie vast:
COMMIT;
Code language: SQL (Structured Query Language) (sql)
Als u de Locations
. opvraagt tabel, ziet u dat de kolom Address
is hernoemd naar Street
:
SELECT * FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Hier is de uitvoer:
Samenvatting
- Gebruik de
ALTER TABLE RENAME COLUMN
om een kolom in een tabel te hernoemen. - Als je SQLite 3.25.0 gebruikt, moet je het upgraden en de nieuwe syntaxis gebruiken. Anders moet u de hierboven beschreven stappen volgen om de naam van een kolom te wijzigen.