⚡ Кратко: главные команды
UPDATE table SET column = value WHERE condition — изменить существующие строки.
INSERT INTO table (cols) VALUES (vals) — добавить строку.
FOREIGN KEY (col) REFERENCES table(col) — связь между таблицами.
CURDATE() — текущая дата в MySQL.
- PyMySQL:
connect(...), cursor(), execute(sql, params), commit(), fetchone(), fetchall().
- PyMongo:
MongoClient, insert_one, find, aggregate([{"$group": ...}]).
- Counter:
Counter(iterable).most_common(n) — топ-n элементов.
🔖 Справочник по SQL
| Команда | Описание | Пример |
UPDATE ... SET ... WHERE ... |
Изменяет существующие строки |
UPDATE books SET stock = stock - 1 WHERE id = 5 |
INSERT INTO table (cols) VALUES (vals) |
Вставляет новую строку |
INSERT INTO purchases (user_id, book_id, quantity, purchase_date) VALUES (1, 5, 2, CURDATE()) |
FOREIGN KEY (col) REFERENCES tbl(col) |
Связь с первичным ключом другой таблицы |
FOREIGN KEY (user_id) REFERENCES users(id) |
CURDATE() |
Текущая дата MySQL |
SELECT CURDATE() |
LOWER(title) LIKE %s |
Регистронезависимый поиск с параметром |
WHERE LOWER(title) LIKE %s с ("%war%",) |
🔖 Справочник по PyMySQL
| Метод / функция | Описание | Пример |
pymysql.connect(...) |
Создаёт соединение с MySQL |
connection = pymysql.connect(host="...", user="...", password="...", database="...") |
connection.cursor() |
Возвращает курсор для выполнения запросов |
with connection.cursor() as cursor: |
cursor.execute(sql, params) |
Выполняет параметризованный запрос |
cursor.execute("SELECT * FROM books WHERE id = %s", (book_id,)) |
cursor.fetchone() |
Возвращает одну строку или None |
row = cursor.fetchone() |
cursor.fetchall() |
Возвращает список всех строк |
rows = cursor.fetchall() |
connection.commit() |
Сохраняет изменения в базе |
connection.commit() |
🔖 Справочник по PyMongo
| Метод | Описание | Пример |
MongoClient(uri) |
Подключение к MongoDB |
client = MongoClient("mongodb://user:pass@host/...") |
client["db"]["collection"] |
Выбор базы и коллекции |
col = client["ich_edit"]["bookstore_logs_searches"] |
collection.insert_one(doc) |
Вставляет один документ |
col.insert_one({"query": "1984"}) |
collection.find(filter) |
Возвращает курсор документов |
col.find({"query": {"$exists": True}}) |
collection.aggregate(pipeline) |
Выполняет пайплайн агрегации |
col.aggregate([{"$group": {"_id": "$query", "count": {"$sum": 1}}}]) |
Частые операторы агрегации
| Оператор | Значение | Пример |
$group | Группировка по полю с агрегатной функцией | {"$group": {"_id": "$query", "count": {"$sum": 1}}} |
$sum | Сумма значений в группе | {"$sum": 1} — счётчик документов |
$sort | Сортировка результатов | {"$sort": {"count": -1}} |
$limit | Ограничение числа результатов | {"$limit": 10} |
$toLower | Приведение строки к нижнему регистру | {"$toLower": "$query"} |
$match | Фильтрация документов | {"$match": {"query": {"$exists": True}}} |
🔖 Справочник по collections.Counter
| Конструкция | Описание | Пример |
Counter(iterable) |
Считает частоту элементов |
Counter(["a", "b", "a"]) → Counter({'a': 2, 'b': 1}) |
.most_common(n) |
Возвращает n самых частых элементов |
Counter(...).most_common(10) |
.elements() |
Разворачивает счётчики обратно в элементы |
list(Counter({"a": 2}).elements()) → ["a", "a"] |