А у нас новый сайт ----------------> www.ph-ph.ru!
Finar.ru
web.finar.ru
video.finar.ru
Темы для BootstrapNew!

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

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

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

темы: Веб-технологии тип: 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 вместо Евро.




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


Ваше имя:
->