Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
MySQL + SQL · Lesson 40

NOT NULL, UNIQUE, CHECK और DEFAULT

Constraints क्या हैं

Constraints वो नियम हैं जो आप columns पर लगाते हैं ताकि data अपने-आप मान्य रहे। हर बार अपने program में values जाँचने के बजाय, database खुद इन्हें लागू करता है। सबसे आम हैं NOT NULL, UNIQUE, DEFAULT और CHECK।

💡 Constraints आपके data की रक्षा करते हैं: कोई खाली ज़रूरी fields नहीं, कोई duplicates नहीं, समझदार defaults, मान्य values।

NOT NULL

CREATE TABLE students (
    roll INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);

NOT NULL मतलब column में हमेशा एक value होनी चाहिए। name बिना student insert करने की कोशिश fail होती है। इसे ज़रूरी fields को इस्तेमाल कीजिए जो कभी खाली न हों।

UNIQUE

CREATE TABLE users (
    id INT PRIMARY KEY,
    email VARCHAR(100) UNIQUE
);

UNIQUE column में duplicate values रोकता है। दो users एक ही email साझा नहीं कर सकते। Primary key के विपरीत, UNIQUE एक null allow कर सकती है और table में कई UNIQUE columns हो सकते हैं।

DEFAULT

CREATE TABLE orders (
    id INT PRIMARY KEY,
    status VARCHAR(10) DEFAULT 'pending'
);
INSERT INTO orders (id) VALUES (1);   -- status 'pending' बनता है

DEFAULT fallback value देता है जो आप न दें तब इस्तेमाल होती है। यहाँ बिना status वाला नया order अपने-आप 'pending' बन जाता है, आपको हर बार set करने से बचाकर।

CHECK

CREATE TABLE students (
    roll INT PRIMARY KEY,
    marks INT CHECK (marks >= 0 AND marks <= 100)
);

CHECK value पर एक condition लागू करता है। यहाँ marks 0 और 100 के बीच होने चाहिए; MySQL इसे तोड़ने वाली किसी भी row को ठुकराता है। यह गारंटी देता है values समझदार रहें।

सब साथ में

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    age INT CHECK (age >= 18),
    active BOOLEAN DEFAULT TRUE
);

आप एक table पर constraints जोड़ सकते हैं। यहाँ हर employee का नाम, unique email, कम-से-कम 18 age होनी चाहिए, और default रूप से active है। Database ये सारे नियम आपके लिए लागू करता है।

आम गलतियाँ

  • ज़रूरी fields पर NOT NULL छूटना। तब खाली values घुस जाती हैं।
  • UNIQUE और PRIMARY KEY मिलाना। UNIQUE एक null allow करती है; primary key नहीं।
  • यह भूलना DEFAULT सिर्फ़ column छोड़ने पर लागू होता है। स्पष्ट NULL देना इसे override करता है।
  • बहुत पुराने MySQL पर CHECK मानना। CHECK MySQL 8.0.16 से लागू होता है।

सारांश

  • Constraints अपने-आप data मान्य रखने वाले नियम हैं।
  • NOT NULL value ज़रूरी करता है; UNIQUE duplicates रोकता है।
  • DEFAULT कोई न देने पर fallback value देता है।
  • CHECK एक condition लागू करता है, जैसे मान्य range।
  • आप एक table पर कई constraints जोड़ सकते हैं।

आगे, key constraints सीखिए primary key vs foreign key में, या columns बदलिए ALTER TABLE से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

MySQL में constraints क्या हैं?
Constraints columns पर नियम हैं जो data मान्य रखते हैं। आम हैं NOT NULL (कोई खाली value नहीं), UNIQUE (कोई duplicates नहीं), DEFAULT (fallback value), और CHECK (एक condition जो value पूरी करे)। ये अपने-आप data quality की रक्षा करते हैं।
NOT NULL क्या करता है?
NOT NULL मतलब column में हमेशा एक value होनी चाहिए — आप इसे खाली (null) insert या नहीं छोड़ सकते। यह ज़रूरी fields को इस्तेमाल होता है जैसे नाम या id जो कभी गायब न हो।
UNIQUE और PRIMARY KEY में क्या अंतर है?
दोनों duplicate values रोकते हैं। PRIMARY KEY null भी नहीं हो सकती और table में एक ही होती है। UNIQUE constraint एक null allow कर सकती है और table में कई UNIQUE columns हो सकते हैं।
DEFAULT constraint क्या करता है?
DEFAULT column को fallback value देता है जो INSERT के दौरान आप न दें तब इस्तेमाल होती है। जैसे status VARCHAR(10) DEFAULT 'active' नई rows को active बनाता है जब तक आप और न कहें।
CHECK constraint क्या है?
CHECK constraint value पर एक condition लागू करता है, जैसे CHECK (age >= 18)। MySQL condition तोड़ने वाली किसी भी row को ठुकराता है, तो आप गारंटी दे सकते हैं, जैसे marks कभी negative न हों।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicMySQL में AUTO_INCREMENT आपकी प्रगति: 40 / 151 (26%) · Lesson 41 / 151 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें