SQLite
 sql >> база данни >  >> RDS >> SQLite

Колона за преименуване на SQLite

Резюме :в този урок ще научите стъпка по стъпка как да преименувате колона от таблица в SQLite.

Въведение в SQLite ALTER TABLE RENAME COLUMN израз

SQLite добави поддръжка за преименуване на колона от версия 3.25.0 с помощта на ALTER TABLE изявление със следния синтаксис:

ALTER TABLE table_name
RENAME COLUMN current_name TO new_name;Code language: SQL (Structured Query Language) (sql)

В този синтаксис:

  • Първо посочете името на таблицата след ALTER TABLE ключови думи.
  • Второ, посочете името на колоната, която искате да преименувате след RENAME COLUMN ключови думи и новото име след TO ключова дума.

Пример за ПРЕИМЕНУВАНЕ НА КОЛОНА ЗА ПРОМЕНЯНЕ НА ТАБЛИЦА SQLite

Нека вземем пример за използване на ALTER TABLE RENAME COLUMN изявление.

Първо създайте нова таблица, наречена 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)

Второ, поставете нов ред в Locations таблица с помощта на INSERT изявление:

INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');Code language: SQL (Structured Query Language) (sql)

Трето, преименувайте колоната Address до Street с помощта на ALTER TABLE RENAME COLUMN изявление:

ALTER TABLE Locations
RENAME COLUMN Address TO Street;Code language: SQL (Structured Query Language) (sql)

Четвърто, заявете данни от Locations таблица:

SELECT * FROM Locations;Code language: SQL (Structured Query Language) (sql)

Изход:

LocationId  Street                 City        State       Country
----------  ---------------------  ----------  ----------  ----------
1           3960 North 1st Street  San Jose    CA          USACode language: Shell Session (shell)

Накрая покажете схемата на Locations таблица:

.schema LocationsCode language: Shell Session (shell)

Изход:

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)

Старият начин за преименуване на колона

SQLite не поддържа ALTER TABLE RENAME COLUMN синтаксис преди версия 3.25.0.

Ако използвате SQLite с версия по-ниска от 3.25.0 и не можете да надстроите, тогава трябва да следвате тези стъпки, за да преименувате колона:

  • Първо стартирайте транзакция.
  • Второ, създайте нова таблица, чиято структура е същата като оригиналната, с изключение на колоната, която искате да преименувате.
  • Трето, копирайте данните от оригиналната таблица в новата таблица.
  • Четвърто, пуснете оригиналната таблица.
  • Пето, преименувайте новата таблица на оригиналната таблица.
  • Накрая извършете транзакцията.

Пример за преименуване на колона

Следното изявление пресъздава Locations таблица:

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)

И това INSERT оператор вмъква нов ред в Locations таблица:

INSERT INTO Locations(Address,City,State,Country)
VALUES('3960 North 1st Street','San Jose','CA','USA');Code language: SQL (Structured Query Language) (sql)

Да предположим, че искате да промените колоната Address до Street .

Първо, започнете нова транзакция:

BEGIN TRANSACTION;Code language: SQL (Structured Query Language) (sql)

Второ, създайте нова таблица, наречена LocationsTemp със същата структура като Locations таблица с изключение на Address колона:

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)

Трето, копирайте данните от таблицата Locations към LocationsTemp :

INSERT INTO LocationsTemp(Street,City,State,Country)
SELECT Address,City,State,Country
FROM Locations;Code language: SQL (Structured Query Language) (sql)

Четвърто, пуснете Locations таблица:

DROP TABLE Locations;Code language: SQL (Structured Query Language) (sql)

Пето, преименувайте таблицата LocationsTemp до Locations :

ALTER TABLE LocationsTemp 
RENAME TO Locations;Code language: SQL (Structured Query Language) (sql)

Накрая извършете транзакцията:

COMMIT;Code language: SQL (Structured Query Language) (sql)

Ако направите заявка за Locations таблица, ще видите, че колоната Address е преименувано на Street :

SELECT * FROM Locations;Code language: SQL (Structured Query Language) (sql)

Ето изхода:

Резюме

  • Използвайте ALTER TABLE RENAME COLUMN за да преименувате колона в таблица.
  • Ако използвате SQLite 3.25.0, трябва да го надстроите и да използвате новия синтаксис. В противен случай трябва да следвате стъпките, описани по-горе, за да преименувате колона.


  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 Поръчайте по дата 1530019888000

  2. Кога се изпълнява SQLiteOpenHelper onCreate() / onUpgrade()?

  3. Най-добра практика за хлабава връзка между данни и потребителски интерфейс в Android - адаптер, филтър, CursorLoader и ContentProvider

  4. Показване на резултатите от заявката на SQLite с помощта на вертикален изход

  5. ТАБЛИЦА ЗА ПРОМЕНЯВАНЕ НА SQLite