Стартуем с sqlite3 Основные команды
Скачать 130.8 Kb.
|
Стартуем с SQLite3 – Основные команды SQLite - это библиотека, написанная на языке C, которая обеспечивает работу с SQL. Данный инструмент относится к реляционным системам управления базами данных. Большинство баз данных SQL работает по схеме клиент/сервер. Возьмём к примеру MySQL. В процессе работы данные берутся с MySQL сервера, и отправляются в качестве ответа на запрос. В случае использования SQLite, данные будут браться непосредственно с диска, т.е. не будет необходимости обращаться к серверу. Установка Мы будем взаимодействовать с базой данных через интерфейс командной строки sqlite3 (CLI) в Linux. Работа с sqlite3 CLI в MAC OS и Windows осуществляется таким же образом, однако я рекомендую вам потратить 5 минут на установку виртуальной машины, чтобы не захламлять свой компьютер лишним софтом. Для установки sqlite3 на Linux выполняем команду: sudo apt-get install sqlite3 libsqlite3-dev В результате на вашей машине будет установлен sqlite3. Для установки данного инструмента на других ОС следуйте инструкциям. Для запуска sqlite выполняем команду sqlite3 в консоли. Результат должен быть таким: Во второй строчке указана подсказка о том, что для получения справки необходимо выполнить команду .help. Давайте сделаем это. В результате мы увидим Мета Команды и их описание. Мета Команды Мета Команды - предназначены для формирования таблиц и других административных операций. Все они оканчиваются точкой. Пройдёмся по списку команд, которые могут пригодиться:
Стандартные команды Теперь давайте пройдёмся по списку стандартных команд sqlite3, которые предназначены для взаимодействия с базой данных. Стандартные команды могут быть классифицированы по трём группам: Язык описания данных DDL: команды для создания таблицы, изменения и удаления баз данных, таблиц и прочего. CREATE ALTER DROP Язык управления данными DML: позволяют пользователю манипулировать данными (добавлять/изменять/удалять). INSERT UPDATE DELETE Язык запросов DQL: позволяет осуществлять выборку данных. SELECT Заметка: SQLite так же поддерживает и множество других команд, список которых можно найти тут. Поскольку данный урок предназначен для начинающих, мы ограничимся перечисленным набором команд. Файлы баз данных SQLite являются кроссплатформенными. Они могут располагаться на различного рода устройствах. Далее знакомство с sqlite3 будет осуществляться на базе данных, предназначенной для хранения комментариев. Для публикации комментария пользователю необходимо будет добавить следующие данные:
Тут вы сможете найти все типы данных, поддерживаемые в SQLite3. Так же следует отметить, в SQLite3 данные, вставляемые в колонку могут отличаться от указанного типа. В MySQL такое не пройдёт. Теперь давайте создадим базу данных. Если вы ещё находитесь в интерфейсе sqlite3, то наберите команду .quit для выхода. Теперь вводим: sqlite3 comment_section.db В результате, в текущем каталоге у нас появится файл comment_section.db. Заметка: если не указать название файла, sqlite3 создаст временную базу данных. Создание таблицы Для хранения комментариев нам необходимо создать таблицу. Назовём её comments. Выполняем команду:
NOT NULL обеспечит уверенность, что ячейка не будет содержать пустое значение. PRIMARY KEY и AUTOINCREMENT расширяют возможности поля post_id. Чтобы убедиться в том, что таблица была создана, выполняем мета команду .tables. В результате видим нашу таблицу comments. Заметка: Для получения структуры таблицы наберите .schema comments Теперь можем внести данные в таблицу. ВСТАВКА СТРОК Предположим, что нам необходим внести следующую запись:
Для вставки воспользуемся командой INSERT.
Указывать значение для post_id не нужно т.к. оно сформируется автоматически благодаря настройке AUTOINCREMENT. Чтобы набить руку можете вставить ещё несколько строк. ВЫБОРКА Для выборки данных воспользуемся командой SELECT.
Этот же запрос может выглядеть так:
В результате из таблицы будут извлечены все строки. Результат может выглядеть без разграничения по колонкам и без заголовка. Чтобы это исправить выполняем: .show Для отображения шапки введите .headers ON. Для отображения колонок выполните команду .mode column. Выполняем SELECT запрос ещё раз. Заметка: вид отображения можно изменить, воспользовавшись мета командой .mode. ОБНОВЛЕНИЕ Предположим, что поле email для пользователя ‘Shivam Mamgain’ необходимо изменить на ‘zyx@email.com’. Выполняем следующую команду:
В результате запись будет изменена. Заметка: Значение в колонке name может быть не уникально, так что в результате работы команды может быть затронуто более одной строки. Для всех пользователей, где значение name = ‘Shivam Mamgain’, поле email будет изменено на ‘zyx@email.com’. Для изменения какой-то конкретной строки следует её отследить по полю post_id. Мы его определили как PRIMARY KEY, что обеспечивает уникальность значения. УДАЛЕНИЕ Для выполнения команды DELETE нужно так же указать условие. К примеру нам необходимо удалить комментарий с post_id = 9. Выполняем команду:
Для удаления комментариев пользователей ‘Bart Simpson’ и ‘Homer Simpson’ выполним:
ИЗМЕНЕНИ СТРУКТУРЫ Для добавления новой колонки следует использовать команду ALTER. К примеру введём поле username. Выполняем команду:
Данная команда создаст новое текстовое поле в таблице comments. Для всех строк в качестве значения будет выставлено NULL. Так же мы можем использовать команду ALTER для переименования таблицы comments на Coms.
УДАЛЕНИЕ Для удаление нашей таблицы выполните следующую команду:
Заключение SQLite3 даёт множество преимуществ в отличии от других СУБД. Множество фрэймворков таких как Django, Ruby on Rails и web2py по умолчанию используют SQLite3. Многие браузеры используют данный инструмент для хранения локальных данных. Так же она используется в качестве хранилища данных таких ОС как Androidи Windows Phone 8. Для работы с SQLite3 можно воспользоваться и программами с графическим интерфейсом. К примеру: DB Browser for SQLite и SQLiteStudio. Для тренировки работы с SQL можете поиграть с SQL Fiddle. Данный урок может помочь стартовать с SQLite3. Для взаимодействия с данным СУБД в PHP можем воспользоваться расширением PDO. |