Часть 10.2: Удаление таблицы из базы данных SQLite3
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. Мы…
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. Мы подошли к такой важной теме, как команды управления транзакциями в SQLite. Тема №9: Команды управления транзакциями в базах данных SQLite3 (TCL операторы) будет более полезна для тех, кто уже знает о том, что такое транзакция в базе данных и для чего она используется по той простой причине, что в записях этой темы мы быстро, но подробно рассмотрим синтаксис SQL операторов TCL в SQLite3, но не будем останавливаться на вышеупомянутых вопросах.
С одной стороны: несправедливо к новичкам рассказывать о командах управления транзакциями в SQLite, не рассказав о том, что такое транзакция и для чего она нужна. С другой: по моему мнению, у человека должно сложиться объемное впечатление о языке для его дальнейшего изучения и понимания, а команды управления транзакциями являются частью языка SQL, реализованного в SQLite3, поэтому выбросить и пропустить TCL операторы я не могу. Если возникнут вопросы — не бойтесь задать их в комментариях к этой записи. Надеюсь, что уже скоро руки дойдут до полноценной публикации о транзакциях в SQLite3.
Содержание статьи:
Ранее мы уже коротко говорили о командах в SQL, где были перечислены команды управления транзакциями в SQL, но ничего плохого не будет в том, если мы немного повторим о том, какие TCL операторы есть в SQL, а уже потом начнем рассматривать команды управления транзакциями в SQLite. Тут мне необходимо сделать примечание для тех, кто не читал и не просматривал более ранние публикации: среди русскоязычных разработчиков и администраторов баз данных часто используется термин SQL оператор вместо SQL команда, что на самом деле неправильно, в своих записях, если я буду использовать термин SQL оператор, за которым будет стоять та или иная команда, то обязательно буду давать пояснения.
Давайте посмотрим на SQL операторы TCL и какие команды определения данных есть в SQL:
Обращу ваше внимание на то, что внутри транзакции может быть выполнено несколько других SQL команд и подтвердятся эти команды только после того, как будет выполнена команда COMMIT. Не пугайтесь, если вы еще ничего не знаете о транзакциях, у нас будет отдельная тема, в которой мы подробно про них поговорим. Например, мы начали транзакцию, в которой: мы создали таблицу при помощи команды CREATE; добавили туда много-много данных при помощи команды INSERT; заметили, что при добавление данных в базу данных допустили ошибку и воспользовались командой UPDATE для обновления данных в таблице; потом пересмотрели таблицу и воспользовались командой ALTER, например для добавления столбца в таблицу; а если будут лишние строки, то внутри этой же транзакции мы удалим их командой DELETE, потом вывели данные из базы данных командой SELECT; поняли, что нам эта таблица не нужна, но команду DROP для удаления таблицы мы использовать не будем, так есть SQL команда управления транзакциями ROLLBACK, которая просто отменит все предыдущие операции с базой данных внутри транзакции.
Описанное выше поведение справедливо для любой СУБД. Вы уже наверное заметили из описания, что внутри транзакции можно выполнять любые команды SQL языка: команды манипуляции данными выполняются внутри транзакции, команды определения данных так же успешно выполняются, единственное, я не могу сказать ничего про команды определения доступа к данным, так как ни разу не пробовал их использовать, когда запущена транзакция.
Давайте рассмотрим TCL операторы в SQLite и посмотрим, какие команды SQLite отвечают за управление транзакциями в базах данных:
Мы коротко перечислили команды управления транзакциями в базах данных SQLite и посмотрели на то, какие SQL операторы TCL реализованы в SQLite3. Следующие четыре записи познакомят вас с синтаксисом и некоторыми особенностями команд управления транзакциями в SQLite3.
Выберете удобный для себя способ, чтобы оставить комментарий