Как найти дубликат записи? Опишите процесс для дублирования записей с одним и несколькими полями.
Дублирование записей с одним полем:
Дублирование записей с несколькими полями:
#db
👉 @database_info
Дублирование записей с одним полем:
SELECT name, COUNT(email)
FROM users
GROUP BY email
HAVING COUNT(email) > 1Дублирование записей с несколькими полями:
SELECT name, email, COUNT(*)
FROM users
GROUP BY name, email
HAVING COUNT(*) > 1 #db
👉 @database_info
👍12❤2
Шпаргалка по MySQL
Коннект к mysql по TCP
Создать БД
Добавить пользователя
Дать права пользователю на БД
на удаленный доступ:
на удаленный доступ на все таблицы:
сменить пароль пользователю
что бы права вступили в силу:
Посмотреть права пользователя
Если нужно залить большой дамп, то в /etc/my.cnf в секцию [mysqld] добавить:
Работа с кластером мастер-слейв
посмотреть состояние мастера:
посмотреть состояние слейва:
Посмотреть структуры таблицы в БД
или
Посмотреть состояние таблиц в БД
Сброс пароля mysql
1). В /etc/mycnf в секцию [mysqld] вставляем строку
2). Перезапустить mysqld.
После этого пароль будут сброшен и можно ввести любой другой.
#db
👉 @database_info
Коннект к mysql по TCP
mysql --user root --host localhost --port 3306 --protocol tcpСоздать БД
CREATE DATABASE $DB_NAME character set utf8;Добавить пользователя
CREATE USER $DB_USER@localhost IDENTIFIED BY '$DB_PASSWORD';Дать права пользователю на БД
GRANT ALL ON $DB_NAME.* TO $DB_USER@localhost;на удаленный доступ:
GRANT ALL PRIVILEGES ON $DB_NAME.* TO $DB_USER@'%' IDENTIFIED BY '$DB_PASSWORD';на удаленный доступ на все таблицы:
grant all privileges on *.* to DB_USER@'%';сменить пароль пользователю
SET PASSWORD FOR логин@localhost = PASSWORD('пароль'); SET PASSWORD FOR логин@"%" = PASSWORD('пароль');что бы права вступили в силу:
flush privileges;Посмотреть права пользователя
SHOW GRANTS for $DB_USER@localhost;Если нужно залить большой дамп, то в /etc/my.cnf в секцию [mysqld] добавить:
max_allowed_packet = 16MРабота с кластером мастер-слейв
посмотреть состояние мастера:
show master status;посмотреть состояние слейва:
SHOW SLAVE STATUS\GПосмотреть структуры таблицы в БД
describe <table_name>;или
SHOW CREATE TABLE <table_name>;Посмотреть состояние таблиц в БД
SHOW TABLE STATUS;Сброс пароля mysql
1). В /etc/mycnf в секцию [mysqld] вставляем строку
skip-grant-tables2). Перезапустить mysqld.
После этого пароль будут сброшен и можно ввести любой другой.
#db
👉 @database_info
👍12🔥2
Работа с NoSQL на С#: разбираем нереляционные базы данных от первого бита и до последнего!
Всего за 90 минут мы:
1️⃣ Подробно разберем, что такое NoSQL, их виды и почему это важно для современных разработчиков, рассмотрим уникальные особенности баз данных.
2️⃣ Главное! Закрепим полученные знания на практике, работая с NoSQL базами.
3️⃣ И даже если Вы уже работали с NoSQL, этот вебинар будет полезен для вас!
Ваши результаты после живого веба:
✅ Понимание особенностей реляционных и нереляционных баз данных.
✅ Уверенность в выборе оптимального типа базы данных для конкретных задач!
А продвинутый курс C# Developer. Professional поможет вам претендовать на зарплату Senior специалиста, которая, как правило, от 280 000 рублей/мес. Помимо знаний, опыта и ценных навыков, после выпускной работы Вы получите сертификат, который действительно ценится работодателями, потому что все наши курсы регулярно обновляются под текущие требования рынка: https://vk.cc/cGdWdB
До встречи на вебе!🧡
Всего за 90 минут мы:
Ваши результаты после живого веба:
А продвинутый курс C# Developer. Professional поможет вам претендовать на зарплату Senior специалиста, которая, как правило, от 280 000 рублей/мес. Помимо знаний, опыта и ценных навыков, после выпускной работы Вы получите сертификат, который действительно ценится работодателями, потому что все наши курсы регулярно обновляются под текущие требования рынка: https://vk.cc/cGdWdB
До встречи на вебе!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👏4
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
PostgreSQL
Лекция 1: Основы SQL
Лекция 2: Простые SELECT
Лекция 3: Сложные SELECT
Лекция 4: Анализ запросов | Часть 1
Лекция 4: Анализ запросов | Часть 2
Лекция 5: Индексы | Часть 1
Лекция 5: Индексы | Часть 2
Лекция 6: Транзакции
Лекция 7: Блокировки
источник
#db
👉 @database_info
Лекция 1: Основы SQL
Лекция 2: Простые SELECT
Лекция 3: Сложные SELECT
Лекция 4: Анализ запросов | Часть 1
Лекция 4: Анализ запросов | Часть 2
Лекция 5: Индексы | Часть 1
Лекция 5: Индексы | Часть 2
Лекция 6: Транзакции
Лекция 7: Блокировки
источник
#db
👉 @database_info
👍15🔥2
Совет по работе с базой данных ⚡️
Иногда требуется получить, например, три последних заказа для *каждого* клиента. Обычные объединения не могут этого сделать. Приходится выполнять n+1 запросов в коде, что очень медленно!
Но с помощью lateral joins можно сделать циклическое соединение for-each в SQL
MySQL / PostgreSQL
https://sqlfordevs.com/for-each-loop-lateral-join
#db
👉 @database_info
Иногда требуется получить, например, три последних заказа для *каждого* клиента. Обычные объединения не могут этого сделать. Приходится выполнять n+1 запросов в коде, что очень медленно!
Но с помощью lateral joins можно сделать циклическое соединение for-each в SQL
MySQL / PostgreSQL
SELECT customers.*, recent_sales.*
FROM customers
LEFT JOIN LATERAL (
SELECT *
FROM sales
WHERE sales.customer_id = customers.customer_id
ORDER BY created_at DESC
LIMIT 3
) AS recent_sales ON true;
https://sqlfordevs.com/for-each-loop-lateral-join
#db
👉 @database_info
👍12
🌍Хотите освоить работу с географическими данными в PostgreSQL?
Приглашаем на бесплатный вебинар 26.12 в 20:00, где вы узнаете как использовать PostGIS для решения практических задач. Запишитесь сейчас и улучшите свои навыки в работе с геоданными!
На вебинаре мы разберем:
- Что такое системы координат (SRID) и как они влияют на работу с географическими данными.
- Какие типы географических объектов поддерживаются в PostgreSQL и как их создавать.
- Основные функции для работы с географическими данными: расчёт расстояний, проверка пересечений и построение зон.
- Как использовать PostgreSQL для решения практических задач, связанных с географией, например, поиск ближайшего объекта или определение зоны покрытия.
👉Регистрация. Участие бесплатно: https://vk.cc/cGl8Jp
Приглашаем на бесплатный вебинар 26.12 в 20:00, где вы узнаете как использовать PostGIS для решения практических задач. Запишитесь сейчас и улучшите свои навыки в работе с геоданными!
На вебинаре мы разберем:
- Что такое системы координат (SRID) и как они влияют на работу с географическими данными.
- Какие типы географических объектов поддерживаются в PostgreSQL и как их создавать.
- Основные функции для работы с географическими данными: расчёт расстояний, проверка пересечений и построение зон.
- Как использовать PostgreSQL для решения практических задач, связанных с географией, например, поиск ближайшего объекта или определение зоны покрытия.
👉Регистрация. Участие бесплатно: https://vk.cc/cGl8Jp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Курс по SQLAlchemy. Часть 1
Зачем Учить SQLAlchemy ORM
Подключение к Базе Данных, сырые SQL запросы через engine #2
Создание таблиц и вставка данных через Core #3
Session и первые шаги в ORM #4
Создание таблиц через КЛАССЫ - Mapped и mapped_column #5
SELECT и UPDATE запросы через ORM и Core #6
Базовые SELECT запросы #7
источник
#SQL
👉 @database_info
Зачем Учить SQLAlchemy ORM
Подключение к Базе Данных, сырые SQL запросы через engine #2
Создание таблиц и вставка данных через Core #3
Session и первые шаги в ORM #4
Создание таблиц через КЛАССЫ - Mapped и mapped_column #5
SELECT и UPDATE запросы через ORM и Core #6
Базовые SELECT запросы #7
источник
#SQL
👉 @database_info
👍9🔥1