Здесь я приведу некоторые примеры полезных запросов в MySQL которые, как я думаю, многим могут пригодиться. Во всяком случае, когда я искал такую информацию, я так и не смог найти ничего дельного. Поэтому дошёл своим умом помаленьку. Данные запросы помогут сэкономить время и не писать процедуры для обработки данных, которые работают в разы медленнее, или помогут сделать эти процедуры значительно быстрее. Запросы показывают как в MySQL можно делать изменение записей в таблице, с перебором по всем необходимым значениям и с проверкой необходимых условий но без всяких переборов, только средствами MySQL одним запросом.
Итак приступим:
Вставка в таблицу данных из выборки:
insert into `Table1` (`Field1`,`Field2`)
select `Table2`.`Field1`, `Table2`.`Field2`
from `Table2` where `Field1`=0
Этот скрипт вставит в таблицу
Table1 данные из таблицы
Table2 удовлетворяющие заданному условию.
Если мы хотим добавить таблицу
Table1 данными из выборки то это может выглядеть так:
insert into `Table1` (`Field1`,`Field2`)
select `Table2`.`Field1`, `Table2`.`Field2`
from `Table2`
where (`Field1` not in(select `Field1` from `Table1`))
Таким образом из выборки будут вставлены только те записи которых нет в
Table1 (имеется ввиду нет со значением поля
Field1).
Так-же думаю будет интересен пример изменения значений в одной таблице с заполенением этих значений из другой.
update `Table1` set `Table1`.`Field2`=(select `Table2`.`Field2` from `Table2`
where `Table2`.`Field1`=`Table1`.`Field1`)
Этот скрипт изменит значения в таблице
Table1 заменив их на соответствующие по значениям
Field1 из таблицы
Table2.
Можно всё это делать и с более сложными условиями и вложенными запросами. Если есть вопросы, или предложения, пишите. Буду рад ответить и пообщаться.
Комментарии (0)
RSS свернуть / развернутьТолько зарегистрированные и авторизованные пользователи могут оставлять комментарии.