UNIQUE Index
In this page:
CREATE UNIQUE INDEX index_name
ON table_name (column_name);
एक Unique Index क्या है?
एक UNIQUE index enforce करता है कि indexed column में store की गई हर value बाकी हर row की value से अलग हो, किसी भी ऐसे insert या update को reject करते हुए जो एक duplicate बनाए।
उदाहरण: What is a Unique Index?
CREATE TABLE users (id INT, email TEXT UNIQUE);
INSERT INTO users VALUES (1, '[email protected]');
-- Fails: duplicate email
INSERT INTO users VALUES (2, '[email protected]');
Table Creation के दौरान UNIQUE Index बनाना
Table-creation time पर एक unique index define करना पहली row से ही constraint bake कर देता है, जो तब सबसे clean approach है जब आपको पहले से पता हो कि एक column — जैसे एक email address — कभी repeat नहीं होना चाहिए।
उदाहरण: Creating UNIQUE Index during Table Creation
CREATE TABLE users (id INT, email TEXT, UNIQUE (email));
INSERT INTO users VALUES (1, '[email protected]');
मौजूदा Tables में UNIQUE Index Add करना
पहले से exist करने वाली और पहले से data रखने वाली किसी table के लिए, ALTER TABLE आपको बाद में एक unique index add करने देता है, हालाँकि अगर मौजूदा data में पहले से duplicate values हों तो MySQL मना कर देगा।
उदाहरण: Adding UNIQUE Index to Existing Tables
CREATE TABLE users (id INT, email TEXT);
INSERT INTO users VALUES (1, '[email protected]');
ALTER TABLE users ADD UNIQUE (email);
Composite Unique Index
एक composite unique index हर column अकेले के बजाय कई columns के combination पर uniqueness apply करता है — individual columns repeat हो सकते हैं, लेकिन कोई दो rows exact same combination share नहीं कर सकतीं।
उदाहरण: Composite Unique Index
CREATE TABLE enrollments (student_id INT, course_id INT, UNIQUE (student_id, course_id));
INSERT INTO enrollments VALUES (1, 101);
-- Allowed: same student, different course
INSERT INTO enrollments VALUES (1, 102);
एक Unique Index हटाना
एक unique index drop करना uniqueness enforcement को performance benefit के साथ हटा देता है, यानी आगे उस column में duplicate values फिर से allowed हो जाती हैं।
उदाहरण: Dropping a Unique Index
CREATE TABLE users (id INT, email TEXT, UNIQUE KEY uq_email (email));
ALTER TABLE users DROP INDEX uq_email;
- पहले से duplicates वाले एक column पर एक unique index बनाना, जो fail हो जाता है।
- यह मान लेना कि एक unique index कई
NULLvalues रोकता है, जबकि MySQL कईNULLs allow करता है। - दो अलग unique indexes के एक pair को unique बनाने की उम्मीद करना, जबकि एक pair को एक composite
UNIQUE (a, b)चाहिए।
- एक view एक saved query है जिसे आप create, update, और drop कर सकते हैं।
- Indexes data lookups तेज़ करते हैं और create तथा drop किए जा सकते हैं।
- एक
UNIQUEindex duplicate values भी रोकता है।
Chapter Quiz — Complete all 5 topics to unlock
0/5 topics done
Complete these topics first: