Основы SQL в SQLite: SELECT, WHERE, ORDER BY и LIMIT — с примерами

В этом уроке мы познакомимся с основами языка SQL (Structured Query Language) в контексте работы с SQLite. SQL — это стандартный язык для управления и манипуляции данными в реляционных базах данных. Понимание SQL является ключевым навыком для работы с SQLite и другими СУБД (системами управления базами данных)

Вся рубрика SQLite: уроки, инструменты и примеры

Что такое SQL?

SQL (Structured Query Language) — это язык программирования, специально разработанный для управления данными в реляционных базах данных. Он позволяет выполнять различные операции, такие как создание, чтение, обновление и удаление данных (CRUD операции).

Мини-шпаргалка по SELECT FROM WHERE ORDER BY LIMIT в SQLite с результатом запроса
Базовый SELECT состоит из нескольких простых частей: какие столбцы взять, из какой таблицы, какие строки оставить и как отсортировать

Краткая история SQL:

  • SQL был разработан в 1970-х годах в IBM.
  • В 1986 году SQL стал стандартом Американского национального института стандартов (ANSI).
  • Сегодня SQL используется в большинстве реляционных СУБД, включая SQLite, MySQL, PostgreSQL и другие.

Применение SQL в SQLite:

SQLite поддерживает большинство стандартных SQL-команд и позволяет выполнять операции с данными в базе данных.

Типы данных в SQLite

SQLite поддерживает несколько основных типов данных, которые используются для хранения различной информации в таблицах.

Основные типы данных в SQLite:

  • INTEGER: Целые числа. Пример: 123, -456.
  • TEXT: Текстовые строки. Пример: 'Hello, World!', 'SQLite'.
  • REAL: Числа с плавающей запятой. Пример: 3.14, -0.001.
  • BLOB: Двоичные данные. Используется для хранения изображений, звуковых файлов и других двоичных данных.
  • NULL: Значение NULL, представляющее отсутствие данных.

Примеры использования типов данных:

CREATE TABLE example (
    id INTEGER PRIMARY KEY,
    name TEXT,
    price REAL,
    image BLOB,
    description TEXT
);

Создание базы данных в SQLite

Создание базы данных в SQLite очень просто. Давайте рассмотрим, как это делается.

Пошаговое руководство по созданию базы данных:

  1. Создание файла базы данных:
    • В командной строке (терминале) выполните команду для создания новой базы данных:
      sqlite3 mydatabase.db
    • Это создаст файл mydatabase.db, который будет содержать вашу базу данных.
  2. Подключение к базе данных:
    • Для подключения к базе данных используйте команду sqlite3:
      sqlite3 mydatabase.db
  3. Проверка подключения:
    • После подключения вы должны увидеть приглашение SQLite:
      SQLite version 3.32.3 2020-06-18 14:00:33
      Enter ".help" for usage hints.
      sqlite>

Создание таблиц в SQLite

Теперь, когда у нас есть база данных, мы можем создавать таблицы для хранения данных.

Синтаксис команды CREATE TABLE:

CREATE TABLE table_name (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    column3 datatype,
    ...
);

Примеры создания таблиц:

Создание таблицы «Users»:

CREATE TABLE Users (
    id INTEGER PRIMARY KEY,
    name TEXT,
    email TEXT,
    age INTEGER
);

Создание таблицы «Products»:

CREATE TABLE Products (
    id INTEGER PRIMARY KEY,
    name TEXT,
    price REAL,
    description TEXT
);

Лучшие практики при создании таблиц:

  • Используйте PRIMARY KEY для уникальной идентификации записей.
  • Выбирайте подходящие типы данных для каждого столбца.
  • Давайте столбцам понятные и описательные имена

Основные SQL-запросы в SQLite

Визуальный пример SELECT и WHERE в SQLite: запрос выбирает колонки и фильтрует строки
SELECT выбирает нужные столбцы, а WHERE оставляет только строки, которые подходят под условие

После создания таблицы основная работа — выборка данных с помощью SELECT. Разберём ключевые операторы с примерами.

SELECT — выборка данных

-- Все строки и столбцы
SELECT * FROM users;

-- Конкретные столбцы
SELECT name, email FROM users;

WHERE — фильтрация строк

-- Точное совпадение
SELECT * FROM users WHERE age = 25;

-- Сравнение
SELECT * FROM users WHERE age > 18;

-- Поиск по шаблону
SELECT * FROM users WHERE name LIKE 'Иван%';

ORDER BY — сортировка

-- По возрастанию (ASC по умолчанию)
SELECT * FROM users ORDER BY name;

-- По убыванию
SELECT * FROM users ORDER BY age DESC;
Визуальный пример WHERE ORDER BY LIMIT в SQLite: фильтрация, сортировка и ограничение результата
Типичный запрос можно читать как конвейер: отфильтровать строки, отсортировать результат и ограничить выдачу

LIMIT и OFFSET — ограничение результатов

-- Первые 10 записей
SELECT * FROM users LIMIT 10;

-- Записи с 11 по 20 (пагинация)
SELECT * FROM users LIMIT 10 OFFSET 10;

Практические примеры

Пример создания таблицы «Users»:

CREATE TABLE Users (
    id INTEGER PRIMARY KEY,
    name TEXT,
    email TEXT,
    age INTEGER
);

Пример создания таблицы «Products»:

CREATE TABLE Products (
    id INTEGER PRIMARY KEY,
    name TEXT,
    price REAL,
    description TEXT
);

Пример вставки данных в таблицу «Users»:

INSERT INTO Users (name, email, age) VALUES ('Alice', 'alice@example.com', 30);
INSERT INTO Users (name, email, age) VALUES ('Bob', 'bob@example.com', 25);

Пример вставки данных в таблицу «Products»:

INSERT INTO Products (name, price, description) VALUES ('Laptop', 999.99, 'High performance laptop');
INSERT INTO Products (name, price, description) VALUES ('Smartphone', 499.99, 'Latest model smartphone');

Полезные ссылки:

В этом уроке мы рассмотрели основы SQL в контексте SQLite. Мы узнали, что такое SQL, какие типы данных поддерживаются в SQLite, как создавать базы данных и таблицы. Эти знания являются фундаментальными для дальнейшего изучения и работы с SQLite.

Понимание основ SQL поможет вам уверенно работать с базами данных и выполнять различные операции с данными. В следующем уроке мы рассмотрим базовые операции с данными в SQLite, включая вставку, выборку, обновление и удаление данных.

Продолжайте изучение курса, выполняйте практические задания и закрепляйте свои знания на практике.

Оцените статью
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x