Часть 6.2: Команда ALTER в SQLite3. Оператор ALTER в SQLite3

Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. Мы уже рассмотрели DDL команды в SQLite и синтаксис команды CREATE в SQLite3. Теперь давайте рассмотрим команду ALTER в SQLite3, а так же синтаксис и особенности использования оператора ALTER в SQLite3.

Команда ALTER в SQLite3. Оператор ALTER в SQLite3

Команда ALTER в SQLite3. Оператор ALTER в SQLite3


Синтаксис и особенности использования оператора ALTER в SQLite3

Самое простое, что есть в SQLite– команда ALTER. Здесь мы полностью рассмотрим все особенности команды ALTER в SQLite3 (оператора ALTER в SQLite3) и больше никогда не будем к ней возвращаться.

Оператор ALTER в SQLite3 умеет делать ровно две вещи: переименовывать таблицы и добавлять новые колонки. Синтаксис команды ALTER в SQLite3 представлен ниже.

 Cинтаксис команды ALTER в SQLite3. Cинтаксис оператора ALTER в SQLite3


Cинтаксис команды ALTER в SQLite3. Cинтаксис оператора ALTER в SQLite3

Приведем пример работы команды ALTER в SQLite3. Для этого создадим новую таблицу в нашей базе данных .

Воспользуемся дот-командой .tables, чтобы посмотреть, что таблица создана и имеет имя table1. И теперь переименуем нашу таблицу при помощи команды ALTER (оператора ALTER).

Убедимся, что переименование произошло успешно, пользуясь всё той же .tables. А теперь добавим новый столбец уже в таблицу table2 при помощи команды ALTER  (оператора ALTER).

Обратите внимание: новому столбцу можно задать характеристики, как и при создании новой таблицы. Чтобы убедиться, что создан новый столбец, воспользуйтесь командой .schema table2. Мы изучили команду ALTER в SQLite3 и рассмотрели синтаксис оператора ALTER в SQLite3

4 комментария к записи Часть 6.2: Команда ALTER в SQLite3. Оператор ALTER в SQLite3

Лимон

То есть оператор alter, кроме как добавить столбец и поменять имя таблицы в SQlite ниче не делает, так? Например, в майскул альтер все че угодно меняет. Как мне тогда sqlite удалять столбцы или изменять ключи?

Кирилл

Совершенно верно! В SQLite3 команда ALTER ничего не делает, кроме как: изменяет имя таблицы и добавляет столбец. Другие операции по модификации таблицы можно делать при помощи транзакций: мы просто запускаем транзакцию, удаляем таблицу и делаем новую с той структурой, которая нам нужна. Думаю, в новой версии разработчики SQLite исправят этот недочет ALTER. Более подробно про модификацию таблиц без оператора ALTER я планирую написать когда начну подробнее рассматривать работу с таблицами.

Вадим

Лимон, да, интересная реализация ALTER в SQLite, даже уж не могу сказать хорошо это или плохо. Если смотреть с практической точки зрения то большинству баз данных под управлением SQLite ALTER нужен, как собаке пятая нога, потому что обычно SQLite выбирают под небольшие проекты и базы данных там — это одна-две таблицы и ALTER в таких ситуациях ну совсем редко нужен.

Alex555

Согласен, для sqlite возможностей alter более чем достаточно, если нужно что-то большое и серьезное стоит глядеть в сторону постгри.

Текст комментария: