Update
Зачастую нам нужно изменить данные в таблице. В SQL это делается с помощью UPDATE.
Использование UPDATE включает в себя:
• выбор таблицы, в которой находится поле, которое мы хотим изменить
• запись нового значения
• использование WHERE, чтобы обозначить конкретное место в таблице
Предположим, у нас есть таблица с самыми высокооценёнными сериалами всех времён. Однако у нас есть проблема: «Игра Престолов» обозначена как комедия и нам определённо нужно это изменить.
#db
👉 @database_info
Зачастую нам нужно изменить данные в таблице. В SQL это делается с помощью UPDATE.
Использование UPDATE включает в себя:
• выбор таблицы, в которой находится поле, которое мы хотим изменить
• запись нового значения
• использование WHERE, чтобы обозначить конкретное место в таблице
Предположим, у нас есть таблица с самыми высокооценёнными сериалами всех времён. Однако у нас есть проблема: «Игра Престолов» обозначена как комедия и нам определённо нужно это изменить.
#db
👉 @database_info
👍3
SQL-инъекции для самых маленьких
Мы переходим к технической части статей про тестирование на проникновение. И начнем как всегда с внешнего пути – с эксплуатации веб уязвимостей. И стартанем мы с SQL – инъекций.
SQL-инъекция (SQLi) - это уязвимость веб-безопасности, которая позволяет злоумышленнику вмешиваться в запросы, которые приложение делает к своей базе данных. Как правило, это позволяет просматривать данные, которые он обычно не может получить. Это могут быть других пользователей, или любые другие данные, доступ к которым имеет само приложение. Во многих случаях злоумышленник может изменять или удалять эти данные, вызывая постоянные изменения в содержимом или поведении приложения.
https://habr.com/ru/articles/725134/
#db
👉 @database_info
Мы переходим к технической части статей про тестирование на проникновение. И начнем как всегда с внешнего пути – с эксплуатации веб уязвимостей. И стартанем мы с SQL – инъекций.
SQL-инъекция (SQLi) - это уязвимость веб-безопасности, которая позволяет злоумышленнику вмешиваться в запросы, которые приложение делает к своей базе данных. Как правило, это позволяет просматривать данные, которые он обычно не может получить. Это могут быть других пользователей, или любые другие данные, доступ к которым имеет само приложение. Во многих случаях злоумышленник может изменять или удалять эти данные, вызывая постоянные изменения в содержимом или поведении приложения.
https://habr.com/ru/articles/725134/
#db
👉 @database_info
👍2
SQL или NoSQL: как правильно выбрать базу данных?
В статье обсудим семь важных аспектов работы с SQL и NoSQL базами данных.
Журнал опережающей записи WAL.
Трудный выбор базы данных.
Менять базу данных сложнее, чем изначально разрабатывать с ее учетом
NoSQL не заменяет SQL, а дополняет его.
Трудозатратное масштабирование.
Индексы часто подводят.
Транзакции.
#db
👉 @database_info
В статье обсудим семь важных аспектов работы с SQL и NoSQL базами данных.
Журнал опережающей записи WAL.
Трудный выбор базы данных.
Менять базу данных сложнее, чем изначально разрабатывать с ее учетом
NoSQL не заменяет SQL, а дополняет его.
Трудозатратное масштабирование.
Индексы часто подводят.
Транзакции.
#db
👉 @database_info
👍3
Базовый курс по SQL для аналитиков и менеджеров
#1. Базовый курс обучения SQL для начинающих. Вводный урок
#2. Установка программ для работы с базой данных Oracle
#3. Основные типы данных
#4. Выборка данных из базы (select, group by, order by)
#5. Фильтрация строк в запросе Select. Работа с операторами AND, OR, IN, NOT IN
#6. Фильтрация строк в Select. Работа с оператором BETWEEN и вложенными запросами
#7. Фильтрация строк в Select. Работа с операторами LIKE и NOT LIKE
#8. Фильтрация строк в запросе Select. Специфика значений NULL
#9. Агрегация данных в SQL с помощью функции COUNT
#10. Агрегация данных в SQL. Функции SUM, MIN, MAX, AVG
#11. Оператор DISTINCT. Подсчет уникальных записей и удаление дублей
#12. Фильтрация строк с помощью предложения HAVING. Сортировка значений NULL
#13. Создание таблиц в базе данных (create table)
#14. Переименование и удаление таблиц в базе данных (alter table, drop table)
#15. Вставка данных в таблицу (insert into)
#16. Обновление и удаление данных в таблице (update table, delete table)
#17. Объединение таблиц SQL - INNER JOIN
#18. Объединение таблиц SQL - LEFT JOIN
#19. Объединение таблиц SQL - RIGHT JOIN
#20. Объединение таблиц SQL - FULL JOIN
#21. Работа с множествами в SQL (UNION, MINUS, INTERSECT)
#22. Функции для числовых типов данных (ROUND, ABS, TRUNC)
#23. Функции для символьных данных (LENGTH, TRIM, REPLACE, INSTR, SUBSTR, TO_CHAR и др)
#24. Функции для даты/времени (SYSDATE, TO_DATE, LAST_DAY, ADD_MONTHS, EXTRACT, TRUNC)
https://www.youtube.com/playlist?list=PLKl9v2TQvIkq4i_hZwZ1PmobxJSkIGwBf
#db
👉 @database_info
#1. Базовый курс обучения SQL для начинающих. Вводный урок
#2. Установка программ для работы с базой данных Oracle
#3. Основные типы данных
#4. Выборка данных из базы (select, group by, order by)
#5. Фильтрация строк в запросе Select. Работа с операторами AND, OR, IN, NOT IN
#6. Фильтрация строк в Select. Работа с оператором BETWEEN и вложенными запросами
#7. Фильтрация строк в Select. Работа с операторами LIKE и NOT LIKE
#8. Фильтрация строк в запросе Select. Специфика значений NULL
#9. Агрегация данных в SQL с помощью функции COUNT
#10. Агрегация данных в SQL. Функции SUM, MIN, MAX, AVG
#11. Оператор DISTINCT. Подсчет уникальных записей и удаление дублей
#12. Фильтрация строк с помощью предложения HAVING. Сортировка значений NULL
#13. Создание таблиц в базе данных (create table)
#14. Переименование и удаление таблиц в базе данных (alter table, drop table)
#15. Вставка данных в таблицу (insert into)
#16. Обновление и удаление данных в таблице (update table, delete table)
#17. Объединение таблиц SQL - INNER JOIN
#18. Объединение таблиц SQL - LEFT JOIN
#19. Объединение таблиц SQL - RIGHT JOIN
#20. Объединение таблиц SQL - FULL JOIN
#21. Работа с множествами в SQL (UNION, MINUS, INTERSECT)
#22. Функции для числовых типов данных (ROUND, ABS, TRUNC)
#23. Функции для символьных данных (LENGTH, TRIM, REPLACE, INSTR, SUBSTR, TO_CHAR и др)
#24. Функции для даты/времени (SYSDATE, TO_DATE, LAST_DAY, ADD_MONTHS, EXTRACT, TRUNC)
https://www.youtube.com/playlist?list=PLKl9v2TQvIkq4i_hZwZ1PmobxJSkIGwBf
#db
👉 @database_info
👍7❤2
Многотабличные запросы, JOIN
В предыдущих статьях описывалась работа только с одной таблицей базы данных. В реальности же очень часто приходится делать выборку из нескольких таблиц, каким-то образом объединяя их. В данной статье вы узнаете основные способы соединения таблиц.
https://sql-academy.org/ru/guide/multi-table-request-join
#db
👉 @database_info
В предыдущих статьях описывалась работа только с одной таблицей базы данных. В реальности же очень часто приходится делать выборку из нескольких таблиц, каким-то образом объединяя их. В данной статье вы узнаете основные способы соединения таблиц.
https://sql-academy.org/ru/guide/multi-table-request-join
#db
👉 @database_info
👍5
Сравнение SQL- и NoSQL-баз данных
SQL и NoSQL — две популярные модели баз данных, которые используют для решения различных задач. Чтобы понять, какая из них подойдёт в вашем случае, необходимо разобраться в их различиях, преимуществах и недостатках.
В этой статье я рассмотрю основные характеристики SQL- и NoSQL-баз данных и сравню их, чтобы помочь выбрать лучший вариант для вашего проекта.
https://habr.com/ru/companies/ruvds/articles/727474/
#db
👉 @database_info
SQL и NoSQL — две популярные модели баз данных, которые используют для решения различных задач. Чтобы понять, какая из них подойдёт в вашем случае, необходимо разобраться в их различиях, преимуществах и недостатках.
В этой статье я рассмотрю основные характеристики SQL- и NoSQL-баз данных и сравню их, чтобы помочь выбрать лучший вариант для вашего проекта.
https://habr.com/ru/companies/ruvds/articles/727474/
#db
👉 @database_info
👍5
Реляционные базы данных
Принцип работы реляционных баз данных. В этой статье рассказывается о том, как работают индексы и транзакции внутри реляционных баз данных.
Часто удивляет, как мало известно о работе баз данных на поверхностном уровне, учитывая, что в них хранится почти все состояние наших приложений. Тем не менее, это является основой успеха большинства систем. Поэтому сегодня я расскажу о двух наиболее важных темах при работе с RDBMS - индексах и транзакциях.
Итак, не углубляясь в специфические причуды баз данных, я расскажу обо всем, что вы должны понимать об индексах RDBMS. Вкратце я коснусь транзакций и уровней изоляции, а также того, как они могут повлиять на ваши рассуждения о конкретных транзакциях.
https://architecturenotes.co/things-you-should-know-about-databases/
#db
👉 @database_info
Принцип работы реляционных баз данных. В этой статье рассказывается о том, как работают индексы и транзакции внутри реляционных баз данных.
Часто удивляет, как мало известно о работе баз данных на поверхностном уровне, учитывая, что в них хранится почти все состояние наших приложений. Тем не менее, это является основой успеха большинства систем. Поэтому сегодня я расскажу о двух наиболее важных темах при работе с RDBMS - индексах и транзакциях.
Итак, не углубляясь в специфические причуды баз данных, я расскажу обо всем, что вы должны понимать об индексах RDBMS. Вкратце я коснусь транзакций и уровней изоляции, а также того, как они могут повлиять на ваши рассуждения о конкретных транзакциях.
https://architecturenotes.co/things-you-should-know-about-databases/
#db
👉 @database_info
🔥4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите узнать секрет оптимизации SQL-запросов?
Очень важно понимать порядок выполнения.
В SQL-запросе операторы выполняются в следующем порядке:
1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ORDER BY
8. LIMIT / OFFSET
#db
👉 @database_info
Очень важно понимать порядок выполнения.
В SQL-запросе операторы выполняются в следующем порядке:
1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ORDER BY
8. LIMIT / OFFSET
#db
👉 @database_info
👍14
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Уроки по SQL для начинающих | Обучение
Урок #1 - реляционные базы данных. Первичные ключи | sql для начинающих
Урок #2 - создание таблиц. Изменение. Удаление | sql для начинающих
Урок #3 - извлечение данных из базы. Select. Distinct | sql для начинающих
Урок #4 - реляционные и булевы операторы | sql для начинающих
Урок #5 - операторы in, between, like, null | sql для начинающих
Урок #6 - агрегатные функции. Group by. Having | sql для начинающих
Урок #7 - подзапросы | sql для начинающих
Урок #8 - join | sql для начинающих
Урок #9 - insert | sql для начинающих
Урок #10 - экранирование. Приоритет | sql для начинающих
источник
#db
👉 @database_info
Урок #1 - реляционные базы данных. Первичные ключи | sql для начинающих
Урок #2 - создание таблиц. Изменение. Удаление | sql для начинающих
Урок #3 - извлечение данных из базы. Select. Distinct | sql для начинающих
Урок #4 - реляционные и булевы операторы | sql для начинающих
Урок #5 - операторы in, between, like, null | sql для начинающих
Урок #6 - агрегатные функции. Group by. Having | sql для начинающих
Урок #7 - подзапросы | sql для начинающих
Урок #8 - join | sql для начинающих
Урок #9 - insert | sql для начинающих
Урок #10 - экранирование. Приоритет | sql для начинающих
источник
#db
👉 @database_info
👍3
Совет по работе с базой данных ⚡️
Иногда требуется получить, например, три последних заказа для *каждого* клиента. Обычные объединения не могут этого сделать. Приходится выполнять 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
👍9
Как получить id вставленной записи в mysql?
Вы можете использовать LAST_INSERT_ID() чтобы получить id последней вставленной записи в MySQL, ниже пример запроса на MySQL:
#db
👉 @database_info
Вы можете использовать LAST_INSERT_ID() чтобы получить id последней вставленной записи в MySQL, ниже пример запроса на MySQL:
# INSERT INTO your_table (col1, col2,...) VALUES ('val1', 'val2'...);
SELECT LAST_INSERT_ID();#db
👉 @database_info
👍6