Помощь по составлению зпросов SQL ( на все случаи жизни)

SERG454

Client
Регистрация
14.10.2021
Сообщения
145
Благодарностей
143
Баллы
43
Есть замечательные тема "Регулярные выражения на все случаи жизни" ,
очень хотелось бы аналогичную по составлению запросов на языке SQL и пояснении некоторых нюансов работы с базами и чтобы в одном месте.

в продолжении тем

Базы данных на пальцах (для новичков)
Заготовка для работы с БД MySQL в кубике C#


PS
Можно ещё накидать ссылок на страницы Zennolab
И если разрешено на сторонние ресурсы , удобные конструкторы , только те которые реально помогают ( может под кат или модифицировать , чтобы прямых не было)
Может кто из опытных в SQL пересоздаст тему под себя , а эту можно будет удалить
 

SERG454

Client
Регистрация
14.10.2021
Сообщения
145
Благодарностей
143
Баллы
43
Собственно первый вопрос
Есть три стула таблицы ,в одной DB (T1,T2,T3)
Задача на основании данных из t1 и t2 , наполнить t3, перенеся и сгруппировав данные из нескольких ячеек в одну ( например с разделителем через запятую ,
просто перенести записи ( без объeдинения данных ) можно по примеру
95162

Прошу совета ,спасибо!
ps почемуто сайт зеннолаб не даёт вставить этот код - выдаёт ошибку
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 245
Благодарностей
673
Баллы
113
Есть замечательные тема "Регулярные выражения на все случаи жизни" ,
очень хотелось бы аналогичную по составлению запросов на языке SQL и пояснении некоторых нюансов работы с базами и чтобы в одном месте.

в продолжении тем

Базы данных на пальцах (для новичков)
Заготовка для работы с БД MySQL в кубике C#


PS
Можно ещё накидать ссылок на страницы Zennolab
И если разрешено на сторонние ресурсы , удобные конструкторы , только те которые реально помогают ( может под кат или модифицировать , чтобы прямых не было)
Может кто из опытных в SQL пересоздаст тему под себя , а эту можно будет удалить
Речь про синтаксис? Там все довольно просто. Есть основные ключевые слова, причем это чисто английский.

INSERT - вставить
UPDATE- обновить
SELECT - выбрать
DELETE - удалить

А потом идет

WHERE - где
FROM - откуда
INTO - куда


Это основное, если не говорить про команды для создания самой таблицы.

ORDER BY - это сортировка
ORDER BY ASC - сортировка по убыванию
ORDER BY DESC - сортировка по возрастанию
LIMIT 1 - максимальное количество строк которые мы получим в ответе
AND - и


Вот как пример строка из темы которая в старт посте

SELECT

SELECT login, PASSWORD, link FROM db_vkaccounts WHERE STATUS='свободен' AND db_vkaccounts.CHECK='живой' AND destination='парсинг' AND kolPostov < 100 AND date_registration > '2021-02-07' ORDER BY last_activity LIMIT 1


SELECT login (выбрать столбцы login, PASSWORD, link)
FROM (в таблице db_vkaccounts)
WHERE (где STATUS='свободен')
AND ( и db_vkaccounts.CHECK='живой')
AND ( и destination='парсинг')
AND (и kolPostov < 100)
AND (и date_registration > '2021-02-07')
ORDER BY (отсортировать результаты по содержимому строки last_activity) без явного указания способа сортировки
LIMIT 1 (лимит на количество строк из базы)


INSERT

INSERT INTO Proxy (ProxyLine, Status, ProxyChangeIpUrl) VALUES ('1234', 'Free', '1222')

INSERT INTO Proxy - ВСТАВИТЬ в таблицу Proxy

(ProxyLine, Status, ProxyChangeIpUrl) - перечисление столбцов в которые будем данные запихивать

VALUES после этого ключевого слова идут данные которые будем вставлять в том порядке, в котором мы указывали названия столбцов.


UPDATE

UPDATE Proxy SET Status = 'Free', Status2 = 'Free' WHERE ProxyLine = '123'

UPDATE Proxy - ОБНОВИТЬ в таблице Proxy

SET Status = 'Free', Status2 = 'Free' - УСТАНОВИТЬ новые значения для столбцов Status и Status2

WHERE ProxyLine = '123' - ГДЕ значение в строке ProxyLine = '123'
 

SERG454

Client
Регистрация
14.10.2021
Сообщения
145
Благодарностей
143
Баллы
43
как шпаргалка подойдёт , речь про пример выше ( не смог сразу выложить , почемуто форум не даёт этот код напрямую вставить , без картинки)
БОльше интересует составление большого числа обращений между таблицами базы за один запрос к самой базе ,то при 10 потоках у меня "опен сервер" подвисает ,а при 20 падает с ошибками переполняя оперативку)
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 245
Благодарностей
673
Баллы
113
как шпаргалка подойдёт , речь про пример выше ( не смог сразу выложить , почемуто форум не даёт этот код напрямую вставить , без картинки)
БОльше интересует составление большого числа обращений между таблицами базы за один запрос к самой базе ,то при 10 потоках у меня "опен сервер" подвисает ,а при 20 падает с ошибками переполняя оперативку)
А данные из таблицы Т1 и Т2 удаляем после того как их от туда забрали? да и иметь бы пример данных в таблице 1 и в таблице 2, и в каком виде это на выходе должно быть
 
Последнее редактирование:

SERG454

Client
Регистрация
14.10.2021
Сообщения
145
Благодарностей
143
Баллы
43
не обязательно ,
я для контроля беру параметр , например name ,из внешнего списка ( строка с удалением) и по этому параметру ищу в таблицах что нужно перенести в третью...
а вообще бы да - сделать внутренний цикл (на языке БД) в контексте одного запроса к БД из зенки , и перенетси все данные из двух таблиц в третью сгруппировав как надо....интересно такое реализуемо?))
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 245
Благодарностей
673
Баллы
113
не обязательно ,
я для контроля беру параметр , например name ,из внешнего списка ( строка с удалением) и по этому параметру ищу в таблицах что нужно перенести в третью...
а вообще бы да - сделать внутренний цикл (на языке БД) в контексте одного запроса к БД из зенки , и перенетси все данные из двух таблиц в третью сгруппировав как надо....интересно такое реализуемо?))
Я думал в сторону того, что одним запросом получить из таблицы все данные, поместить их в лист, со второй таблицы точно так же получить все данные и засунуть в лист2, а затем с помощь конкатенации все это дело слепить и в цикле уже наполнить этими данными таблицу номер 3
 

SERG454

Client
Регистрация
14.10.2021
Сообщения
145
Благодарностей
143
Баллы
43
не успел отредактировать , напишу исправленное здесь
вот подробнее с данными
пример
вот например
таблица t1 столбцы -

таблица t3 столбцы -

результат нужен в

таблицу t2 столбцы -

тип данных varchar




Удалять данные из таблиц доноров - не обязательно ,

Сейчас,я для контроля беру параметр , например name ,из внешнего списка ( строка с удалением) и по этому параметру ищу в таблицах что нужно перенести в третью... но данных в таблице на 30 часов работы зенки (200 тыс строк где то , по 20 столбцов ) ,если в 5 потоков работать стандартным кубиком Z

Спасибо , посмотрю в сторону конкатенации
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)