.headers on
.mode column
CREATE TABLE books (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
author TEXT,
publication_year INTEGER
);
INSERT INTO books (title, author, publication_year) VALUES
('The Great Gatsby', 'F. Scott Fitzgerald', 1925),
('To Kill a Mockingbird', 'Harper Lee', 1960);
SELECT * FROM books;
SELECT * FROM books WHERE author = 'F. Scott Fitzgerald';
UPDATE books
SET title = 'Winter Dreams',
publication_year = 1922,
author = 'F. Scott Fitzgerald'
WHERE id = 1;
DROP TABLE IF EXISTS books;
```
Коли вам потрібно знайти щось, що ви записали, ймовірно, ви йдете до свого блокнота і шукаєте це. Але коли у вас є велика кількість інформації, яку потрібно організувати та шукати зручніше, на допомогу приходить база даних, що привносить концепцію постійності даних.
Постійність даних складається з п’яти частин:
- Зберігання даних на тривалий час
- Отримання їх пізніше
- Підтримка цілісності даних
- Обробка взаємозв'язків між даними
- Керування доступом до даних
У цьому посібнику ми зосередимося лише на перших двох: зберігання даних на тривалий час і отримання збережених даних пізніше.
SQLite — це чудовий інструмент, щоб почати вивчення баз даних. Налаштування мінімальне, а всі збережені дані знаходяться в файлі (*.sqlite). На більшості машин вже попередньо встановлений sqlite
. Якщо його немає на вашій машині, ви можете завантажити його тут.
Введіть sqlite3
у терміналі, щоб увійти в режим команд SQLite:
Спочатку створимо базу даних книг. Створимо таблицю books
:
CREATE TABLE books (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
author TEXT,
publication_year INTEGER
);
У SQL, table
схоже на class
в програмувальних мовах. Вона визначає структуру даних організовано.
Додамо кілька книг до цієї таблиці:
INSERT INTO books (title, author, publication_year) VALUES
('The Great Gatsby', 'F. Scott Fitzgerald', 1925),
('To Kill a Mockingbird', 'Harper Lee', 1960);
Наступний крок — перевірити базу даних і побачити, чи правильно ввели дані. Зробимо мінімальну настройку, щоб вивести дані в більш зручному для читання вигляді в терміналі.
.headers on
.mode column
.headers on
означає, що на екрані будуть відображатися заголовки таблиці. .mode column
відображає дані у вигляді стовпців.
Тепер використаємо операцію SELECT
:
SELECT * FROM books;
Якщо ми хочемо знайти книги Фіцджеральда:
SELECT * FROM books WHERE author = 'F. Scott Fitzgerald';
Ми також можемо оновити конкретну книгу в таблиці:
UPDATE books
SET title = 'Winter Dreams',
publication_year = 1922,
author = 'F. Scott Fitzgerald'
WHERE id = 1;
Після оновлення, знову відображаємо книги за допомогою SELECT * FROM books
, і ви побачите, що дані були замінені.
Після завершення ми можемо видалити таблицю, яку більше не хочемо використовувати:
DROP TABLE IF EXISTS books;
Тепер таблиця books видалена, спробуйте використовувати SELECT * FROM books
, щоб перевірити таблицю знову:
Тепер таблиця books відсутня.
Якщо я намагатимуся перерахувати операції SQL з точки зору API CRUD:
- GET —
SELECT
- POST —
INSERT INTO
- PUT —
UPDATE
- DELETE —
DROP
Ви можете знайти повний код тут. Я також розмістив операції на демонстраційній сторінці, щоб ви могли дізнатися, як використовувати SQL-файл безпосередньо за допомогою sqlite
. Насолоджуйтеся.
Перекладено з: SQLite — Bare Minimum