SQL#

SQL (structured query language) - используется для описания структуры БД, управления данными (добавление, изменение, удаление, получение), управления правами доступа к БД и ее объектам, управления транзакциями.

Язык SQL подразделяется на такие категории:

  • DDL (Data Definition Language) - язык описания данных

  • DML (Data Manipulation Language) - язык манипулирования данными

  • DCL (Data Control Language) - язык определения доступа к данным

  • TCL (Transaction Control Language) - язык управления транзакциями

В каждой категории есть свои операторы (перечислены не все операторы):

  • DDL

    • CREATE - создание новой таблицы, СУБД, схемы

    • ALTER - изменение существующей таблицы, колонки

    • DROP - удаление существующих объектов из СУБД

  • DML

    • SELECT - выбор данных

    • INSERT - добавление новых данных

    • UPDATE - обновление существующих данных

    • DELETE - удаление данных

  • DCL

    • GRANT - предоставление пользователям разрешения на чтение/запись определенных объектов в СУБД

    • REVOKE - отзыв ранее предоставленных разрешений

  • TCL

    • COMMIT - применение транзакции

    • ROLLBACK - откат всех изменений, сделанных в текущей транзакции

SQL и Python#

Для работы с реляционной СУБД в Python можно использовать два подхода:

  • работать с библиотекой, которая соответствует конкретной СУБД, и использовать для работы с БД язык SQL. Например, для работы с SQLite используется модуль sqlite3

  • работать с ORM, которая использует объектно-ориентированный подход для работы с БД. Например, SQLAlchemy