Finar.ru
web.finar.ru
video.finar.ru
Темы для BootstrapNew!

Примеры MySQL-запросов

примеры SQL-запросов из реальной жизни

Автор: Филипп Казаков, дата: 2010-03-29, просмотров 3893
Тэги

тип: FAQ, темы: Веб-технологии

Любой язык программирования проще всего изучать на примерах. Обладая алгоритмичным складом ума и небольшим опытом, можно решить любую незнакомую задачу родственного характера. Когда мы учимся, мы структурируем собственные знания на сайте. Особенно те, которые достаются более чем двухминутным гуглингом. Это позволяет освободить голову от ненужных деталей и сосредоточиться на главном.

Как скопировать часть полей таблицы MySQL из одной БД в другую (на примере NetCat, что, впрочем неважно):

  • залить обе БД рядышком: (1) - исправную, но в UTF с битой кодировкой; и (2) - сломанную, требующую ремонта;
  • скопировать таблицу (1).message69 целиком в (2).message69a с помощью "Операции";
  • выполнить следующий SQL запрос (заменить все поля ~ObjPhoto*_** из одной таблицы в другую):
  1. UPDATE `Message69` m69
  2. SET    
  3. m69.`ObjPhoto1_01` = (SELECT m69r.`ObjPhoto1_01` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  4. m69.`ObjPhoto1_02` = (SELECT m69r.`ObjPhoto1_02` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  5. m69.`ObjPhoto1_03` = (SELECT m69r.`ObjPhoto1_03` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  6. m69.`ObjPhoto1_04` = (SELECT m69r.`ObjPhoto1_04` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  7. m69.`ObjPhoto1_05` = (SELECT m69r.`ObjPhoto1_05` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  8. m69.`ObjPhoto1_06` = (SELECT m69r.`ObjPhoto1_06` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  9. m69.`ObjPhoto1_07` = (SELECT m69r.`ObjPhoto1_07` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  10.  
  11. m69.`ObjPhoto2_01` = (SELECT m69r.`ObjPhoto2_01` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  12. m69.`ObjPhoto2_02` = (SELECT m69r.`ObjPhoto2_02` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  13. m69.`ObjPhoto2_03` = (SELECT m69r.`ObjPhoto2_03` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  14. m69.`ObjPhoto2_04` = (SELECT m69r.`ObjPhoto2_04` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  15. m69.`ObjPhoto2_05` = (SELECT m69r.`ObjPhoto2_05` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  16. m69.`ObjPhoto2_06` = (SELECT m69r.`ObjPhoto2_06` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  17. m69.`ObjPhoto2_07` = (SELECT m69r.`ObjPhoto2_07` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  18.  
  19. m69.`ObjPhoto3_01` = (SELECT m69r.`ObjPhoto3_01` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  20. m69.`ObjPhoto3_02` = (SELECT m69r.`ObjPhoto3_02` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  21. m69.`ObjPhoto3_03` = (SELECT m69r.`ObjPhoto3_03` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  22. m69.`ObjPhoto3_04` = (SELECT m69r.`ObjPhoto3_04` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  23. m69.`ObjPhoto3_05` = (SELECT m69r.`ObjPhoto3_05` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  24. m69.`ObjPhoto3_06` = (SELECT m69r.`ObjPhoto3_06` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  25. m69.`ObjPhoto3_07` = (SELECT m69r.`ObjPhoto3_07` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  26.  
  27. m69.`ObjPhoto4_01` = (SELECT m69r.`ObjPhoto4_01` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  28. m69.`ObjPhoto4_02` = (SELECT m69r.`ObjPhoto4_02` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  29. m69.`ObjPhoto4_03` = (SELECT m69r.`ObjPhoto4_03` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  30. m69.`ObjPhoto4_04` = (SELECT m69r.`ObjPhoto4_04` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  31. m69.`ObjPhoto4_05` = (SELECT m69r.`ObjPhoto4_05` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  32. m69.`ObjPhoto4_06` = (SELECT m69r.`ObjPhoto4_06` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  33. m69.`ObjPhoto4_07` = (SELECT m69r.`ObjPhoto4_07` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  34.  
  35. m69.`ObjPhoto5_01` = (SELECT m69r.`ObjPhoto5_01` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  36. m69.`ObjPhoto5_02` = (SELECT m69r.`ObjPhoto5_02` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  37. m69.`ObjPhoto5_03` = (SELECT m69r.`ObjPhoto5_03` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  38. m69.`ObjPhoto5_04` = (SELECT m69r.`ObjPhoto5_04` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  39. m69.`ObjPhoto5_05` = (SELECT m69r.`ObjPhoto5_05` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  40. m69.`ObjPhoto5_06` = (SELECT m69r.`ObjPhoto5_06` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  41. m69.`ObjPhoto5_07` = (SELECT m69r.`ObjPhoto5_07` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  42.  
  43. m69.`ObjPhoto6_01` = (SELECT m69r.`ObjPhoto6_01` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  44. m69.`ObjPhoto6_02` = (SELECT m69r.`ObjPhoto6_02` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  45. m69.`ObjPhoto6_03` = (SELECT m69r.`ObjPhoto6_03` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  46. m69.`ObjPhoto6_04` = (SELECT m69r.`ObjPhoto6_04` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  47. m69.`ObjPhoto6_05` = (SELECT m69r.`ObjPhoto6_05` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  48. m69.`ObjPhoto6_06` = (SELECT m69r.`ObjPhoto6_06` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`),
  49. m69.`ObjPhoto6_07` = (SELECT m69r.`ObjPhoto6_07` FROM `Message69a` m69r WHERE m69r.`Message_ID` = m69.`Message_ID`)
  • удалить (2).Message69a

SQL-запрос для замены "?" на "Евро" при сбое кодировки:

  1. SELECT Message_ID,
  2.        REPLACE(`BaseItem4`, '?', 'ЕВРО')
  3.        FROM `Message69` WHERE 1
  1. UPDATE `Message69`
  2. SET    `BaseItem4` = REPLACE(`BaseItem4`, '?', 'Евро')

Также можно (нужно) использовать энтити € или &#8364 вместо Евро.




Оставить комментарий 


Ваше имя:
->