दिलचस्प पोस्ट
क्यों नहीं java.util.Collection नए स्ट्रीम इंटरफ़ेस को लागू करता है? पायथन में datetime.time को एन सेकेंड जोड़ने का मानक तरीका क्या है? क्या करता है। कंटेनर। \ 31 25 \ 25 सीएसएस में क्या मतलब है? एंड्रॉइड 6.0 अनुमति त्रुटि JSONarray को सरणी सूची में कनवर्ट करना मार्कडाउन और एकाधिक फ़ाइलों सहित सूची और ArrayList के बीच अंतर क्या है? POST विधि के साथ स्विफ्ट में HTTP अनुरोध रेल कंसोल में एसक्यूएल प्रश्नों को कैसे दिखाया जाए? एक MySQL तालिका, अनुक्रमित और डेटा को डुप्लिकेट करना क्या वी = लिखने का कोई बेहतर तरीका है (v == 0? 1: 0); एंड्रॉइड: कम बैटरी उपयोग के साथ Google मानचित्र स्थान कैसे तीर कुंजियों के साथ एक div को स्थानांतरित करने के लिए HTTP और HTTPS दोनों अनुरोधों के लिए पूर्ण URL और सर्लेट में क्वेरी स्ट्रिंग प्राप्त करें Mysql_fetch_array और mysql_fetch_row के बीच का अंतर?

MySQL में बाइनरी डेटा

मैं MySQL में द्विआधारी डेटा कैसे स्टोर करूं?

Solutions Collecting From Web of "MySQL में बाइनरी डेटा"

Phpguy का जवाब सही है लेकिन मुझे लगता है कि वहाँ अतिरिक्त जानकारी में बहुत भ्रम है।

बुनियादी उत्तर एक BLOB डेटा प्रकार / विशेषता डोमेन में है। BLOB बाइनरी बड़ा ऑब्जेक्ट के लिए छोटा है और वह कॉलम डेटा प्रकार बाइनरी डेटा को संभालने के लिए विशिष्ट है।

MySQL के लिए प्रासंगिक पुस्तिका पृष्ठ देखें

इस तरह एक मेज के लिए:

 CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50) ); 

यहां एक PHP उदाहरण है:

 <?php // store.php3 - by Florian Dittmer <dittmer@gmx.net> // Example php script to demonstrate the storing of binary files into // an sql database. More information can be found at http://www.phpbuilder.com/ ?> <html> <head><title>Store binary data into SQL Database</title></head> <body> <?php // Code that will be executed if the form has been submitted: if ($submit) { // Connect to the database (you may have to adjust // the hostname, username or password). mysql_connect("localhost", "root", "password"); mysql_select_db("binary_data"); $data = mysql_real_escape_string(fread(fopen($form_data, "r"), filesize($form_data))); $result = mysql_query("INSERT INTO binary_data (description, bin_data, filename, filesize, filetype) ". "VALUES ('$form_description', '$data', '$form_data_name', '$form_data_size', '$form_data_type')"); $id= mysql_insert_id(); print "<p>This file has the following Database ID: <b>$id</b>"; mysql_close(); } else { // else show the form to submit new data: ?> <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data"> File Description:<br> <input type="text" name="form_description" size="40"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <br>File to upload/store in database:<br> <input type="file" name="form_data" size="40"> <p><input type="submit" name="submit" value="submit"> </form> <?php } ?> </body> </html> 

मैं एक रिलेशनल डेटाबेस में बाइनरी डेटा को संग्रहीत करने के विरुद्ध दृढ़ता से अनुशंसा करता हूं। संबंधपरक डेटाबेस तय-आकार वाले डेटा के साथ काम करने के लिए डिज़ाइन किए गए हैं; यही वह जगह है जहां उनका प्रदर्शन ताकत है: जोएल के पुराने लेख को याद करना क्यों डेटाबेस इतनी तेज़ हैं? क्योंकि यह एक रिकॉर्ड से दूसरे रिकॉर्ड तक ले जाने के लिए ठीक 1 सूचक वृद्धि लेता है। यदि आप अनिवार्य और बेहद भिन्न आकार के ब्लॉब डेटा जोड़ते हैं, तो आप प्रदर्शन को पेंच करेंगे

इसके बजाय, फ़ाइल सिस्टम में फ़ाइलें संग्रहीत करें, और अपने डेटाबेस में फ़ाइल नाम संचय करें

जब आपने यह नहीं कहा है कि आप क्या भंडारण कर रहे हैं, और आपके पास ऐसा करने का एक बड़ा कारण हो सकता है, अक्सर जवाब 'एक फाइल सिस्टम संदर्भ' के रूप में होता है और वास्तविक डेटा कहीं फाइल सिस्टम पर होता है

http://www.onlamp.com/pub/a/onlamp/2002/07/11/MySQLtips.html

यह उस डेटा पर निर्भर करता है जिसे आप स्टोर करना चाहते हैं। उपरोक्त उदाहरण में LONGBLOB डेटा प्रकार का उपयोग किया LONGBLOB , लेकिन आपको पता होना चाहिए कि अन्य बाइनरी डेटा प्रारूप हैं:

TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB
VARBINARY
BINARY

प्रत्येक का उपयोग के मामलों में है। यदि यह एक ज्ञात (लघु) लंबाई है (उदाहरण के लिए पैक किया गया डेटा) बार-बार या VARBINARY काम करेगा उनके पास सक्षम टन सूचकांक होने के अतिरिक्त लाभ हैं

हालांकि यह आवश्यक नहीं होना चाहिए, आप base64 एन्कोडिंग डेटा को कोशिश कर सकते हैं और इसे डीकोड कर सकते हैं। इसका मतलब है कि डीबी के पास केवल एस्की वर्ण होंगे। यह थोड़ा अधिक स्थान और समय लेगा, लेकिन बाइनरी डेटा के साथ कोई भी मुद्दा समाप्त हो जाएगा।

यदि – अनुशंसित नहीं है – ब्लॉब फ़ील्ड मौजूद है, तो आप इस तरह से डेटा सहेज सकते हैं:

 mysql_query("UPDATE table SET field=X'".bin2hex($bin_data)."' WHERE id=$id"); 

आइडिया यहां से लिया गया।

प्रश्न यह भी उठता है कि ब्लॉब में डेटा कैसे प्राप्त किया जाए। आप INSERT स्टेटमेंट में डेटा डाल सकते हैं, जैसा कि PHP उदाहरण दिखाता है (हालांकि आप addlashes के बजाय mysql_real_escape_string का उपयोग करना चाहिए) यदि फ़ाइल डेटाबेस सर्वर पर मौजूद है, तो आप MySQL का LOAD_FILE भी उपयोग कर सकते हैं

यहां उपलब्ध बेहतर भंडारण कार्यान्वयन आप फ्लोरियन के कार्यान्वयन के साथ समस्याओं में भाग लेंगे

जब मुझे बाइनरी डेटा संग्रहीत करने की आवश्यकता होती है तो मैं हमेशा VARBINARY प्रारूप का उपयोग करता VARBINARY , जैसा कि byd0nut प्रस्तुत किया byd0nut

आप दस्तावेज विषय के तहत MySQL वेबसाइट पर प्रलेखन पा सकते हैं 12.4.2 द्विरेखीय और विविध प्रकार के प्रकार

यदि आप पूछ रहे हैं कि फायनाजीज़ क्या हैं, तो कृपया सवाल क्यों देखें-क्यों -वर्बरी-के-वार्कर