MySQL ڈیٹا بیس انڈیکس کی قسم/تخلیق/استعمال کا مجموعہ ALTER سٹیٹمنٹ MySQL میں استعمال

MySQLانڈیکس کی قسم/تخلیق/استعمال کومبو الٹر میںMySQLکمانڈ بیان کا استعمال

MySQL اشاریہ جات

MySQL انڈیکس کا قیام MySQL کے موثر آپریشن کے لیے بہت اہم ہے، اور انڈیکس MySQL کی بازیافت کی رفتار کو بہت بہتر بنا سکتا ہے۔

مثال کے طور پر، اگر مناسب ڈیزائن اور اشاریہ جات کے استعمال کے ساتھ MySQL ایک Lamborghini ہے، تو MySQL بغیر اشاریہ جات اور اشاریہ جات کے انسانی ٹرائی سائیکل ہے۔

انڈیکس کو سنگل کالم انڈیکس اور کمپوزٹ انڈیکس میں تقسیم کیا گیا ہے۔سنگل کالم انڈیکس، یعنی ایک انڈیکس صرف ایک کالم پر مشتمل ہوتا ہے، ایک ٹیبل میں ایک سے زیادہ سنگل کالم انڈیکس ہو سکتے ہیں، لیکن یہ کوئی کمپوزٹ انڈیکس نہیں ہے۔کمپوزٹ انڈیکس، یعنی ایک انڈیکس میں متعدد کالم ہوتے ہیں۔

انڈیکس بناتے وقت، آپ کو یہ یقینی بنانا ہوگا کہ انڈیکس ایک ایسی شرط ہے جو SQL استفسار پر لاگو ہوتی ہے (عام طور پر WHERE شق کی شرط کے طور پر)۔

درحقیقت، انڈیکس بھی ایک ٹیبل ہے، ٹیبل بنیادی کلید اور انڈیکس فیلڈز کو محفوظ کرتا ہے، اور ہستی ٹیبل کے ریکارڈ کی طرف اشارہ کرتا ہے۔

اوپر اشاریہ جات کے استعمال کے فوائد کے بارے میں بات کر رہے ہیں، لیکن اشاریہ جات کا زیادہ استعمال زیادتی کا باعث بنے گا۔اس لیے، انڈیکس میں بھی اپنی خامیاں ہوں گی: اگرچہ انڈیکس استفسار کی رفتار کو بہت بہتر بناتا ہے، لیکن یہ جدول کو اپ ڈیٹ کرنے کی رفتار کو کم کر دے گا، جیسے کہ ٹیبل کا INSERT، UPDATE اور DELETE۔کیونکہ جدول کو اپ ڈیٹ کرتے وقت، MySQL نہ صرف ڈیٹا کو محفوظ کرتا ہے، بلکہ انڈیکس فائل کو بھی محفوظ کرتا ہے۔

ایک انڈیکس فائل کو ترتیب دینا جو ڈسک کی جگہ استعمال کرتی ہے۔


عام انڈیکس

انڈیکس بنائیں۔

یہ سب سے بنیادی انڈیکس ہے، اس پر کوئی پابندی نہیں ہے۔اسے درج ذیل طریقوں سے بنایا جا سکتا ہے۔

CREATE INDEX indexName ON mytable(username(length)); 

CHAR اور VARCHAR اقسام کے لیے، لمبائی فیلڈ کی اصل لمبائی سے کم ہو سکتی ہے؛ BLOB اور TEXT کی اقسام کے لیے، لمبائی کا تعین کرنا ضروری ہے۔

ٹیبل کی ساخت میں ترمیم کریں (انڈیکس شامل کریں)

ALTER table tableName ADD INDEX indexName(columnName)

ٹیبل بناتے وقت براہ راست وضاحت کریں۔

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

انڈیکس چھوڑنے کے لیے نحو

DROP INDEX [indexName] ON mytable; 

منفرد انڈیکس

یہ پچھلے عام انڈیکس سے ملتا جلتا ہے، فرق یہ ہے: انڈیکس کالم کی قدر منفرد ہونی چاہیے، لیکن کالعدم اقدار کی اجازت ہے۔جامع اشاریہ کی صورت میں، کالم کی قدروں کا مجموعہ منفرد ہونا چاہیے۔اسے درج ذیل طریقوں سے بنایا جا سکتا ہے۔

انڈیکس بنائیں۔

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

ٹیبل کے ڈھانچے میں ترمیم کریں۔

ALTER table mytable ADD UNIQUE [indexName] (username(length))

ٹیبل بناتے وقت براہ راست وضاحت کریں۔

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

ALTER کمانڈ کا استعمال کرتے ہوئے اشاریہ جات کو شامل اور ہٹا دیں۔

ڈیٹا ٹیبل میں انڈیکس شامل کرنے کے چار طریقے ہیں:

  • ٹیبل کو تبدیل کریں tbl_name بنیادی کلید شامل کریں (کالم_لسٹ): یہ بیان ایک بنیادی کلید کا اضافہ کرتا ہے، جس کا مطلب ہے کہ اشاریہ کی قدریں منفرد ہونی چاہئیں اور NULL نہیں ہو سکتیں۔
  • ٹیبل کو تبدیل کریں tbl_name منفرد انڈیکس_نام شامل کریں (کالم_لسٹ): اس بیان کے ذریعہ بنائے گئے انڈیکس کی قدر منفرد ہونی چاہیے (سوائے NULL کے، NULL کئی بار ظاہر ہو سکتا ہے)۔
  • ٹیبل کو تبدیل کریں tbl_name ADD INDEX index_name (column_list): ایک عام انڈیکس شامل کریں، انڈیکس کی قدر کئی بار ظاہر ہو سکتی ہے۔
  • ٹیبل کو تبدیل کریں tbl_name شامل کریں FULLTEXT index_name (column_list):بیان مکمل متن کی اشاریہ سازی کے لیے انڈیکس کو FULLTEXT کے بطور متعین کرتا ہے۔

درج ذیل مثال ٹیبل میں انڈیکس شامل کرنا ہے۔

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

آپ اشاریہ جات کو چھوڑنے کے لیے ALTER کمانڈ پر DROP شق بھی استعمال کر سکتے ہیں۔انڈیکس کو چھوڑنے کے لیے درج ذیل مثال کو آزمائیں:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

ALTER کمانڈ کا استعمال کرتے ہوئے بنیادی کلیدیں شامل کریں اور ہٹا دیں۔

بنیادی کلید صرف ایک کالم پر کام کر سکتی ہے۔ پرائمری کلید انڈیکس شامل کرتے وقت، آپ کو یہ یقینی بنانا ہوگا کہ بنیادی کلید بطور ڈیفالٹ NULL نہیں ہے (NOT NULL)۔مثالیں درج ذیل ہیں:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

آپ ALTER کمانڈ کے ساتھ ایک بنیادی کلید کو بھی حذف کر سکتے ہیں:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

بنیادی کلید چھوڑتے وقت آپ کو صرف PRIMARY KEY بتانے کی ضرورت ہے، لیکن انڈیکس چھوڑتے وقت، آپ کو انڈیکس کا نام معلوم ہونا چاہیے۔


انڈیکس کی معلومات دکھائیں۔

آپ ٹیبل میں متعلقہ اشاریہ کی معلومات کی فہرست کے لیے SHOW INDEX کمانڈ استعمال کر سکتے ہیں۔آؤٹ پٹ معلومات کو \G شامل کر کے فارمیٹ کیا جا سکتا ہے۔

درج ذیل مثالیں آزمائیں:

mysql> SHOW INDEX FROM table_name; \G
........

ہوپ چن ویلیانگ بلاگ ( https://www.chenweiliang.com/ ) نے "MySQL ڈیٹا بیس انڈیکس ٹائپ/Create/Use Combination ALTER Statement Usage in MySQL" کا اشتراک کیا، جو آپ کے لیے مددگار ہے۔

اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-496.html

تازہ ترین اپ ڈیٹس حاصل کرنے کے لیے چن ویلیانگ کے بلاگ کے ٹیلیگرام چینل میں خوش آمدید!

🔔 چینل ٹاپ ڈائرکٹری میں قیمتی "ChatGPT Content Marketing AI Tool Usage Guide" حاصل کرنے والے پہلے فرد بنیں! 🌟
📚 یہ گائیڈ بہت بڑی قیمت پر مشتمل ہے، 🌟یہ ایک نادر موقع ہے، اس سے محروم نہ ہوں! ⏰⌛💨
پسند آئے تو شیئر اور لائک کریں!
آپ کا اشتراک اور پسندیدگی ہماری مسلسل حوصلہ افزائی ہے!

 

评论 评论

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا۔ ضروری شعبوں کا استعمال کیا جاتا ہے * لیبل لگائیں

اوپر سکرول کریں