MyTetra Share
Делитесь знаниями!
SQLite3, ALTER TABLE (Изменение таблицы)
25.12.2012
11:55
Текстовые метки: sqlite,sqlite3
Раздел: Компьютер - Программирование - SQL - SQLite3

ALTER TABLE


sql-statement ::=

ALTER TABLE [database-name .] table-name alteration

alteration ::=

RENAME TO new-table-name

alteration ::=

ADD [COLUMN] column-def



SQLite версия команды ALTER TABLE позволяет пользователю переименовать или добавить новые поля в существующую таблицу. Нет возможности удалить поле из таблицы.


Синтаксис RENAME TO используется при переименовании таблицы из [database-name.]table-name в new-table-name. Эта команда не может применяться для переноса таблиц между базами данных, только переименование в пределах одной базы.


Если переименованная таблица имеет триггеры или индексы, то они остаются связанными с таблицей и после переименования. Однако, если имеются представления (view) или запросы выполняемые триггерами, ссылаются на переименованную таблицу, то они автоматически не изменяются. Если необходимо то триггеры и представления, должны быть удалены и повторно созданы вручную.


Синтаксис ADD [COLUMN] используется для добавления нового поля в существующую таблицу. Новый столбец всегда добавляется в конец списка полей. Описание добавляемого столбца должен соответствовать формату, разрешенному в CREATE TABLE, со следующими ограничениями:


  • Столбец не может иметь ограничений PRIMARY KEY или UNIQUE.
  • Столбец не может иметь значений по умолчанию CURRENT_TIME, CURRENT_DATE или CURRENT_TIMESTAMP.
  • Если наложено ограничение NOT NULL, столбец должен иметь значение по умолчанию, отличное от NULL.


Время выполнения команды ALTER TABLE не зависит от количества данных в таблице. ALTER TABLE работает также быстро на таблице с 10 миллионами записей, как и на таблице с 1 записью.


После выполнения ADD COLUMN, база данных не будет читаться SQLite версии 3.1.3 и ниже, до применения команды VACUUM.


Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования