| .Net اور VB پروگرامنگ .Net اور VB پروگرامنگ |
![]() |
|
|
LinkBack | موضوع کے اختیارات | موضوع کی درجہ بندی | ظاہری انداز |
|
|
#1 |
|
Senior Member
![]() |
ایس کیو ایل یا SQL ایک ایسی لینگویج ہے جو صرف اور صرف ڈیٹا بیسز کو مینیج کرنے کے لیے بنی ہے۔
ایس کیو ایل آئی بی ایم میں 1970 میں تین آدمیوں نے مل کر بنائی تھی۔ اینڈریو رچرڈ سن، ڈونلڈ سی میسرلی اور ریمنڈ ایف بوئکے۔ شروع شروع میں اس کو SEQUEL یا SEQL کہا جاتا تھا جس کا مطلب Structured English Query Language ہے۔ لیکن بعد میںاس لینگویج میں کچھ تبدیلیاں ہوئی اور اس کا نام SQL رکھا گیا جو کہ اب تک رائج ہے۔ زیادہ ڈیٹیل میںجاننے کے لیے گوگل میں SQL لکھ کر سرچ کریں اور جتنا چاہیں پڑھ لیں فی الحال ایس کیو ایل کے باری اتنا جاننا کافی ہے۔ ایس کیو ایل میں ہر دور میںکچھ نا نچھ اضافہ ہوتا رہا ہے اس کی ڈیٹیل بھی اگر آپ کو نیٹ پر مل جائے تو ٹھیک رونہ بتا دیجیے گا میںادھر ہی لکھ دوں گا۔
__________________
ARUZ Last edited by aruz; 25-08-09 at 06:28 AM. |
|
|
|
|
|
#2 |
|
Senior Member
![]() |
SQL Elements
ہر لینگویج کی طرح ایس کیو ایل کے بھی کچھ بیسک ایلیمنٹ ہوتے ہیں جن کی بنیاد پر یہ کام کرتی ہے۔ Clauses یہ کیوری کے کمپوننٹز کو ڈیفائن یا ان کی پہچان کرتے ہیں۔ Expressions جیسا کہ نام سے ہی ظاہر ہے کی یہ کوئی ویلیو ریٹرننگ چیز ہے۔ اس میں ہم ہر طرح کی چیز جیسے کوئی ڈیٹا یس کوئیٹیبل یا کوئی بھی ویلیو لکھ سکتے ہیں۔ اس میںہم جمع،منفی، ضرب، تقسیم وغیرہ کا عمل بھی کر سکتے ہیں۔ Predicates اس کا ایلیمنٹ کا مقصد کیوری میں بولین کنڈشنز کو شامل کرنا ہے۔ نارمل طور پر بولین دو طرحکی ویلیوز رکھتا ہے True یا False لیکن ایس کیو ایل میںاک ویلیو کا اضافہ ہوتا ہے جسے Unknown کہتے ہیں۔ Queries اس پارٹ کا مقصد ڈیٹا بیس سے ڈیٹا کو حاصل کرنا ہوتا ہے۔ Statements یہ حصہ اس ڈیٹا کے بارے میں معلومات مہیا کرتا ہے جس کو ڈیٹا بیس سے حاصل کرنا ہوتا ہے۔ |
|
|
|
|
|
#3 |
|
Senior Member
![]() |
یاد رہے کہ ہم SQL لینگویج کر رہے ہیںنہ کہ SQL Software یا My SQL Software سیکھ رہے ہیں۔ ان دونوںمیں فرق ہے۔ وہ یہ کہ سافٹ ویر ایس کیو ایل کو استعمال کر کے ڈیٹا بیس کو مینیج کرتے ہیں اور ایس کیو ایک ڈیٹا بیس پر آپریشنز پرفارم کرتی ہے۔
|
|
|
|
|
|
#4 |
|
ناظم اعلی
![]() ![]() |
aruz بھائی سلام،
دھماکے دار واپسی مُبارک ہو! |
|
|
|
|
|
#5 |
|
Senior Member
![]() |
واہ بھائی بہت بتہ شکریہ۔۔۔
|
|
|
|
|
|
#6 |
|
ناظم اعلی
![]() ![]() ![]() تاریخ شمولیت: Dec 2007
مقام: کراچی
مراسلات: 17,530
کمائي: 298,240
شکریہ: 36,136
13,831 مراسلہ میں 40,307 بارشکریہ ادا کیا گیا
|
جاری رکھیں سر جی !
|
|
|
|
|
|
#7 |
|
Senior Member
![]() تاریخ شمولیت: Sep 2008
مراسلات: 7,539
کمائي: 88,287
شکریہ: 5,217
5,045 مراسلہ میں 11,480 بارشکریہ ادا کیا گیا
|
بہت شاندار کلاس جاری رکھیں
|
|
|
|
|
|
#8 |
|
Senior Member
![]() ![]() تاریخ شمولیت: Sep 2007
مقام: Gujrat
مراسلات: 1,716
کمائي: 24,793
شکریہ: 1,293
980 مراسلہ میں 1,851 بارشکریہ ادا کیا گیا
|
بیت خوب بھائی
مزید کا انتظار رہے گا۔ |
|
|
|
|
|
#9 |
|
Senior Member
![]() |
اب ہم ایس کیو ایل کو باقاعدہ طور پر پڑھنا شروع کریں گے۔
ایس کیو ایل میں سٹیٹمنٹس لکھی جاتی ہیں جو باقی ایس کیو ایل ایلیمنٹس کو ملا کر بنتی ہے۔ ایس کیو ایل لینگویج کو بڑے یا چھوٹے حروف دونوں میں لکھا جاسکتا ہے کوئی پابندی نہیں ہوتی۔ کچھ ڈیٹا بیس سسٹمز ایس کیو ایل سٹیٹمنٹ کے بعد سیمی کولن کو ٹرمینیشن لیٹر کے طور پر لیتے ہیں۔ اگر ہم ایکسس یا اوریکل کا کونسول استعمال کر رہے ہیںتو ہمیں سیمی کولن لگانا پڑے گا ورنہ اگر ہم ایس کیو ایل سٹیٹمنٹ کو کسی سافٹ ویر سے کال کریں تو ضروری نہیںہوتا۔ ڈیٹا بیس منیجمنٹ کے سیکشن میںمیںنے کیوری لکھنے کا طریقہ بتایا ہے۔ |
|
|
|
|
|
#10 |
|
Senior Member
![]() |
ایس کیو ایل کو دو حصوں میںتقسیم کیا جاتا ہے Data Manipulation Language : DML اور Data Definition Language : DDL
ڈی ایم ایل اور ڈی ڈی ایل کمانڈز میں فرق یہ ہے کہ ڈی ایم ایل کمانڈز ریکارڈز پر آپریشنز کرنے اور ڈیڈی ایل کمانڈز ٹیبلز پر آپریشنز کرنے کے لیے استعمال ہوتی ہیں۔ DML Commands SELECT ڈیٹا بیس میں سے ڈیٹا کو حاصل کرنے کے لیے استعمال ہوتی ہے۔ UPDATE ڈیٹا بیس میں کسی ریکارڈ کو اپ ڈیٹ کرنے کے لیے استعمال ہوتی ہے۔ INSERT INTO ڈیٹا بیس میں کوئی نیا ریکارڈ بنانے کے لیے استعمال ہوتی ہے۔ DELETE ڈیٹا بیس میںریکارڈ ڈیلیٹ کرنے کے لیے استعمال ہوتی ہے۔ DDL Commands CREATE DATABASE یہ کمانڈ ایک نیا ڈیٹا بیس بنانے کے لیے استعمال ہوتی ہے۔ ALTER DATABASE یہ کمانڈ ایک پہلے سے بنے ہوئے ڈیٹا بیس میں تبدیلیاں کرنے کے لیے استعمال ہوتی ہے۔ CREATE TABLE یہ کمانڈ کسی ڈیٹا بیس میں ایک ٹیبل بنانے کے لیے استعمال ہوتی ہے۔ ALTER TABLE یہ کمانڈ کسی ٹیبل میںتبدیلیاں کرنے کے لیے استعمال ہوتی ہے۔ DROP TABLE یہ کمانڈ کسی ٹیبل کو ڈیلیٹ کرنے کے لیے استعمال ہوتی ہے۔ CREATE INDEX یہ کمانڈ کسی ٹیبل میں کسی کالم پر انڈیکسنگ کرنے کے لیے استعمال ہوتی ہے۔ DROP INDEX یہ کمانڈکسی ٹیبل میں کسی انڈیکس کو ڈیلیٹ کرنے کے لیے استعمال ہوتی ہے۔ انڈیکس ایک ایسی کی ہوتی ہے جو سرچ کرنے کے عمل کو تیز کرنے کے لیے لگائے جاتے ہیں۔ نارملی یہ پرایمری کی پر ڈیٹا بیس کی طرف سے آٹومیٹیکلی لگائے جاتے ہیں لیکن آپاپنی مرضی سے خود بھی کسی کالم پر لگا سکتے ہیں۔ اب آپ کو یہ کیسے پتا چلے گا کہ آپ نے کس کالم کی انڈیکسنگ کرنی ہے تو وہ کالم جس کا استعمال آپ بہت زیادہ کرتے ہوں اس کی انڈیکسنگ کر دیں۔ انڈیکسنگ ان کالمنز یا ٹیبلز پر نہیں کرنی چاہے جن میں تبدیلیاںبہت تھوڑے وقفے میں لائی جا رہی ہوں۔ تبدیلی سے مراد ان میںاپ ڈیٹ یا ڈیلیٹ یا انسرٹ کے فنکشنن سے ہے نہ کہ سرچ کے فنکشن سے۔ جب آپ انڈیکسنگ کرتے ہیں ڈیٹا بیس ایک ٹیبل یا کالم بنا کر اس میں انڈیکس کا ریکارڈ رکھتا ہے جس سے ڈیٹا بیس کا حجم بڑھتا ہے چنانچہ زیادہ انڈیکسنگ نہیں کرنی چاہیے اور صرف ضرورت کو مد نظر رکھ کر ہی کرنی چاہیے ہے۔ اب ایک اور چیز جب آپ کوئی بھی آپریشن کریں گے سوائے SELECT کے تو آپ کی تبدیلی کرنے کے لیے کیوری چلنے کے بعد COMMIT کرنا پڑتا ہے۔ اوریکل وغیرہ میں اس کی کمانڈ ہوتی ہے جبکہ ایکسس میںیہ ایک ڈائلاگ باکس کے ذریعے کنفرم کر لے گا اور خود بخود کمٹ کر دے گا۔ سافٹ ویر میں آپ کو یہ چیز خود ہینڈل کرنی ہوتی ہے کہ آٹو کمٹ کرنا ہے یا مینول۔ |
|
|
|
|
|
#11 |
|
Senior Member
![]() |
SQL Syntax
میںآپ کو اب ایس کیو ایل لکھنے کا طریقہ بتاوں گا جو کہ بالکل ایسے ہی جیسے ہم روز مرہ بات چیت کرتے ہیں۔ فرض کریںآپ ایک دکان پر گئے ہیں۔ اس دکان میں ایک الماری میںدودھ پڑا ہوتا ہے۔ فرض کریںکہ ہر الماری کا ایک نام ہے اور آپ کو وہ نام پتا ہے۔ آپ نے اس الماری میں جو بھی پڑا ہے وہ چاہیے تو آپ سیدھا کاونٹر پر جائیں گے اور بولیں گے کہ اس الماری میںجوبھی پڑا ہے لا کر دے دو اور آپ کو وہ سب کچھ مل جائے گا۔ اسی طرح ایس کیو ایل کام کرتی ہے۔ فرض کریں کہ دکان ایک ڈیٹا بیس ہے اور وہ الماریاس میںموجود ایک ٹیبل ہے ایس کیو ایل میں آپ کچھ اس طرح کہیں گے SELECT * FROM TABLENAME یہ کمانڈ آپ کو اس الماری یا ٹیبل میں کوجود سب کچھ نکال کر آپ کے سامنے رکھ دے گی۔ اب ہم ایک ڈیٹا بیس میںموجود ٹیبل کی مثال لیتے ہیں۔ Table Name : Sudents ID NAME 1 ABC 2 XYZ 3 PQR اب آپ یہ کیوری لکھ کر چلائیں SELECT * FROM STUDENTS یہ کیوری آپ کو یہ پورے کا پورے کا ٹیبل شو کر دے گی۔ اب آپ یہ کیوری چلائیں۔ SELECT ID FROM STUDENTS یہ کیوری آپ کو صرف ID والا کالم شو کرے گی۔ اسی طرح اگر آپ آئی ڈی کی جگہ نیم لکھ کر کیوری چلائیںگے تو نیم والا کالم شو ہو جائے گا۔ |
|
|
|
| aruz کا شکریہ ادا کیا گیا | wajee (26-08-09) |
|
|
#12 |
|
Senior Member
![]() |
اب ہم ایک اور مثال لیتے ہیں
Table Name : Sudents ID NAME PHONE 1 ABC 000 2 XYZ 111 3 PQR 222 اب ہم چاہتے ہیں کہ صرف آئی ڈی اور نام شو ہو جائیں تو یہ کیوری بنے گی۔ SELECT ID, NAME FROM STUDENTS اسی طرح جو جو کالم ہمیںچاہیںانکا نام کوما لگا کر لکھتے جائی وہ وہ کالم شو ہو جائیں گے۔ اب ایک اور اہم بات اگر ہم * لگائیںگے تو کیوری سلو یا آہستہ چلے گی اور اگر ہم کالم کا نام لکھ کر کیوری چلائیں گے تو کیوری کے چلنے کی رفتار تیز ہو گی اور جلدی سرچ کرے گی۔ |
|
|
|
|
|
#13 |
|
Senior Member
![]() |
سامپل ڈیٹا بیس بنا کر اپ لوڈ کر دیا ہے ایک ٹیبل میں کیوریز میں نے بنا دی ہیں امیدکرتا ہوں کہ دوسرے ٹیبل میں آپ خود لکھنے کی کوشش کریں گے۔
|
|
|
|
|
|
#14 |
|
Senior Member
![]() |
اگر آپ چاہتے ہیں کہ کیوری جو رزلٹ دے اس میںکالم کے نام اصل ٹیبل کے ناموں سے مختلف نظر آئیں تو آپ کی کیوری کچھ اس طرح بنے گی۔
SELECT ID AS ROLLNO FROM STUDENTS اب جو رزلٹ آپ کے سامنے آئے گا اس میںآئی ڈٰی کے کالم میںآئی ڈی کی جگہ رول نمبر لکھا ہو گا۔ لیکن یاد رکھیںکہ اصل ٹیبل میں کالم کانام آئی ڈی ہی رہے گا بلکہ وقتی طور پر صرف آپ کے سامنے کیوری کے رزلٹ میںصرف نام تبدیل ہو گا۔ |
|
|
|
|
|
#15 |
|
Senior Member
![]() تاریخ شمولیت: Sep 2008
مراسلات: 7,539
کمائي: 88,287
شکریہ: 5,217
5,045 مراسلہ میں 11,480 بارشکریہ ادا کیا گیا
|
بہت ہی زبردست Aruz بھائی
|
|
|
|
![]() |
| Tags |
| aruz, data, database, false, information, software, کلاس, گوگل, بھائی, رمضان, سافٹ, صرف |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| موضوع کے اختیارات | |
| ظاہری انداز | Rate This Thread |
|
|
Similar Threads
|
||||
| موضوع | موضوع شروع کیا | فورم | جوابات | آخری مراسلہ |
| C & C++ Language HelpLine | پاکستانی | C & C++ Language | 59 | 17-11-09 08:49 PM |
| ؒLanguage لینگویج | wajee | HTML | 7 | 11-06-09 08:37 PM |
| Confusing English language | ابو عمار | Chit Chat | 0 | 22-10-08 11:25 AM |
| The Corporate language | ابو عمار | Chit Chat | 2 | 17-05-08 02:22 PM |