Язык запросов SQL

Structured Query Language

Рано или поздно мы сталкиваемся с необходимостью «залезть» в базу данных. Для этих целей стоит научиться писать хотя бы простые запросы при помощи SQL — языка для работы с данными в реляционных базах данных.

Некоторые команды для работы с данными можно выполнить при помощи графических инструментов, предоставляемых системами управления базами данных (СУБД). Но когда записей в таблицах слишком много для ручного перебора, без SQL не обойтись.

create-table-pgadmin

Создание таблицы при помощи графического интерфейса инструмента pgAdmin для работы с СУБД PostgreSQL

SQL команды

Существует 5 типов SQL команд для работы с реляционными базами данных.

Тип Команда Описание
1. Определение данных DDL
(Data Definition Language)
CREATE
ALTER
DROP
Создать таблицу
Изменить таблицу
Удалить таблицу
2. Манипулирование данными DML
(Data Manipulation Language)
INSERT
UPDATE
DELETE
Вставить данные в таблицу
Обновить данные в таблице
Удалить данные из таблицы
3. Запрос данных DQL
(Data Query Language)
SELECT Выбрать данные из таблицы
4. Управление доступом к данным DCL
(Data Control Language)
GRANT
REVOKE
Предоставить пользователю доступ к таблице
Отозвать у пользователя доступ к таблице
5. Управление транзакциями TCL
(Transaction Control Language)
COMMIT
ROLLBACK
Зафиксировать изменения
Откатить изменения

Каждый из типов: DDL, DML и DQL рассмотрим с примерами и практикой позднее. А пока познакомимся с общими синтаксическими правилами языка SQL.

Правила написания SQL запросов

  • SQL команды НЕ регистрочувствительны, можно писать как SELECT, так и select
  • Рекомендуется использовать точку с запятой в конце каждого запроса, для некоторых баз данных это критично
  • При написании запросов необходимо соблюдать порядок ключевых слов
  • Не используйте зарезервированные слова в качестве имен таблиц, столбцов и т.п.
  • Учитывайте диалект базы данных, с которой работаете, синтаксис может незначительно отличаться
  • Двойное тире -- позволяет оставлять комментарии к запросам

    CREATE TABLE cat (            -- создание таблицы «cat»
        id SERIAL PRIMARY KEY,    -- создание столбца «id» с автоматической генерацией числового идентификатора (SERIAL)
        name VARCHAR(64),         -- создание столбца «name» с типом VARCHAR (строка) и максимальной длиной 64 символа
        age INTEGER               -- создание столбца «age» с числовым типом INTEGER
    );

Пример запроса на создание таблицы «cat». Зарезервированные слова выделены жирным

Задача

Найдите все ошибки, которые содержит запрос


    create TABLE table (          # создание таблицы
        id SERIAL PRIMARY KEY,    # создание столбца «id» с автоматической генерацией числового идентификатора (serial)
        name VARCHAR(64),         # создание столбца «name» с типом VARCHAR (строка) и максимальной длиной 64 символа
        taste VARCHAR(128)        # создание столбца «taste» с типом VARCHAR (строка) и максимальной длиной 128 символа
    );
Задача доступна премиум пользователям!

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

ТЕСТ ДИЗАЙН

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

ТЕСТИРОВАНИЕ РЕЛИЗА

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов Собеседование