Удаление таблицы
Если таблица не требуется, то она удаляется. Но важно помнить, что таблица удаляется, только если на неё нет ссылок из других таблиц — нет внешних ключей других таблиц, ссылающихся на эту таблицу.
Для примера удалим таблицу оценок final_grades:
sqlite>.tables final_grades courses streams students sqlite> |
Для удаления таблиц применяется команда DROP TABLE:
DROP TABLE 'Имя Таблицы'; |
Удалим таблицу final_grades:
DROP TABLE final_grades; |
Проверим результат:
sqlite>.tables courses streams students sqlite> |
Работа с данными
Мы уже умеем создавать структуру базы данных и вносить в неё корректировки. Но пустые базы данных бесполезны, поэтому сейчас разберём основные операции с данными:
● чтение (выборка) данных из таблицы;
● добавление (вставка) данных;
● изменение данных;
● удаление данных.
Для сокращённого определения этих действий часто применяется обозначение CRUD — от английских слов Create, Read, Update и Delete.
Начнём работу с таблицы курсов, данные которой выглядят следующим образом:
Ключ курса | Название курса | Количество уроков |
Базы данных | ||
Linux. Рабочая станция | ||
Основы Python |
Таблица 4. Таблица курсов
Вспомним также структуру этой таблицы:
sqlite>.schema courses CREATE TABLE courses ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, lessons_amount INTEGER ); sqlite> |
Простая выборка данных
Прежде чем работать с данными таблицы, убедимся, что она пустая. Для этого понадобится команда SELECT. В базовом варианте для этой команды достаточно указать, к какой таблице мы обращаемся, и перечислить имена столбцов, данные которых нас интересуют:
SELECT 'Столбец 1', 'Столбец 2', 'Столбец N' FROM 'Имя Таблицы'; |
Если надо получить данные всех столбцов, то применяется символ подстановки * (звёздочка). Это упростит команду:
SELECT * FROM 'Имя Таблицы'; |
В соответствии со стандартом языка запросов SQL идентификаторы — имена таблиц и столбцов — заключаются в двойные кавычки, а строковые значения выделяются одинарными кавычками. В SQLite для совместимости с другими СУБД используются одинарные кавычки для определения идентификаторов и двойные — для строк. Обратные кавычки применяются для идентификаторов. Все команды ниже выполнятся одинаковым образом:
SELECT * FROM "courses"; SELECT * FROM 'courses'; SELECT * FROM `courses`; |
На практике в различных проектах встречаются разные стили использования кавычек. Следует придерживаться того стиля, который уже используется в коде, чтобы проект выглядел целостным.
Часто названия таблиц и столбцов вообще остаются без кавычек. Это допускается, если имена задаются латиницей и не содержат пробелы, спецсимволы и зарезервированные слова, которые используются в синтаксисе SQL. Строковые значения данных при этом обязательно заключаются в двойные или одинарные кавычки. В примерах, рассмотренных в этом курсе, предлагается применить именно такой стиль использования кавычек, поэтому команду выборки информации лучше упростить:
SELECT * FROM courses; |
Ожидаемо мы получим пустую выборку, но теперь у нас есть инструмент, чтобы контролировать другие операции работы с данными.
sqlite> SELECT * FROM courses; sqlite> |