MySql क्या है? MySql की विशेषताएं क्या है? MySQL का उपयोग कैसे किया जाता है? आइये जानिए MySQL डाटाबेस का सम्पूर्ण उपयोग और इसे कैसे करें MySQL डाटाबेस का उपयोग। What is MySQL? Know MySQL in Details in Hindi?
हिस्ट्री ऑफ़ MySQL
MySQL एक स्वतंत्र रूप से उपलब्ध ओरेकल समर्थित ओपन सोर्स रिलेशनल डाटाबेस मैनेजमेंट सिस्टम (R-DBMS-Relational Database Management System) है जो स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) का उपयोग करता है। MySQL का विकास 1994 में एक स्वीडिश कंपनी MySQL AB ने शुरू किया था।
सन माइक्रोसिस्टम्स (Sun Micro systems) ने 2008 में MySQL AB का अधिग्रहण किया और MySQL को सन माइक्रोसिस्टम्स ने 2010 को ओरेकल कारपोरेशन (Oracle Corporation) से बेच दिया गया था। एसक्यूएल भाषा (SQL – Structured Query Language) डेटाबेस में कंटेंट जोड़ने (Adding), एक्सेस (Accessing) करने और प्रबंधित (Managing) करने के लिए सबसे लोकप्रिय भाषा है।
इसका ज्यादातर उपयोग इसकी क्विक प्रोसेसिंग (Quick Processing), विश्वसनीयता, (Reliability) और प्रयोग करने में आसान (Easy to Use) होने के कारण किया जाता है। MySQL डेटाबेस द्वितीय सबसे व्यापक रूप से उपयोग किए जाने वाले रिलेशनल डेटाबेस मैनेजमेंट सिस्टम होने के कारण यह डेटाबेस को सीखना बहुत महत्वपूर्ण है, यदि आप डेटाबेस संचालित अनुप्रयोग विकसित करने की सोच रहे हैं।
क्या आप एक वेब डेवलपर (Web Developer) बनना चाहते हैं? या एक सॉफ्टवेयर डेवलपर (Software Developer)? या फिर एक प्रोग्रामर (Programmer)? फिर भी MySQL डेटाबेस आपके सीखने की सूची में अनिवार्य डेटाबेस में से एक होना चाहिए।यदि आप अभी तक MySQL डेटाबेस नहीं जानते हैं या यदि आप किसी भी डेटाबेस के लिए नए हैं तो आप MySQL डेटाबेस सिख सकते है।
यदि आप पीएचपी (PHP), पायथन (Python), पर्ल (Perl) या रूबी (Ruby) सीखना चाहते हैं तो आपको MySQL सीखना चाहिए, साथ ही यह डेटाबेस (Database) भी है जो अधिकांश डेवलपर द्वारा उपयोग किया जाता है। गूगल (Google), फेसबुक (Facebook), ट्विटर (Twitter), विकिपीडिया (Wikipedia), यूट्यूब (YouTube) जैसी प्रसिद्ध वेबसाइटें भी MySQL डेटाबेस का उपयोग करती हैं। तो चलिए आज हम विस्तार से MySQL डेटाबेस के बारे में सीखते है।
MySQL का परिचय
MySQL एक Open Source Database Management System है. जिसका इस्तेमाल Data को Save करने के लिए किया जाता है। MySQL एक स्वतंत्र रूप से उपलब्ध ओरेकल समर्थित ओपन सोर्स रिलेशनल डाटाबेस मैनेजमेंट सिस्टम है। जो स्ट्रक्चर्ड क्वेरी लैंग्वेज का उपयोग करता है।
MySQL का विकास 1994 में एक स्वीडिश कंपनी MySQL AB ने शुरू किया था। MySQL कोई प्रोग्रामिंग भाषा नहीं है बल्कि यह तो एक सॉफ्टवेयर है जो C और C++ की मदद से बनाया गया है और इसे Database के रुप में इस्तेमाल किया जाता है। वर्तमान समय में सबसे कीमती जो चीज़ Data है। Data को सुरक्षित रखने के लिए Database का इस्तेमाल किया जाता है।
ताकि जरुरत पड़ने पर उनको Access किया जा सके, हर कम्पनी, बिजनिस, स्कूल सबका एक Database जरूर होता है जहाँ वो अपने सारे रिकॉर्ड को Maintain रखते हैं। पुराने समय में लोग रजिस्टर में लिखकर Data को Save रखते थे लेकिन आज Modern ज़माने में रिकॉर्ड को सुरक्षित रखने के लिए Database का इस्तेमाल किया जाता है।
MySQL एक रिलेश्नल डाटाबेस मेनेजमेन्ट सिस्टम है जिससे कि हम डेटाबेस Create और Manage कर सकते हैं. WordPress Database के लिए MySQL का उपयोग करता है, क्योंकि WordPress की ही तरह MySQL भी फ्री और Open-Source-Software है। सन माइक्रोसिस्टम्स ने 2008 में MySQL AB का अधिग्रहण किया और MySQL को सन माइक्रोसिस्टम्स ने 2010 को ओरेकल कारपोरेशन से बेच दिया गया था।
MySQL भाषा डेटाबेस में कंटेंट जोड़ने (Adding), एक्सेस (Accessing) करने और प्रबंधित करने के लिए सबसे लोकप्रिय भाषा है। इसका ज्यादातर उपयोग इसकी क्विक प्रोसेसिंग, विश्वसनीयता, और प्रयोग करने में आसान होने के कारण किया जाता है।
MySQL क्या है?
MySQL एक ओपन-सोर्स आरडीबीएमएस (रिलेशनल डेटाबेस मैनेजमेंट सिस्टम) सॉफ़्टवेयर है जो डिजिटल डेटा (Digital Data) स्टोर और प्रबंधन (Manage) करने के लिए उपयोग किया जाता है। MySQL ओरेकल कारपोरेशन (Oracle Corporation) के स्वामित्व में है और एसक्यूएल (SQL) माइक्रोसॉफ्ट (Microsoft) के स्वामित्व में है।
MySQL दुनिया की सबसे लोकप्रिय ओपन-सोर्स डेटाबेस हैं। यह डाउनलोड और उपयोग करने के लिए मुक्त है। MySQL का उपयोग विंडोज़ (Windows), लिनक्स (Linux), मैक ओएस (mac OS) जैसे ऑपरेटिंग सिस्टम पर किया जाता है। MySQL का उपयोग XAMPP और LAMP जैसे मशहूर वेब सर्वर पर भी किया जाता है।
आजकल MySQL डेटाबेस का अधिक उपयोग PHP आधारित कंटेंट मैनेजमेंट सिस्टम (CMS) के साथ वेबसाइट बनाने के लिए किया जाता है, जैसे वर्डप्रेस (WordPress), जूमला (Joomla), द्रुपल (Drupal), सिल्वरस्ट्राइप (Silver Stripe), केक पीएचपी (Cake PHP), मोडक्स (Modx), कंक्रीट 5 (Concrete 5), पीएचपी फ्यूज़न (PHP Fusion), सीएमएस मेड सिंपल (CMS Made Simple), पीएचपी विकी (PHP Wiki) आदि।
MySQL एक तेज़, रिलेशनल डेटाबेस का उपयोग करने में आसान है। यह वर्तमान में सबसे लोकप्रिय ओपन-सोर्स डेटाबेस है। यह आमतौर पर PHP स्क्रिप्ट के साथ संयोजन के रूप में शक्तिशाली और गतिशील सर्वर-साइड एप्लिकेशन बनाने के लिए उपयोग किया जाता है। MySQL का उपयोग कई छोटे और बड़े व्यवसायों के लिए किया जाता है। यह एक स्वीडिश कंपनी MySQL AB द्वारा विकसित, विपणन और समर्थित है, यह C और C ++ में लिखा जाता है।
MySQL के डेटा टाइप्स
MySQL Data Types जब हम MySQL में Table Create करना चाहते हैं, तो सबसे पहले हमें MySQL द्वारा Supported विभिन्न प्रकार के Data Types को समझना जरूरी होता है, ताकि हम हमारी Table के विभिन्न Columns में Store किए जा सकने वाले Data के Data Type को सही तरीके से तय कर सकें। तो चलिए, सबसे पहले हम MySQL के विभिन्न Data Types को समझने की कोशिश करते हैं।
PHP 40 से ज्यादा प्रकार के Data Types हैं, जो अलग-अलग प्रकार के Data को Best तरीके से Categories करने के लिए Use किए जा सकते हैं। फिर भी मोटे तौर पर इन्हें निम्नानुसार चार मुख्य Categories में Divide करके समझा जा सकता है।
Date and Time Data Types
Date व Time Based Data को MySql में Handle करने के लिए कई प्रकार के Data Types को Specify किया गया है। जिनमें से कुछ Most Common तरीके से Use किए जाने वाले Data Types निम्नानुसार हैं:-
DATE Data Type:- जब हम किसी Table के किसी Column में Date Value को Store करना चाहते हैं, तब हम इस Data Type को Use कर सकते हैं। MySql Default रूप से YYYY-MM-DD Format में Date को Store करता है, लेकिन हम Number या String Format के रूप में भी Date को Specify कर सकते हैं।
यानी हम 20101020 व 2010-10-20 इन दोनों तरीकों से Date को MySql Table में Store कर सकते हैं। MySql की किसी Table में हम 1000-01-01 से 9999-12-31 के बीच की किसी भी Date को Valid Date के रूप में Store कर सकते हैं।
Date व Time के बीच Delimiter के रूप में हम किसी भी Non-Alphanumerical Character को Use कर सकते हैं। उदाहरण के लिए हम उपरोक्त क्ंजम को 1000/01/01, 1000!01!01, 1000,01,01 या 9999*12*31 आदि किसी भी रूप में Specify कर सकते हैं।
DATE TIME Data Type:- जब हम किसी Table के किसी Column में Date व Time दोनों Values को एक साथ Store करना चाहते हैं, तब हम इस Data Type को Use कर सकते हैं। MySql Default रूप से YYYY-MM-DD HH:MM:SS Format में DATE TIME को Store करता है, लेकिन हम Number या String Format के रूप में भी Date को Specify कर सकते हैं।
यानी हम 20101020101010 व 2010-10-20 10:10:10 इन दोनों तरीकों से DATE TIME को MySql Table में Store कर सकते हैं। MySql की किसी Table में हम 1000-01-01 00:00:00 से 9999-12-31 23:59:59 के बीच की किसी भी Date and Time को Valid DATE TIME के रूप में Store कर सकते हैं।
TIME Data Type:- जब हम किसी Table के किसी Column में Time Values को Store करना चाहते हैं, तब हम इस Data Type को Use कर सकते हैं। MySql की किसी Table में हम -838:59:59 से 838:59:59 के बीच के किसी भी Time को Valid TIME के रूप में Store कर सकते हैं जो कि Standard व Military Style दोनों Time Format को Support करता है।
TIMESTAMP[(M) [DEFAULT] [ON UPDATE]:- TIMESTAMP Datatype, DATE TIME Datatype से अलग प्रकार का Data Type होता है क्योंकि जिस Column में इस Data Type को Specify किया गया होता है, Table के किसी भी Record को Update या Insert किया जाता है, उस Record के इस Datatype वाले Column में Automatically Current Date व Time Update हो जाता है।
TIMESTAMP Value सामान्यतः TIME Format यानी HH:MM:SS Format में दिखाई देता है और हम DATE व DATE TIME Datatypes की तरह इसे भी Number या String दोनों Format में Specify कर सकते हैं। इस Datatype को हम कई Format में Specify कर सकते हैं। जैसे
14 Digit Long Timestamp YYYY MM DD HH MM SS
12 Digit Long Timestamp YY MM DD HH MM SS
8 Digit Long Timestamp YYY MM DD
6 Digit Long Timestamp YY MM DD
इस Data Type की Range 1970-01-01 00:00:01 to 2037-12-31 23:59:59 होती है और ये Data Type Memory में 4 Byte की Space लेता है। इस Datatype में Data हमेंशा YYYY-MM-DD HH:MM:SS Format में ही Store होता है। यदि इस DATE, DATETIME, TIME या TIMESTAMP Data Type के Column में सही Value Store न हो, तो वह Value Zeros की String में Convert हो जाता है।
YEAR[(2|4)] Data Type:- जब हम किसी Table के किसी Column में केवल Year Value को Store करना चाहते हैं, तो हम MySql के इस Data Type को Use कर सकते हैं। ये Datatype String व Number के रूप में दो Formats यानी कुल चार Formats में Values को Support करता है।
2-Digit Number:- जब हम Year के केवल अन्तिम दो Digits को Value के रूप में Store करना चाहते हैं, तब हम Value के रूप में 1 से 99 के बीच कोई भी मान Specify कर सकते हैं। यदि हमारा Specified मान 1 से 69 के बीच हो, तो ये मान Automatically 2001 से 2069 के बीच Convert हो जाता है। जबकि मान 70 से 99 के बीच होने की स्थिति में ये मान 1970 से 1999 के बीच Convert होता है।
4-Digit Number:- जब हम Year के चारों Digits को Value के रूप में Store करना चाहते हैं, तब हम Value के रूप में 1901 से 2155 के बीच कोई भी मान Specify कर सकते हैं।
2-Digit String:- जब हम Year के केवल अन्तिम दो Digits को Value के रूप में Store करना चाहते हैं, तब हम Value के रूप में “1” से “99” के बीच कोई भी मान Specify कर सकते हैं। यदि हमारा Specified मान “1” से “69” के बीच हो, तो ये मान Automatically “2001” से “2069” के बीच Convert हो जाता है। जबकि मान “70” से “99” के बीच होने की स्थिति में ये मान “1970” से “1999” के बीच Convert होता है।
4-Digit Number:- जब हम Year के चारों Digits को Value के रूप में Store करना चाहते हैं, तब हम Value के रूप में “1901” से “2155” के बीच कोई भी मान Specify कर सकते हैं।
Numeric Data Types
विभिन्न प्रकार के Numerical Data को MySql Table में Store करने के लिए MySql हमें निम्न Data Types Provide करता है:-
BOOL, BOOLEAN or TINY INT (1) Data Types:- तीनों ही Datatypes केवल एक Bit यानी True या False मानों को Store कर सकते हैं जो कि 0 या 1 द्वारा Represent होते हैं। जब हमें किसी Information को केवल True या False के रूप में Store करना होता है, तब हम इन में से किसी भी Data Type का प्रयोग कर सकते हैं।
BIG INT [(M)] Data Types:- जब हमें किसी Information को केवल Integer Value यानी पूर्णांक संख्या के रूप में ही Store करना होता है, तब हम इस Data Type का प्रयोग करते हैं। इस Datatype की Range Signed स्थिति में –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 व 0 to 18,446,744,073,709,551,615 होती है।
INT[(M)] [UNSIGNED] [ZERO FILL] Data Types:- जब हमें किसी Information को केवल Integer Value यानी पूर्णांक संख्या के रूप में ही Store करना होता है, लेकिन Integer संख्या ज्यादा बडी नहीं होती है, तब हम इस Data Type का प्रयोग करते हैं। इस Datatype की Range Signed स्थिति में –2,147,483,648 to 2,147,483,647 व 0 to 4,294,967,295 होती है।
MEDIUM INT [(M)] [UNSIGNED] [ZERO FILL] Data Types:- ये Datatype भी Integer Value को ही Store करता है। लेकिन इस Datatype की Range Signed स्थिति में –8,388,608 to 8,388,607 व 0 to 16,777,215 होती है।
SMALL INT [(M)] [UNSIGNED] [ZERO FILL] Data Types:- ये Datatype भी Integer Value को ही Store करता है। लेकिन इस Datatype की Range Signed स्थिति में –32,768 to 32,767 व 0 to 65,535 होती है।
TINY INT [(M)] [UNSIGNED] [ZERO FILL] Data Types:- ये Datatype भी Integer Value को ही Store करता है। लेकिन इस Datatype की Range Signed स्थिति में –128 to 127 व 0 to 255 होती है।
DECIMAL([M[,D]]) [UNSIGNED] [ZERO FILL] Data Type:- ये Datatype Floating Point Value को String के रूप में Store करता है। इस Datatype की Range Signed स्थिति में –1.7976931348623157 E+308 to –2.2250738585072014 E–308 व 2.2250738585072014 E–308 to 1.7976931348623157 E+308 होती है। इस Datatype को Use करने पर MySQL द्वारा Value की Total Size Determine करते समय Minus Sign व Decimal Point Ignore कर दिया जाता है।
DOUBLE([M,D]) [UNSIGNED] [ZEROFILL] Data Type:- जब हमें Double Precision Floating Point Number को Store करना होता है, तब हम इस Data Type को Use कर सकते हैं। इस Datatype की Range Signed स्थिति में ––1.7976931348623157 E+308 to –2.2250738585072014 E–308 व 2.2250738585072014 E–308 to 1.7976931348623157 E+308 होती है।
FLOAT([M,D]) [UNSIGNED] [ZERO FILL] Data Type:- जब हमें Double Precision Floating Point Number को Store करना होता है, तब हम इस Data Type को Use कर सकते हैं। इस Datatype की Range Signed स्थिति में –3.402823466E+38 to –1.175494351E–38 व 1.175494351E–38 to 3.402823466E+38 होती है।
FLOAT (Precision) [UNSIGNED] [ZERO FILL] Data Type:- जब हमें ODBC Compatibility की जरूरत होती है, ताकि हम किसी भी प्रकार के Frontends से MySQL Database के Data को Access कर सकें, तब हमें हमारे Floating Point Value को इस Datatype के Column में Store करना होता। इस Datatype की Precision Range Single Precision के लिए 1 से 24 तक हो सकती है जबकि Double Precision के लिए 25 से 54 तक हो सकती है।
इस Datatype की Range Signed स्थिति में –3.402823466 E+38 to –1.175494351 E–38 व 1.175494351 E–38 to 3.402823466 E+38 होती है।
String Data Types
MySQL में String Handling से संबंधित विभिन्न प्रकार के Data Types निम्नानुसार हैं:-
CHAR (Length) [BINARY | ASCII | UNICODE] Data Type:- इस Datatype का प्रयोग हम तब करते हैं जब हमें अधिकतम 266 Characters तक की Length का Data Store करना होता है। यदि Length Parameter में Specified Length में Character Insert नहीं करते हैं, तो बचे हुए Space में Automatically Blank Space Fill हो जाता है। जबकि यदि हमें केवल एक ही Character Store करना हो, तो हमें Length Parameter को Specify करना जरूरी नहीं होता।
हम इस Datatype को 0 Length Parameter के साथ भी Specify कर सकते हैं। जब हम ऐसा करते हैं, तो उस Column में NULL व “” Empty String के अलावा और कोई Value Store नहीं किया जा सकता।
जब हम BINARY Value Specify करते हैं, तो Column में Store होने वाले Character Chase Sensitive हो जाते हैं व Column के Data Case Sensitive तरीके से Sort होते हैं, जबकि इसे Specify न करने की स्थिति में Data Case Insensitive तरीके से Store व Sort होते हैं।
यदि हम इस Datatype के Column में 255 से ज्यादा Characters Store करते हैं, तो MySQL Automatically इस Datatype को TEXT Datatype से Replace कर देता है।
Java Data Types (Range and Limits):- हम ASCII मान Specify करके Characters को ASCHII Character के रूप में भी Store कर सकते हैं जबकि UNICODE मान Specify करके Store होने वाले Characters को UNICODEW Characters के रूप में Store कर सकते हैं।
VAR CHAR (Length) [BINARY] Data Type:- MySQL का ये एक Variable Length Datatype है, जो केवल उतनी ही Memory Reserve करता है, जितने Characters हम इसमें Store करते हैं। उदाहरण के लिए यदि हम किसी Column की Length 50 Character रखते हैं और हम उसमें केवल 10 Characters की Store करते हैं, तो इस Data Type को Use करने पर MySQL केवल 10 Characters की ही Memory Reserve करता है।
जबकि इसी स्थान पर CHAR Data Type को Use करने पर MySql पूरे 50 Character की memory Reserve करता है, भले ही हम Column में केवल 10 Characters ही Store क्यों न करें। इस Datatype के Column में हम अधिकतक 65535 Characters Store कर सकते हैं। जबकि BINARY Attribute को Specify करने पर इस Column का Data Case Sensitive हो जाता है।
LONG BLOB Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 4,294,967,295 Characters होती है।
LONG TEXT Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में Non-Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 4,294,967,295 Characters होती है।
MEDIUM BLOB Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में लेकिन LONG BLOB से कम Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 16,777,215 Characters होती है।
MEDIUM TEXT Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में लेकिन BLOB TEXT से कम Non-Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 16,777,215 Characters होती है।
LONG TEXT Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में Non-Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 4,294,967,295 Characters होती है।
BLOB Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में लेकिन MEDIUM BLOB से कम Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 65535 Characters होती है।
TEXT Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में लेकिन MEDIUM TEXT से कम Non-Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 65535 Characters होती है। Read also: PHP Connect to MySQL
TINY BLOB Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में लेकिन BLOB से कम Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 255 Characters होती है।
TINY TEXT Data Type:- इस Datatype का प्रयोग तब किया जाता है जब हमें बहुत बडी मात्रा में लेकिन TEXT से कम Non-Binary String Representation Text को किसी Column में Store करना होता है। इसकी Range 255 Characters होती है।
EN UM (“member 1″,”member 2”,… “member 65,535”) Data Type:- इस Datatype का प्रयोग करके हम Members की एक Predefined List में से किसी एक Value को किसी Table Column में Value के रूप में Store कर सकते हैं। हम इस Datatype द्वारा अधिकतम 65535 Distinct Members को Specify कर सकते हैं।
यदि Column Declaration में NULL Attribute हो, तो वह Value एक Valid व Default Value की तरह Treat होता है जबकि NOT-NULL Declare करने की स्थिति में List का पहला Member Default Member होता है।
SET(“member 1”, “member 2”,… “member 64”) Data Type:- ये Datatype Zero या अधिक Predefined Values को Column Value के रूप में Set करने की सुविधा देता है जबकि हम इसमें अधिकतम 64 Members Specify कर सकते हैं।
MySQL की लोकप्रियता के कारण
इन कारणों से MySQL इतना लोकप्रिय हो रहा है:-
- MySQL एक ओपन-सोर्स डेटाबेस है, इसलिए आपको इसका उपयोग करने के लिए एक पैसा नहीं देना होगा।
- MySQL एक बहुत शक्तिशाली प्रोग्राम है इसलिए यह सबसे महंगे और शक्तिशाली डेटाबेस पैकेजों की कार्यक्षमता का एक बड़ा सेट संभाल सकता है।
- MySQL अनुकूलन योग्य है क्योंकि यह एक ओपन सोर्स डेटाबेस है और ओपन-सोर्स GPL लाइसेंस प्रोग्रामर्स को अपने विशिष्ट वातावरण के अनुसार SQL सॉफ़्टवेयर को संशोधित करने की सुविधा देता है।
- MySQL प्रसिद्ध SQL डेटा भाषा के मानक रूप का उपयोग करता है।
- MySQL कई ऑपरेटिंग सिस्टम का समर्थन करता है जैसे PHP, PERL, C, C ++, JAVA, आदि।
- MySQL अन्य डेटाबेस की तुलना में तेज है इसलिए यह बड़े डेटा सेट के साथ भी अच्छा काम कर सकता है।
- MySQL PHP के साथ बहुत अनुकूल है, जो वेब विकास के लिए सबसे लोकप्रिय भाषा है।
- MySQL एक तालिका में 50 मिलियन पंक्तियों या अधिक तक बड़े डेटाबेस का समर्थन करता है। तालिका के लिए डिफ़ॉल्ट फ़ाइल आकार की सीमा 4GB है, लेकिन आप इसे (यदि आपका ऑपरेटिंग सिस्टम इसे संभाल सकते हैं) 8 मिलियन टेराबाइट्स (टीबी) की सैद्धांतिक सीमा तक बढ़ा सकते हैं।
MySQL की विशेषताएं
- MySQL डेटाबेस एक ओपन सोर्स (Open Source) डेटाबेस है, जिसका अर्थ है कि हमें इसका इस्तेमाल करने के लिए किसी से भी किसी भी तरह की अनुमति लेने की आवश्यकता नहीं है और न ही हमें किसी भी प्रकार का पैसा देना है, हम इसे मुफ्त में उपयोग कर सकते हैं।
- MySQL में हम बड़ी मात्रा में डेटा का भंडारण कर सकते हैं, हम एक टेबल में 5 मिलियन से अधिक पंक्तियाँ (Row) को स्टोर कर सकते हैं।
MySQL का उपयोग
MySQL एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (Relational Database Management System) है जो की एसक्यूएल (SQL – Structured Query Language) पर आधारित है। MySQL का उपयोग विभिन्न प्रकार के उद्देश्यों के लिए किया जाता है, जिसमें डेटा वेयरहाउसिंग (Data Warehousing), ई-कॉमर्स (E-commerce) और लॉगिंग अनुप्रयोग (Logging Applications) आदि में शामिल हैं। हालांकि, MySQL के लिए सबसे आम उपयोग वेब डेटाबेस (Web Database) के उद्देश्य के लिए किया जाता है।
MySQL के फ़ायदे
Data Security:- वर्ड, ड्रुपल, जूमला, फेसबुक और ट्विटर सहित लोकप्रिय वेब अनुप्रयोगों में उपयोग किए जाने वाले सबसे सुरक्षित और विश्वसनीय डेटाबेस प्रबंधन प्रणाली होने के लिए MySQL विश्व स्तर पर प्रसिद्ध है। MySQL के हालिया संस्करण के साथ आने वाले ट्रांजेक्शनल प्रोसेसिंग के लिए डेटा सुरक्षा और समर्थन किसी भी व्यवसाय को बहुत लाभ पहुंचा सकता है, खासकर अगर यह एक ईकामर्स व्यवसाय है जिसमें बार-बार मनी ट्रांसफर शामिल है।
On-Demand Scalability:- MySQL एक छोटे पदचिह्न का उपयोग करके गहन रूप से एम्बेडेड एप्लिकेशन के प्रबंधन की सुविधा के लिए बेजोड़ मापनीयता प्रदान करता है, यहां तक कि बड़े पैमाने पर गोदामों में भी जो डेटा के टेराबाइट्स को ढेर करते हैं। ऑन-डिमांड फ्लेक्सिबिलिटी MySQL का स्टार फीचर है। यह ओपन-सोर्स समाधान अद्वितीय डेटाबेस सर्वर आवश्यकताओं के साथ ईकामर्स व्यवसायों के लिए पूर्ण अनुकूलन की अनुमति देता है।
High Performance:- MySQL में एक अलग स्टोरेज-इंजन फ्रेमवर्क है जो सिस्टम प्रशासकों को एक निर्दोष प्रदर्शन के लिए MySQL डेटाबेस सर्वर को कॉन्फ़िगर करने की सुविधा देता है। चाहे वह एक ईकामर्स वेबसाइट हो, जो हर दिन एक लाख सवाल या एक उच्च-गति वाली ट्रांसेक्शनल प्रोसेसिंग सिस्टम प्राप्त करती है, MySQL को अधिकतम गति, पूर्ण-पाठ अनुक्रमणिका और विशिष्ट प्रदर्शन के लिए अद्वितीय मेमोरी कैश सुनिश्चित करते हुए भी सबसे अधिक मांग वाले अनुप्रयोगों को पूरा करने के लिए डिज़ाइन किया गया है।
Round-the-Clock Uptime:- MySQL 24 × 7 अपटाइम के आश्वासन के साथ आता है और विशेष क्लस्टर सर्वर और मास्टर / दास प्रतिकृति कॉन्फ़िगरेशन सहित उच्च-उपलब्धता समाधानों की एक विस्तृत श्रृंखला प्रदान करता है।
Comprehensive Transactional Support:- बाजार पर उपलब्ध मजबूत ट्रांसेक्शनल डेटाबेस इंजनों की सूची में MySQL सबसे ऊपर है। पूर्ण परमाणु, सुसंगत, पृथक, टिकाऊ लेनदेन समर्थन जैसी सुविधाओं के साथ; बहु-संस्करण लेनदेन समर्थन; और अप्रतिबंधित पंक्ति-स्तरीय लॉकिंग, यह पूर्ण डेटा अखंडता के लिए समाधान है। यह सर्वर-लागू संदर्भात्मक अखंडता के माध्यम से तत्काल गतिरोध पहचान की गारंटी देता है।
Complete Workflow Control:- 30 मिनट से कम के औसत डाउनलोड और इंस्टॉलेशन समय के साथ, MySQL का मतलब पहले दिन से प्रयोज्य है। चाहे आपका प्लेटफ़ॉर्म लिनक्स हो, Microsoft, Macintosh या UNIX, MySQL स्व-प्रबंधन सुविधाओं के साथ एक व्यापक समाधान है जो अंतरिक्ष विस्तार और कॉन्फ़िगरेशन से डेटा डिज़ाइन और डेटाबेस प्रशासन तक सब कुछ स्वचालित करता है।
Reduced Total Cost of Ownership:- MySQL के लिए वर्तमान डेटाबेस एप्लिकेशन को माइग्रेट करने से, उद्यमों को नई परियोजनाओं पर महत्वपूर्ण लागत बचत का आनंद मिलता है। प्रबंधन की निर्भरता और आसानी समस्या निवारण समय को बचा सकती है जो अन्यथा डाउनटाइम मुद्दों और प्रदर्शन समस्याओं को ठीक करने में बर्बाद हो जाती है।
The Flexibility of Open Source:- एक ओपन-सोर्स समाधान में उत्पन्न होने वाले सभी भय और चिंताओं को MySQL के दौर के समर्थन और उद्यम क्षतिपूर्ति के साथ समाप्त किया जा सकता है। MySQL का सुरक्षित प्रसंस्करण और विश्वसनीय सॉफ्टवेयर बड़ी मात्रा में परियोजनाओं के लिए प्रभावी लेनदेन प्रदान करने के लिए गठबंधन करता है। यह एंड-यूजर अनुभव को बढ़ाते हुए रखरखाव, डिबगिंग और उन्नयन को तेज और आसान बनाता है।
MySQL के हानियाँ
It’s Got A Few Stability Issues:- डिजिटल महासागर के अनुसार, MySQL अपने साथियों की तुलना में कुछ हद तक कम विश्वसनीय है। ये स्थिरता मुद्दे उस तरीके से संबंधित हैं जिसमें यह कुछ कार्यों (जैसे संदर्भ, लेनदेन और ऑडिटिंग) को संभालता है। हालांकि डेटाबेस निश्चित रूप से इन समस्याओं के प्रकाश में उपयोग करने योग्य है, वे कुछ उपयोग मामलों के लिए MySQL को एक खराब विकल्प बनाने के लिए करते हैं।
It Suffers From Relatively Poor Performance Scaling:- यद्यपि MySQL डेटा की लगभग असीम मात्रा को संभालने के लिए सुसज्जित है, लेकिन अगर किसी दिए गए समय में बहुत सारे ऑपरेशनों से निपटने के लिए मजबूर होना पड़ रहा है, तो यह एक परेशान करने वाली प्रवृत्ति है। यह अपेक्षाकृत खराब प्रदर्शन स्केलिंग का मतलब है कि उच्च संगामिति स्तर वाले किसी व्यक्ति को संभवतः एक विकल्प पर ध्यान देना चाहिए।
“मेरे अनुभव में,” सॉफ्टवेयर इंजीनियर कौशिक रामचंद्र लिखते हैं, “मैंने पाया है कि MySQL जब आप कम लिखने / पढ़ने के अनुपात में बेहतर काम करते हैं, और कम मापनीयता प्रदान करते हैं क्योंकि रीड / राइट अनुपात बढ़ता है।”
Development Is Not Community Driven – and Hence Has Lagged:- चूंकि ओरेकल ने MySQL के विकास में मदद की है, इसलिए प्रगति पिछले कुछ वर्षों में केवल एक प्रमुख रिलीज के साथ, एक पड़ाव की तरह प्रतीत होती है। कंपनी सामुदायिक-विकसित पैच स्वीकार नहीं करती है, न ही उसने उपयोगकर्ताओं को MySQL विकास के लिए किसी भी प्रकार के रोडमैप की पेशकश करने की जहमत उठाई है। डेवलपर्स के लिए Oracle के साथ डेटाबेस प्रबंधन प्रणाली पर चर्चा करने का कोई तरीका नहीं है – और यह एक समस्या है।
Its Functionality Tends To Be Heavily Dependant On Addons:- हालांकि MySQL को स्थापित करना अपेक्षाकृत आसान है, यह बाजार के कई अन्य डेटाबेस सिस्टमों की तुलना में कम आउट-ऑफ-द-बॉक्स कार्यक्षमता रखता है। कुछ विशेषताएं – जैसे कि पाठ खोज और एसीआईडी अनुपालन – कोर इंजन पर नहीं बल्कि अनुप्रयोगों और ऐड-ऑन पर निर्भर हैं। हालांकि यह सच है कि MySQL के लिए अच्छी तरह से किए गए अनुप्रयोगों का ढेर मौजूद है, उन्हें नीचे ट्रैक करना कभी-कभी एक दर्द हो सकता है, और कुछ डेवलपर्स को बस एक विकल्प चुनने का कारण बन सकता है – जबकि आसानी से स्थापित नहीं किया गया – अधिक तत्काल कार्यक्षमता प्रदान करता है।
Developers May Find Some Of Its Limitations To Be Frustrating:- आश्चर्य की बात नहीं, MySQL सब कुछ करने के लिए डिज़ाइन नहीं किया गया है (न ही यह होना चाहिए)। डेटाबेस पूरी तरह से SQL-आज्ञाकारी नहीं है, और डेटा वेयरहाउसिंग, गलती सहिष्णुता, और प्रदर्शन निदान (दूसरों के बीच) सहित क्षेत्रों में सीमित हो जाता है। डेवलपर्स को कार्यक्षमता की यह सापेक्ष कमी निराशाजनक लग सकती है, खासकर यदि वे अधिक पूर्ण विशेषताओं वाले विकल्प के लिए उपयोग किए जाते हैं।