MySQL-dən BLOB faylların oxunması

Deyək ki mən hər hansı bir şəkli bazada saxlamaq istəyirəm. Table yaradıram: [code] CREATE TABLE blob_test( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(10), file_type VARCHAR(10), my_file BLOB NOT NULL, PRIMARY KEY(id) );[/code] Daha sonra İnsert edirəm: [code]INSERT INTO blob_test(name,file_type,my_file) VALUES ('mysql','jpeg', LOAD_FILE('C:/Program Files/MySQL/MySQL Server 5.5/blog_output.png'));[/code] Və daha sonra da Select : [code]SELECT * FROM blob_test;[/code] Nəticə :) [code] mysql> select * from blob_test\G *************************** 1. row *************************** id: 1 name: mysql file_type: jpeg my_file: ëPNG → IHDR ☺¹ ♠ ├?¶l ‼hIDATx£ÿØ?kõH→çò▀8♠£▄à├└991╔NrÄ£Lµl╗┴░Ó×═ÿ♫╠}üë6↑↑î↕â╣d┐┴Ç;Ü═6╗p`0\p┘ ]á´[¬ÆJj§┤·ÿü▼ÒÚûTÛÀ̬_òJ¦╩∟ İ&;¶ └~┴ì☺ îâ┘♥ ↑│ 0♫f☼ `∟╠▲ └8İ= Çq0{ Ò`÷ ã ì☺ îâ┘♥ ↑│ 0♫f☼ `∟╠▲ └8İ= Çq0{ Ò`÷ ã┴ì☺ îâ┘♥ ↑│ 0♫f☼ `∟╠▲ └8İ= Çq0{ Ò`÷ fÅ►B╚£0{═,f █O?©?■²W¸[»A ╔²▀´¦▼_▀'o¹▀ş■ä┘#ä►→-╠^│ú┘ ┘}²·Ì²±§o¯¸í┘°?■V→}Ñ>#O9÷í‼ !äºr ┘kv0¹╩îgÚS═¥▀­☼Ø!äû+╠^3ªìÙK?© ³%qئ3¹» ↑╣ş7¿8t"!ä►Z«0{═$│ ÿğ▼↕ÎÌC│¶æâ♦▒Í/»♠∟:æ►-Wİ¢fé┘ÀĞØv) zZ═ÓB\╬?t"!ä►Z«0{═h│oıw─Ñx▀┤ §Q¹╔%Ç║╠C'↕íÕ │Îî6¹▀ 5ÕR╝6ÿ▒âäÿ_■Û■[/☺T♥àC'↕íÕ │Îî4¹®Ù¯r `┬~Êì½%ÇC'↕íÕ │Îì`÷ ▀¡☼«█O┘»[«¼È¹│╠eYµ▓│╠}¨9s_.¶ â╔pò╣¹ø´Ù,sÎWËô¬)┐:NR¨Án2¸6a█Ù¼-#øz¥ëeıU_³ÛX°´?Ş´­9&ŞK [/code] başa düşüləndi :) BLOB faylı database-e insert edirəm bu heç. Sual belədir: Yalnız SQL, MySQL Stored Routine və yaxud PL\SQL və yaxud hər hansı database-də gedən (proqramlaşdırma dilindən istifadə etmədən) əməliyyat nəticəsində bu faylı geri oxuyub photo şəklində başqa bir directory-yə yaza bilərəm mi? :)

Verilmiş cavablar və yazılan şərhlər (10 cavab var)

NModern (2012-04-13 19:36:21)
hərdən qoğal əmiyə də müraciət edin

NModern (2012-04-13 19:35:15)
http://stackoverflow.com/questions/4646533/exporting-blob-from-mysql-database-to-file-with-only-sql buradan baxin

NModern (2012-04-13 19:34:56)

Shahriyar Rzayev (2012-04-12 16:56:29)
ID olsun ya olmasın nəticə eynidir. Əgər 50-60 dənə şəkil olsaydı mən də bilirəm ki, İD-ni qeyd etmək lazım idi ki yalnız 1 photo çıxsın. indiki halda cəmi 1 qeyd var table-da. ona görə də: SELECT * FROM blob_test; = SELECT * FROM blob_test where id=1; Sən verdiyin link isə documentation linkidi. 11.4.3. The BLOB and TEXT Types --- BLOB və TEXT-in nə olduğunu izah edir. Orda mənim istədiyim yoxdu axı. SQL ilə etmək olursa onda necə? MySQL Stored Routine-lə etmək olarsa o da necə? :)

Cabbarov Sübhan (2012-04-12 13:20:28)
Məncə yenədə id bildirilməlidir. SQL 100% bunu bacarır. İnternetdəki məlumatlara görə MySQL da bunu edə bilir. Yuxarıdakı link də izah olunub.

Shahriyar Rzayev (2012-04-12 10:09:13)
php və yaxud java-da bunu etmək olur mən sırf database-in öz imkanları ilə bunu etmək istəyirdim :) maraq üçün...

Elvin Hacı (2012-04-12 09:46:47)
Salam. Yaza bilərsiniz. Amma return edəndə header JPEG kimi vermək lazımdır, sizin kodda əsas çatmayan budur. Məsələn [code]<img src="image.php?id=1" alt="" />[/code] vermisinizsə, image php faylında üst hissədə header("Content-Type: image/jpeg"); belə bir şey olmalıdır, ardıyca da sizin mysql-dən oxuduğunuz data. P.S. Bazada şəkli saxlamaq çox əlverişsiz bir şeydir. Ondansa sadece path-ını saxlayın, özünü faylssistemə atın.

Shahriyar Rzayev (2012-04-12 09:38:37)
Əgər mənim table-ımda cəmi bir qeyd varsa və onun İD-si 1-dirsə onda where id=1 yazmağa ehtiyac yoxdu :) Məncə SQL-in belə bir imkanı yoxdur. amma pl\sql və yaxud mysql routine-lə bunu etmək olar amma necə?

Cabbarov Sübhan (2012-04-11 22:32:16)
Bura baxa bilərsən

Cabbarov Sübhan (2012-04-11 22:23:30)
sizin məlumatı oxuma tərziniz səhvdi axı. [code]SELECT * FROM blob_test;[/code] Yuxarıdakı kod blob_test cədvəlində olan bütün qeydləri göstərir. siz konkiret lazım olan şəkilin nəyinisə (məsələn id) bildirməlisiniz. [code]SELECT * FROM blob_test where id=1;[/code] Yuxarıda id nömrəsi 1 olan qeydi seçəcək. Ancaq mən bilən mysql dilinin belə imkanı yoxduki şəkli çıxara bilsin. SQL dilin belə bir imkanı olmalıdı.

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

Mysql-la bağlı problem.

Pdo mysql bağlanısı olmur

Ajax haqqında

Java-mysql problem

WordPress saytda vidgetleri editlemek və yeni vidgetlerin əlavə edilməsi haqqında

Melmumatın bazada olub-olmadığını yoxlamaq