SQL и БД Learning – Telegram
SQL и БД Learning
10.2K subscribers
797 photos
9 videos
22 files
445 links
№ 5060218708

Изучаем SQL с нуля

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
Как быстро заполнить таблицу 1 000 000 ТЕСТОВЫХ записей?

Создадим таблицу samples с точно такой же структурой, что и таблица tests. Заполним ее 10 тестовыми записями.

CREATE TABLE samples (
noscript varchar(256) NOT NULL
);

INSERT INTO
samples (noscript)
VALUES
('8iRDgsEIq4GmOs32FnHM3b3cH60n3mm8070'),
('UAmsXyrKgApfHMyV2kUrYqLphN99Q7TJSoe'),
('OX1qiFeTigcOTO5JVvgFk7MRDgjgatkTqwL'),
('CT9Kfbplp4QC87G32UIKlkGd31jdjt4qH4f'),
('WsAhjBL5tAgihYZBtX97FNUmEpXavhb4CRw'),
('LwaitJ5dieXyixEmjJXhhqDY8Zg9Tu5ecoV'),
('KpHsnqrcMCpkRxkGNMjEJV0jFaeucPtbLWe'),
('t2GSIDOvW14eMlroAWrRR6xU5DoeNUXY0lD'),
('rSvrEPxR8rcw7QYjXfeNdyf3LpqYNHu3W7a'),
('6liUHPkjnygSatoUB4juZ5TaJZjaxHpR4BL');


Для того, чтобы превратить 10 записей из таблицы samples в 1 000 000 записей произведем самообъединение таблицы samples шесть раз

SELECT
fst.noscript
FROM
samples AS fst,
samples AS snd,
samples AS thd,
samples AS fth,
samples AS fif,
samples AS sth;


Оператор JOIN, который в SQL может быть заменен обычной запятой, осуществляет декартово соединение таблиц, когда каждой записи одной таблицы сопоставляется каждая запись другой таблицы. Таким образом, если в одной таблице 10 записей и в другой таблице 10 записей, результирующая таблица, полученная их соединением через JOIN будет содержать 100 записей. Как нетрудно увидеть

10 x 10 x 10 x 10 x 10 x 10 = 1 000 000 записей
Если в таблице samples будет 100 записей, для получения 1 000 000 записей будет достаточно соединений трех таких таблиц, если в samples будет 1000 записей, будет достаточно объединить таблицу саму с собой один раз.

Вставить результат в целевую таблицу tests можно при помощи оператора INSERT ... SELECT ...

INSERT INTO
tests
SELECT
fst.noscript
FROM
samples AS fst,
samples AS snd,
samples AS thd,
samples AS fth,
samples AS fif,
samples AS sth;
👍133
Какой результат возвратит код для таблицы с картинки выше:

SELECT COUNT (city) FROM table;
Anonymous Quiz
2%
1
1%
2
52%
3
31%
4
9%
Ничего из перечисленного
4%
Посмотреть ответы
👍15🔥3😱2
🔐 КАК ИЗМЕНИТЬ ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ MYSQL

Одной из важных операций при работе с пользователями в СУБД MySQL является смена пароля пользователя. Как правило изменить пароль пользователя может только суперпользователь с именем root. Однако если обычный пользователь наделен полномочиями на смену пароля то он также может это сделать.

В данной статье будет рассмотрено как изменить пароль пользователя MySQL в операционной системе Ubuntu 20.04.

Содержание статьи:

Как сменить пароль пользователя MySQL

Шаг 1. Как узнать версию MySQL
Шаг 2. Вход в консоль MySQL
Шаг 3. Просмотр хостов пользователя
Шаг 4. Смена пароля пользователя при помощи SET PASSWORD
Шаг 5. Смена пароля пользователя при помощи ALTER USER
Шаг 6. Сброс кэша привилегий
Шаг 7. Проверка нового пароля
Выводы

Смотреть статью
👍3
#Вопросы_с_собеседования

Для чего используются агрегатные функции?

Агрегатные функции используются для выполнения вычислений на одном или нескольких значениях и возвращают одиночное значение с осмысленной информацией.

Несколько примеров агрегатных функций: COUNT(), SUM(), MAX(), MIN(), AVG() и ROUND().
👍141
Есть библиотека с книгами. Оперируя сущностями «Книга» и «Автор», вы хотите сохранить реестр своей библиотеки в БД. Сколько таблиц понадобится для эффективного хранения такой структуры в 3-й нормальной форме?
Anonymous Quiz
9%
1
29%
2
43%
3
5%
4
14%
Посмотреть ответ
👍111
С помощью какого запроса можно получить текущую структуру таблицы table?
Anonymous Quiz
32%
SELECT * FROM table
33%
SHOW TABLE STRUCTURE table
30%
DESCRIBE table
4%
SELECT table
👍18
👍30
Использование функций регулярных выражений в PostgreSQL / Greenplum

Смотреть статью
👍11🔥2
Порядок выполнения команд в SQL
👍31🔥81
Создание поля, объединяющего имя и зарплату в выборке из таблицы пользователей

Для создания поля, которое будет включать в себя и имена, и зарплату, можно использовать функцию CONCAT(). Она объединяет две или более строковые величины в одну строку.

Пример SQL-запроса для создания поля new_field на фото.

В примере мы выбираем таблицу users и создаем новое поле с помощью функции CONCAT(). Внутри функции указываем два поля, которые хотим объединить - name и salary. Также задаем новое имя для созданного поля - new_field, используя AS.

Теперь в результате выполнения запроса в выборке будет присутствовать новое поле new_field, которое будет содержать имя пользователя и его зарплату.
👍14
Рассмотрение CASE WHEN THEN как оператор if

Одним из применений CASE WHEN THEN является использование ее в качестве замены оператора if в программировании.

Использование конструкции CASE WHEN THEN может значительно упростить код и улучшить читаемость запросов в базе данных.
10👍2🔥1
Аналитика небольших данных: как совместить Excel, Python и SQL с помощью инструментов с открытым исходным кодом

Смотреть статью
👍12
Одна из возможных версий переезда с MySQL на PostgreSQL

Смотреть статью
👍5🔥1
👍21🔥2
Использование PostgreSQL Enum в SQLAlchemy. И проблемы с ним

Смотреть статью
👍6
Синонимы в SQL

- это альтернативные имена для таблиц, представлений, функций и других объектов базы данных. Их использование уменьшает количество кода при написании запросов и повышает удобство использования базы данных.

Для создания синонима в SQL используется оператор CREATE SYNONYM. Например, для таблицы employees можно создать синоним emp следующим запросом:

CREATE SYNONYM emp FOR employees;

Теперь таблица employees доступна через синоним emp. Вместо имени таблицы используйте синоним в запросах:

SELECT * FROM emp;

Использование синонимов может ухудшить производительность запросов, так как SQL Server должен выполнить дополнительную работу для разрешения ссылки на объект через синоним.
👍10🔥3