ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 47
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Стартуем с 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: команды для создания таблицы, изменения и удаления баз данных, таблиц и прочего.
Тут вы сможете найти все типы данных, поддерживаемые в 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.
| Команда | Описание |
| .show | Показывает текущие настройки заданных параметров |
| .databases | Показывает название баз данных и файлов |
| .quit | Выход из sqlite3 |
| .tables | Показывает текущие таблицы |
| .schema | Отражает структуру таблицы |
| .header | Отобразить или скрыть шапку таблицы |
| .mode | Выбор режима отображения данных таблицы |
| .dump | Сделать копию базы данных в текстовом формате |
Стандартные командыТеперь давайте пройдёмся по списку стандартных команд sqlite3, которые предназначены для взаимодействия с базой данных. Стандартные команды могут быть классифицированы по трём группам:Язык описания данных DDL: команды для создания таблицы, изменения и удаления баз данных, таблиц и прочего.
-
CREATE -
ALTER -
DROP
-
INSERT -
UPDATE -
DELETE
-
SELECT
| Нумерация комментариев | Имя | | Сайт | Комментарий |
| post_id | name | | website_url | comment |
| INTEGER | TEXT | TEXT | TEXT | TEXT |
| | | | | |
| NOT NULL | NOT NULL | NOT NULL | | NOT NULL |
Теперь давайте создадим базу данных. Если вы ещё находитесь в интерфейсе sqlite3, то наберите команду .quit для выхода. Теперь вводим:sqlite3 comment_section.dbВ результате, в текущем каталоге у нас появится файл comment_section.db.Заметка: если не указать название файла, sqlite3 создаст временную базу данных.Создание таблицыДля хранения комментариев нам необходимо создать таблицу. Назовём её comments. Выполняем команду:
| 1 | CREATE TABLE comments ( | |
| 2 | post_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, | |
| 3 | name TEXT NOT NULL, | |
| 4 | email TEXT NOT NULL, | |
| 5 | website_url TEXT NULL, | |
| 6 | comment TEXT NOT NULL ); | |
| 1 | Name : Shivam Mamgain | | | ||
| 2 | Email : xyz@gmail.com | | | | |
| 3 | Website : shivammg.blogspot.com | | |||
| 4 | Comment : Great tutorial for beginners. | ||||
| 1 | INSERT INTO comments ( name, email, website_url, comment ) | ||
| 2 | VALUES ( 'Shivam Mamgain', 'xyz@gmail.com', | | |
| 3 | 'shivammg.blogspot.com', 'Great tutorial for beginners.' ); | | |
Указывать значение для post_id не нужно т.к. оно сформируется автоматически благодаря настройке AUTOINCREMENT.Чтобы набить руку можете вставить ещё несколько строк.ВЫБОРКАДля выборки данных воспользуемся командой SELECT.
| 1 | SELECT post_id, name, email, website_url, comment | |
| 2 | FROM comments; | |
| 1 | SELECT * | |
| 2 | FROM comments; | |
| 1 | UPDATE comments | | |
| 2 | SET email = 'zyx@email.com' | | |
| 3 | WHERE name = 'Shivam Mamgain'; | ||
DELETE нужно так же указать условие.К примеру нам необходимо удалить комментарий с post_id = 9. Выполняем команду:
| 1 | DELETE FROM comments | |
| 2 | WHERE post_id = 9; | |
| 1 | DELETE FROM comments | |
| 2 | WHERE name = 'Bart Simpson' OR name = 'Homer Simpson'; | |
| 1 | ALTER TABLE comments | |
| 2 | ADD COLUMN username TEXT; | |
| 1 | ALTER TABLE comments | |
| 2 | RENAME TO Coms; | |
| 1 | DROP TABLE Coms; |