MySql Data Type Attributes – MySQL में Table Create करते समय हम Table के विभिन्न Attributes के साथ विभिन्न प्रकार के Attributes को Specify करके Columns में Store होने वाली Values को अलग तरीके से Behave करने के लिए Control कर सकते हैं। MySQL में Use किए जाने वाले कुछ Most Common Attributes निम्नानुसार हैं:
AUTO_INCREMENT Attribute
ये एक ऐसा Attribute होता है, जिसे किसी Numerical Column के साथ Associate किया जाता है। जब हम इसे किसी Numerical Column के साथ Associate करते हैं, तो Table में हर Record के Insert होते ही उस Column में Automatically एक Incrementing Integer Value Store हो जाती है। सामान्यतः इस Attribute को Primary Key Column के साथ Associate किया जाता है। जैसेः
userid SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY
BINARY Attribute
इस Attribute का प्रयोग केवल CHAR व VARCHAR Datatype के Columns के साथ ही किया जा सकता है। जब हम किसी Column के साथ इस Attribute को Assign करते हैं, तो उस Column के Data Case Sensitive तरीके से Sort होते हैं, जबकि सामान्य स्थिति में Data ASCII Format में Sort होते हैं। जैसेः
hostname CHAR(30) BINARY NOT NULL
DEFAULT Attribute
इस Attribute का प्रयोग करके हम किसी Column में उस स्थिति में किसी Default मान को Set कर सकते हैं, जब हम Record के उस Field के लिए कोई मान Specify नहीं करते, जिसके साथ Default मान Associated है।
ये मान एक Constant मान ही हो सकता है। यानी MySQL में हम DEFAULT Attribute के साथ किसी Variable, Functional या Expressional Value को Associate नहीं कर सकते। साथ ही इस Attribute का प्रयोग BLOB या TEXT Datatype के Columns के साथ नहीं किया जा सकता।
यदि इस Attribute वाले Column में NULL Value Assigned हो तो किसी Default Value को Specify न करने की स्थिति में इस Column में Automatically NULL Store हो जाता है। जैसेः
confirmed ENUM(‘0’, ‘1’) NOT NULL DEFAULT ‘0’
INDEX Attribute
इस Attribute का प्रयोग करके हम किसी Column की Indexing कर सकते हैं, जिससे Table के सभी Data एक Sorted List के रूप में Table में Store होते हैं। परिणामस्वरूप Table के Data को Access करने की Speed तेज हो जाती है क्योंकि Data Manipulation के समय Indexed Filed के आधार पर MySQL Binary Searching Techniques को Apply करने में सक्षम हो जाता है।
NATIONAL Attribute
इस Attribute का प्रयोग हम केवल CHAR या VARCHAR Datatypes के साथ ही कर सकते हैं। इस Attribute को Specify करने पर Column में Store होने वाले Data का Characterset वही होता है, जो MySQL का Default Characterset होता है।
NOT NULL Attribute
जब हम हमारे किसी Column में Compulsory रूप से Value को Input करवाना चाहते हैं, तब हम उस Column के साथ इस Attribute का प्रयोग करते हैं। हम जिस Column के साथ इस Attribute को Specify करते हैं, उस Colum में Data Insert करना Compulsory होता है। बिना इस Field में Data Insert किए, MySQL Record को Database Table में Save नहीं करता। इसे किसी भी Column के साथ निम्नानुसार Specify किया जाता हैः
username VARCHAR(100) NOT NULL
NULL Attribute
जब हम हमारे किसी Column में किसी Value को Store करना नहीं चाहते, तब हम इस Attribute को Specify करते हैं। ये Attribute Nothingness को Represent करता है न कि Empty String या Zero को। ये Attribute हर Field के साथ Default रूप से Set रहता है।
PRIMARY KEY Attribute
इस Attribute को Specify करके हम किसी Table में किसी Record को Uniquely Identify कर सकते हैं। दूसरे शब्दों में कहें तो जिस Column के साथ हम इस Attribute को Specify करते हैं, उस Column में Value Insert करना Compulsory होता है और Insert की जाने वाली Value को Repeat नहीं किया जा सकता। यानी ये Column NOT NULL व UNIQUE होता है।
सामान्यतः PRIMARY KEY Attribute को किसी ID Column के साथ Specify किया जाता है साथ ही इसके साथ AUTO_INCREMENT Attribute को भी Specify किया जाता है जो कि किसी भी Table के हर Record के साथ एक Unique Number Associate करता है। इस Colum के Data का उपयोग केवल विभिन्न Tables के बीच Relationship Create करने व किसी भी Table के किसी भी Record को Uniquely Identify करने के लिए ही होता है।
इसलिए सामान्यतः इस Column की Value को Frontend में Render नहीं किया जाता बल्कि केवल Backend में विभिन्न प्रकार के Data को Return करने व Data के बीच के आपसी सम्बंध को Represent करने के लिए किया जाता है।
PRIMARY KEY को हम Single Column व Multi-Columns के साथ दो तरह से Assign कर सकते हैं। जब हम Multi-Columns के साथ PRIMARY KEY Attribute को Assign करते हैं, तो बनने वाली Key को Composite Key कहा जाता है। सामान्यतः Composite Key का प्रयोग Many to Many की Relationship को Resolve करने के लिए किया जाता है।
UNIQUE Attribute
जब हम हमारे किसी Column में किसी Value को Unique रखना चाहते हैं, तब हम इस Attribute को Specify करते हैं। जिस Column के साथ इस Attribute को Specify किया जाता है, उस Column में Duplicate Values को Store नहीं किया जा सकता, लेकिन उस Column में NULL को Duplicate तरीके से Store किया जा सकता है। उदाहरण के लिए यदि हम चाहते हैं कि एक email Address फिर से दुबारा Insert न हो, तो हम निम्नानुसार email Column को Unique Set कर सकते हैं:
email VARCHAR(100) NOT NULL UNIQUE
ZEROFILL Attribute
जब हम हमारे किसी Column में किसी Numerical Value को Store करना चाहते हैं लेकिन यदि Numerical Value की Length को स्थिर रखने के लिए Numerical Value के साथ Blank Space के स्थान पर Zero Fill करना चाहते हैं, तब हम Column के साथ इस Attribute को Specify करते हैं। जैसेः
population MEDIUMINT UNSIGNED ZEROFILL NOT NULL
अब यदि हम इस Column में किसी मान जैसे कि 35440 को Store करें तो ये मान 0035440 Store होगा। यानी Datatype की Range को Fill करने के लिए जरूरी Characters Blank Space के स्थान पर Zeros से Fill हो जाऐंगे। चूंकि Population कभी भी Negative नहीं हो सकती, इसलिए हमने उपरोक्त Code में UNSIGNED Attribute को भी Specify किया है।
अब यदि हम उपरोक्त सभी Concepts को ध्यान में रखते हुए अपने User Registration System के लिए एक Table Create करें, तो हमारी Table के विभिन्न Columns निम्नानुसार हो सकते हैः
Column Name | Datatype and Attributes |
userid | PRIMARY KEY AUTO_INCREMENT |
username | NOT NULL UNIQUE |
NOT NULL UNIQUE | |
pwd | NOT NULL |
confirmpwd | NOT NULL |
regtime | TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
confirmed | DEFAULT ‘0’ |
Table Create करने से पहले हमें MySql के एक और Concept Storage Engine के बारे में भी कुछ Basics को जान लेना उपयोगी रहेगा।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
PHP in Hindi | Page: 647 | Format: PDF