Распространенные ошибки SQL в хранимых процедурах и запросах
Я не буду описывать совсем банальные вроде ошибки синтаксиса (talbe вместо table). Рассмотрим досадные ошибки sql server, которые снижают скорость нашей разработки
https://falconspace.ru/list/sqlserver/rasprostranennye-oshibki-sql-v-khranimykh-procedurakh-i-zaprosakh---193
#db
👉 @database_info
Я не буду описывать совсем банальные вроде ошибки синтаксиса (talbe вместо table). Рассмотрим досадные ошибки sql server, которые снижают скорость нашей разработки
https://falconspace.ru/list/sqlserver/rasprostranennye-oshibki-sql-v-khranimykh-procedurakh-i-zaprosakh---193
#db
👉 @database_info
👍3
Представления в SQL
Здравствуйте, в этой статье будут разобраны представления или view в SQL. На простых примерах объясним как создавать представления и как к ним обращаться. Также затронем понятие модифицируемого представления в SQL.
https://telegra.ph/Predstavleniya-v-SQL-06-18
#SQL
👉 @database_info
Здравствуйте, в этой статье будут разобраны представления или view в SQL. На простых примерах объясним как создавать представления и как к ним обращаться. Также затронем понятие модифицируемого представления в SQL.
https://telegra.ph/Predstavleniya-v-SQL-06-18
#SQL
👉 @database_info
❤5👍2👎1
Ограничение DEFAULT в SQL
Ограничение DEFAULT используется для установки значений по умолчанию при попытке вставить пустое (NULL) значение в столбец. Например:
Здесь значением по умолчанию для столбца college_country является Japan.
Если мы попытаемся сохранить значение NULL в столбце college_country, то значением станет Japan. Например:
Ограничение DEFAULT с ALTER TABLE
Мы также можем добавить ограничение DEFAULT к существующему столбцу с помощью оператора ALTER TABLE. Например:
SQL Server
Здесь значением по умолчанию для столбца college_country является Japan, если кто-то попытается вставить NULL.
Удалить ограничение DEFAULT
Мы можем удалить ограничение DEFAULT, используя оператор DROP. Например:
SQL Server, PostgreSQL, Oracle
Здесь мы удаляем ограничение DEFAULT из столбца college_country.
#db
👉 @database_info
Ограничение DEFAULT используется для установки значений по умолчанию при попытке вставить пустое (NULL) значение в столбец. Например:
CREATE TABLE Colleges (
college_id INT PRIMARY KEY,
college_code VARCHAR(20),
college_country VARCHAR(20) DEFAULT 'Japan'
);Здесь значением по умолчанию для столбца college_country является Japan.
Если мы попытаемся сохранить значение NULL в столбце college_country, то значением станет Japan. Например:
-- Вставляем значение 'Japan' в столбец college_country
INSERT INTO Colleges (college_id, college_code)
VALUES (1, 'ARP76');
-- Вставляем значение 'UAE' в столбец college_country
INSERT INTO Colleges (college_id, college_code, college_country)
VALUES (2, 'JWS89', 'UAE');Ограничение DEFAULT с ALTER TABLE
Мы также можем добавить ограничение DEFAULT к существующему столбцу с помощью оператора ALTER TABLE. Например:
SQL Server
ALTER TABLE Colleges
ADD CONSTRAINT country_default
DEFAULT 'Japan' FOR college_country;
PostgreSQL
ALTER TABLE Colleges
ALTER COLUMN college_code SET DEFAULT 'Japan';
MySQL
ALTER TABLE Colleges
ALTER college_country SET DEFAULT 'Japan';
Oracle
ALTER TABLE Colleges
MODIFY college_country DEFAULT 'Japan';Здесь значением по умолчанию для столбца college_country является Japan, если кто-то попытается вставить NULL.
Удалить ограничение DEFAULT
Мы можем удалить ограничение DEFAULT, используя оператор DROP. Например:
SQL Server, PostgreSQL, Oracle
ALTER TABLE Colleges
ALTER COLUMN college_country DROP DEFAULT;
MySQL
ALTER TABLE Colleges
ALTER college_country DROP DEFAULT;
Здесь мы удаляем ограничение DEFAULT из столбца college_country.
#db
👉 @database_info
👍6👏2
Как вместо id подставить значение sql
Чтобы вместо значения id вставить другое значение в SQL, вы можете использовать оператор UPDATE для обновления данных в таблице.
Допустим, у вас есть таблица my_table со столбцами id, name и age. Чтобы обновить значение name для строки с определенным значением id, используйте следующий запрос:
В этом запросе my_table - это название вашей таблицы, name - это название столбца, значение которого нужно обновить, New Name - это новое значение, которое вы хотите установить, а id = 1 - это условие, которое определяет, какая строка должна быть обновлена. Вместо 1 вы можете использовать любое значение, которое соответствует условию.
Также вы можете использовать оператор UPDATE для обновления нескольких столбцов в одной строке.
Например, чтобы обновить значения столбцов name и age для строки с определенным значением id, используйте следующий запрос:
В результате выполнения этого запроса значения столбцов name и age будут обновлены для строки с id равным 1.
#db
👉 @database_info
Чтобы вместо значения id вставить другое значение в SQL, вы можете использовать оператор UPDATE для обновления данных в таблице.
Допустим, у вас есть таблица my_table со столбцами id, name и age. Чтобы обновить значение name для строки с определенным значением id, используйте следующий запрос:
UPDATE my_table SET name = 'New Name' WHERE id = 1;В этом запросе my_table - это название вашей таблицы, name - это название столбца, значение которого нужно обновить, New Name - это новое значение, которое вы хотите установить, а id = 1 - это условие, которое определяет, какая строка должна быть обновлена. Вместо 1 вы можете использовать любое значение, которое соответствует условию.
Также вы можете использовать оператор UPDATE для обновления нескольких столбцов в одной строке.
Например, чтобы обновить значения столбцов name и age для строки с определенным значением id, используйте следующий запрос:
UPDATE my_table SET name = 'New Name', age = 30 WHERE id = 1;В результате выполнения этого запроса значения столбцов name и age будут обновлены для строки с id равным 1.
#db
👉 @database_info
👍2
Media is too big
VIEW IN TELEGRAM
Оконные функции в SQL (Границы оконных функций)
В предыдущем видео мы говорили про аналитические оконные функции. Сегодня продолжаем тему оконных функций и речь пойдет о таком важном и полезном параметре, как границы окон.
Тайм-коды в видео:
00:00 Начало
00:16 Описание инструкций ROWS и RANGE
02:39 Инструкция UNBOUNDED PRECEDING
03:32 Инструкция UNBOUNDED FOLLOWING
04:07 Инструкция «Числовое значение» PRECEDING
04:58 Инструкция «Числовое значение» FOLLOWING
06:43 Инструкция BETWEEN (применение INTERVAL)
09:25 Сравнение ROWS и RANGE
11:02 Значение по умолчанию при ORDER BY
11:52 Заключение
источник
#db
👉 @database_info
В предыдущем видео мы говорили про аналитические оконные функции. Сегодня продолжаем тему оконных функций и речь пойдет о таком важном и полезном параметре, как границы окон.
Тайм-коды в видео:
00:00 Начало
00:16 Описание инструкций ROWS и RANGE
02:39 Инструкция UNBOUNDED PRECEDING
03:32 Инструкция UNBOUNDED FOLLOWING
04:07 Инструкция «Числовое значение» PRECEDING
04:58 Инструкция «Числовое значение» FOLLOWING
06:43 Инструкция BETWEEN (применение INTERVAL)
09:25 Сравнение ROWS и RANGE
11:02 Значение по умолчанию при ORDER BY
11:52 Заключение
источник
#db
👉 @database_info
👍7❤1👎1
Как сделать Case Sensitive сравнение в MySQL. Решение
Небинарные строки (CHAR, VARCHAR, TEXT) в MySQL по умолчанию не чувствительны к регистру. Поэтому запрос SELECT * FROM enterprise WHERE company = ‘SPG‘ выведет все три строки.
Для вывода только одной записи с ‘SPG’ существуют следующие решения:
1. Приведение столбца к типу BINARY (т.к. тип BINARY чувствителен к регистру):
2. Выбор чувствительного к регистру набора символов с помощью COLLATE:
#db
👉 @database_info
Небинарные строки (CHAR, VARCHAR, TEXT) в MySQL по умолчанию не чувствительны к регистру. Поэтому запрос SELECT * FROM enterprise WHERE company = ‘SPG‘ выведет все три строки.
Для вывода только одной записи с ‘SPG’ существуют следующие решения:
1. Приведение столбца к типу BINARY (т.к. тип BINARY чувствителен к регистру):
SELECT * FROM enterprise WHERE BINARY company = ‘SPG‘;2. Выбор чувствительного к регистру набора символов с помощью COLLATE:
SELECT * FROM enterprise WHERE company COLLATE utf8mb4_0900_as_cs = ‘SPG‘;#db
👉 @database_info
👍2
Как распарсить строку в sql
Для того чтобы распарсить строку в SQL, можно использовать различные функции и операторы, в зависимости от конкретных требований и формата строки.
Например, если строка содержит разделители, такие как запятые или пробелы, то можно использовать функцию
Результатом запроса будет строка Привет.
Если же требуется извлечь определенный набор символов из строки, то можно использовать функцию
Результатом запроса будет строка При.
Также можно использовать функцию
Результатом запроса будет строка Привет.
#db
👉 @database_info
Для того чтобы распарсить строку в SQL, можно использовать различные функции и операторы, в зависимости от конкретных требований и формата строки.
Например, если строка содержит разделители, такие как запятые или пробелы, то можно использовать функцию
SUBSTRING_INDEX() для извлечения определенного фрагмента строки. Например, следующий запрос извлекает первое слово из строки Привет, мир:SELECT SUBSTRING_INDEX('Привет, мир', ' ', 1);Результатом запроса будет строка Привет.
Если же требуется извлечь определенный набор символов из строки, то можно использовать функцию
SUBSTRING(). Например, следующий запрос извлекает первые три символа из строки Привет:SELECT SUBSTRING('Привет', 1, 3);Результатом запроса будет строка При.
Также можно использовать функцию
REGEXP_SUBSTR() для извлечения определенного фрагмента строки, используя регулярные выражения. Например, следующий запрос извлекает первое слово из строки Привет, мир:SELECT REGEXP_SUBSTR('Привет, мир', '^[^ ]+');Результатом запроса будет строка Привет.
#db
👉 @database_info
👍5👏3
Вывести последнюю запись в SQL
Для того чтобы вывести последнюю запись из таблицы в SQL можно воспользоваться следующим запросом:
Где
#db
👉 @database_info
Для того чтобы вывести последнюю запись из таблицы в SQL можно воспользоваться следующим запросом:
SELECT *
FROM table_name
ORDER BY id DESC
LIMIT 1;Где
table_name - это название таблицы, а id - это уникальный идентификатор записи. Здесь мы сначала сортируем записи по убыванию id, затем с помощью LIMIT 1 ограничиваем результат одной записью, что и позволяет вывести последнюю запись из таблицы.#db
👉 @database_info
👍4🔥2❤1
Foreign key sql что это
Foreign key (внешний ключ) в SQL - это столбец или набор столбцов в таблице, который связывается с
При использовании внешнего ключа в SQL можно устанавливать правила для обновления и удаления данных в связанных таблицах. Например, можно настроить каскадное удаление, чтобы при удалении записи из родительской таблицы также удалялись связанные записи из дочерней таблицы.
Использование внешнего ключа в SQL повышает целостность данных, обеспечивает надежность связей между таблицами и упрощает работу с данными, позволяя избегать ошибок при внесении изменений в базу данных.
#db
👉 @database_info
Foreign key (внешний ключ) в SQL - это столбец или набор столбцов в таблице, который связывается с
Primary key (основным ключом) или уникальным ключом в другой таблице. Он служит для установления связи между двумя таблицами и обеспечивает целостность данных, позволяя контролировать ссылочную целостность в базе данных.Foreign key определяет отношение между двумя таблицами: родительской таблицей (содержащей основной ключ) и дочерней таблицей (содержащей внешний ключ). Связь между ними обеспечивает ссылочную целостность, что означает, что значения внешнего ключа должны существовать как значения в основном ключе в другой таблице.При использовании внешнего ключа в SQL можно устанавливать правила для обновления и удаления данных в связанных таблицах. Например, можно настроить каскадное удаление, чтобы при удалении записи из родительской таблицы также удалялись связанные записи из дочерней таблицы.
Использование внешнего ключа в SQL повышает целостность данных, обеспечивает надежность связей между таблицами и упрощает работу с данными, позволяя избегать ошибок при внесении изменений в базу данных.
#db
👉 @database_info
👍6❤2
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://news.1rj.ru/str/sysadminoff Новости Линукс Linux
https://news.1rj.ru/str/tikon_1 Новости высоких технологий, науки и техники💡
https://news.1rj.ru/str/mir_teh Мир технологий (Technology World)
https://news.1rj.ru/str/rust_lib Полезный контент по программированию на Rust
https://news.1rj.ru/str/golang_lib Библиотека Go (Golang) разработчика
https://news.1rj.ru/str/itmozg Программисты, дизайнеры, новости из мира IT.
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике
https://news.1rj.ru/str/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://news.1rj.ru/str/nodejs_lib Подборки по Node js и все что с ним связано
https://news.1rj.ru/str/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://news.1rj.ru/str/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://news.1rj.ru/str/cpp_lib Библиотека C/C++ разработчика
https://news.1rj.ru/str/cpp_knigi Книги для программистов C/C++
https://news.1rj.ru/str/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
https://news.1rj.ru/str/python_360 Книги по Python Rus
Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
https://news.1rj.ru/str/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
https://news.1rj.ru/str/frontend_sovet Frontend советы, примеры и практика!
https://news.1rj.ru/str/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр
Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
Чат программистов📌
https://news.1rj.ru/str/developers_ru
Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
https://news.1rj.ru/str/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
https://news.1rj.ru/str/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров
Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля
Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике
Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://news.1rj.ru/str/sysadminoff Новости Линукс Linux
https://news.1rj.ru/str/tikon_1 Новости высоких технологий, науки и техники💡
https://news.1rj.ru/str/mir_teh Мир технологий (Technology World)
https://news.1rj.ru/str/rust_lib Полезный контент по программированию на Rust
https://news.1rj.ru/str/golang_lib Библиотека Go (Golang) разработчика
https://news.1rj.ru/str/itmozg Программисты, дизайнеры, новости из мира IT.
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике
https://news.1rj.ru/str/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://news.1rj.ru/str/nodejs_lib Подборки по Node js и все что с ним связано
https://news.1rj.ru/str/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://news.1rj.ru/str/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://news.1rj.ru/str/cpp_lib Библиотека C/C++ разработчика
https://news.1rj.ru/str/cpp_knigi Книги для программистов C/C++
https://news.1rj.ru/str/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
https://news.1rj.ru/str/python_360 Книги по Python Rus
Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
https://news.1rj.ru/str/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
https://news.1rj.ru/str/frontend_sovet Frontend советы, примеры и практика!
https://news.1rj.ru/str/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр
Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
Чат программистов📌
https://news.1rj.ru/str/developers_ru
Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
https://news.1rj.ru/str/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
https://news.1rj.ru/str/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров
Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля
Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике
Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
Детализированные стратегии кэширования динамических запросов
Сегодня я хотел бы поговорить о стратегиях кэширования для совокупных запросов к часто обновляемым данным, основанным на времени. На предыдущем месте работы я провел немало «мозговых циклов» и с удовольствием поделюсь некоторыми своими находками.
https://jensrantil.github.io/posts/fast-aggregate-queries-on-dynamic-data/
#db
👉 @database_info
Сегодня я хотел бы поговорить о стратегиях кэширования для совокупных запросов к часто обновляемым данным, основанным на времени. На предыдущем месте работы я провел немало «мозговых циклов» и с удовольствием поделюсь некоторыми своими находками.
https://jensrantil.github.io/posts/fast-aggregate-queries-on-dynamic-data/
#db
👉 @database_info
👍3
Битый или небитый? Как обеспечить целостность данных в Postgres Pro
Любому IT-администратору важно знать состояние оборудования, за которое он отвечает. Сбои в хранилище или файловой системе, повреждения страниц в оперативной памяти могут отразиться на целостности данных во всей БД. В этой статье мы расскажем, какие инструменты СУБД Postgres Pro помогут защитить ваши данные и предупредить реальные проблемы.
https://habr.com/ru/companies/postgrespro/articles/825796/
#db
👉 @database_info
Любому IT-администратору важно знать состояние оборудования, за которое он отвечает. Сбои в хранилище или файловой системе, повреждения страниц в оперативной памяти могут отразиться на целостности данных во всей БД. В этой статье мы расскажем, какие инструменты СУБД Postgres Pro помогут защитить ваши данные и предупредить реальные проблемы.
https://habr.com/ru/companies/postgrespro/articles/825796/
#db
👉 @database_info
❤4👍2
База данных PostgreSQL
Часть 1. Установка и настройка
Часть 2. Язык запросов SQL
Часть 3. Реляционная модель
Часть 4. Поиск и анализ данных
Часть 5. Индексы
источник
#PostgreSQL #db
👉 @database_info
Часть 1. Установка и настройка
Часть 2. Язык запросов SQL
Часть 3. Реляционная модель
Часть 4. Поиск и анализ данных
Часть 5. Индексы
источник
#PostgreSQL #db
👉 @database_info
👍9❤1