Résumé :dans ce tutoriel, vous apprendrez pas à pas comment renommer une colonne d'une table en SQLite.
Introduction à l'instruction SQLite ALTER TABLE RENAME COLUMN
SQLite a ajouté le support pour renommer la colonne depuis la version 3.25.0 en utilisant ALTER TABLE
déclaration avec la syntaxe suivante :
ALTER TABLE table_name
RENAME COLUMN current_name TO new_name;
Code language: SQL (Structured Query Language) (sql)
Dans cette syntaxe :
- Tout d'abord, spécifiez le nom de la table après
ALTER TABLE
mots-clés. - Deuxièmement, spécifiez le nom de la colonne que vous souhaitez renommer après le
RENAME COLUMN
mots-clés et le nouveau nom après leTO
mot-clé.
Exemple SQLite ALTER TABLE RENAME COLUMN
Prenons un exemple d'utilisation de la ALTER TABLE RENAME COLUMN
déclaration.
Tout d'abord, créez une nouvelle table appelée 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)
Deuxièmement, insérez une nouvelle ligne dans les Locations
table en utilisant le INSERT
déclaration :
INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');
Code language: SQL (Structured Query Language) (sql)
Troisièmement, renommez la colonne Address
à Street
en utilisant la commande ALTER TABLE RENAME COLUMN
déclaration :
ALTER TABLE Locations
RENAME COLUMN Address TO Street;
Code language: SQL (Structured Query Language) (sql)
Quatrièmement, interrogez les données des Locations
tableau :
SELECT * FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Sortie :
LocationId Street City State Country
---------- --------------------- ---------- ---------- ----------
1 3960 North 1st Street San Jose CA USA
Code language: Shell Session (shell)
Enfin, affichez le schéma des Locations
tableau :
.schema Locations
Code language: Shell Session (shell)
Sortie :
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)
L'ancienne méthode pour renommer une colonne
SQLite ne supportait pas la ALTER TABLE RENAME COLUMN
syntaxe avant la version 3.25.0.
Si vous utilisez SQLite avec une version antérieure à 3.25.0 et que vous n'avez pas pu mettre à niveau, vous devez suivre ces étapes pour renommer une colonne :
- Tout d'abord, démarrez une transaction.
- Deuxièmement, créez une nouvelle table dont la structure est la même que celle d'origine, à l'exception de la colonne que vous souhaitez renommer.
- Troisièmement, copiez les données de la table d'origine vers la nouvelle table.
- Quatrièmement, supprimez la table d'origine.
- Cinquièmement, renommez la nouvelle table en table d'origine.
- Enfin, validez la transaction.
Exemple de changement de nom de colonne
L'instruction suivante recrée les Locations
tableau :
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)
Et ce INSERT
instruction insère une nouvelle ligne dans les Locations
tableau :
INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');
Code language: SQL (Structured Query Language) (sql)
Supposons que vous souhaitiez modifier la colonne Address
à Street
.
Tout d'abord, démarrez une nouvelle transaction :
BEGIN TRANSACTION;
Code language: SQL (Structured Query Language) (sql)
Deuxièmement, créez une nouvelle table appelée LocationsTemp
avec la même structure que les Locations
table sauf pour l'Address
colonne :
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)
Troisièmement, copiez les données de la table Locations
à LocationsTemp
:
INSERT INTO LocationsTemp(Street,City,State,Country)
SELECT Address,City,State,Country
FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Quatrièmement, supprimez les Locations
tableau :
DROP TABLE Locations;
Code language: SQL (Structured Query Language) (sql)
Cinquièmement, renommez la table LocationsTemp
vers Locations
:
ALTER TABLE LocationsTemp
RENAME TO Locations;
Code language: SQL (Structured Query Language) (sql)
Enfin, validez la transaction :
COMMIT;
Code language: SQL (Structured Query Language) (sql)
Si vous interrogez les Locations
tableau, vous verrez que la colonne Address
a été renommé Street
:
SELECT * FROM Locations;
Code language: SQL (Structured Query Language) (sql)
Voici le résultat :
Résumé
- Utilisez la
ALTER TABLE RENAME COLUMN
pour renommer une colonne dans une table. - Si vous utilisez SQLite 3.25.0, vous devez le mettre à niveau et utiliser la nouvelle syntaxe. Sinon, vous devez suivre les étapes décrites ci-dessus pour renommer une colonne.