• ভাষা:
  • English
  • বাংলা
হোম > ডাটাবেজ হিসেবে মাইএসকিউএল
লেখক পরিচিতি
লেখকের নাম: মর্তুজা আশীষ আহমেদ
মোট লেখা:৭৭
লেখা সম্পর্কিত
পাবলিশ:
২০০৮ - নভেম্বর
তথ্যসূত্র:
কমপিউটার জগৎ
লেখার ধরণ:
প্রোগ্রামিং
তথ্যসূত্র:
পাঠশালা
ভাষা:
বাংলা
স্বত্ত্ব:
কমপিউটার জগৎ
ডাটাবেজ হিসেবে মাইএসকিউএল



কমপিউটার জগৎ-এর পাঠশালা বিভাগে গত কয়েকটি সংখ্যায় মাইএসকিউএলের প্রাথমিক ব্যবহার দেখানো হয়েছে। সেখানে ডাটাবেজের ইনপুট আউটপুটসহ প্রাথমিক কাজগুলো দেখানো হয়েছে। ডাটাবেজের সবচেয়ে শক্তিশালী হাতিয়ার হচ্ছে এর কোয়েরি । এই কোয়েরির সবচেয়ে বড় অংশ জুড়ে আছে সিম্পল কোয়েরি ল্যাঙ্গুয়েজ বা এসকিউএল। এই পর্বে এসকিউএল নিয়ে আলোচনা করা হয়েছে।

সাধারণত ডাটাবেজ ল্যাঙ্গুয়েজের বেশিরভাগ কাজ করা হয়ে থাকে এই সিম্পল কোয়েরি ল্যাঙ্গুয়েজ বা এসকিউএলের মাধ্যমে। এসকিউএলের সবচেয়ে বড় সুবিধা হচ্ছে বিভিন্ন ডাটাবেজ ল্যাঙ্গুয়েজের মধ্যে এর ব্যবহারের পার্থক্য নেই বললেই চলে। একটি ডাটাবেজ ল্যাঙ্গুয়েজের এসকিউএলে কাজ করলে তা অন্য সবগুলো ডাটাবেজ ল্যাঙ্গুয়েজে কাজে লাগানো যায়। কিছু কিছু ক্ষেত্রে ডাটাবেজ ভেদে এর ব্যবহারের কিছুটা পার্থক্য থাকলেও বেশিরভাগ ক্ষেত্রে সব ডাটাবেজ ল্যাঙ্গুয়েজে এর ব্যবহার একই। মাইএসকিউএলে কোড কোথায় লেখতে হবে তা পাঠশালা বিভাগের গত সেপ্টেম্বর সংখ্যায় দেখানো হয়েছে। তাই এর ব্যবহার কীভাবে করতে হবে তা নিয়ে কোনো সমস্যা থাকার কথা নয়।

এবারে আসা যাক এসকিউএল কোন কোন ক্ষেত্রে ব্যবহার করা যায় সে প্রসঙ্গে। এসকিউএলের মাধ্যমে ডাটাবেজের প্রায় সব কাজ করা যায়। এখনকার বেশিরভাগ ডাটাবেজের গ্রাফিক্সের ব্যবহার বেড়ে যাচ্ছে। ডাটাবেজে গ্রাফিক্সের ব্যবহার বাড়লেও কিন্তু এসকিউএলের গুরুত্ব মোটেও কমেনি। বড় বড় ডাটাবেজ অ্যাডমিনিস্ট্রেটর এবং ডেভেলপাররা এসকিউএলেই বেশিরভাগ কাজ করে, তা যে ডাটাবেজই হোক না কেন। মাইএসকিউএলের ব্যবহারের গত দুটি পর্বে কিছু কিছু এসকিউএলের ব্যবহার দেখানো হয়েছে। ডাটাবেজ ল্যাঙ্গুয়েজ হিসেবে ওরাকল ব্যবহার করার সময় এসকিউএলের কাজের গভীরতা পরিমাপ করা যায়। তবে কমবেশি সব ডাটাবেজ ল্যাঙ্গুয়েজেই এসকিউএলের ভূমিকা একই রকমের।

এসকিউএলের সাহায্যে ডাটাবেজের প্রায় সব ধরনের কাজ করা যায়। ডাটাবেজের বিভিন্ন রকমের অ্যাড/রিমুভ, টেবিল তৈরি এবং মডিফাই, রিলেশনাল ডাটাবেজ ম্যানেজমেন্ট ইত্যাদি সব কাজ এসকিউএলের সাহায্যে করা যায়। মজার ব্যাপার হচ্ছে, এসকিউএল একবার শিখলে তা যেকোনো ডাটাবেজের জন্য কাজে লাগে। একই এসকিউএল সব ডাটাবেজে একইভাবে কাজে লাগে। মাইএসকিউএলে এসকিউএল ব্যবহার করার জন্য স্টার্ট প্রোগ্রামস মাইএসকিউএল মাইএসকিউএল সার্ভার কমান্ড লাইন ক্লায়েন্ট খুলতে হবে। এখানেই এসকিউএল লিখে কাজ করতে হয়। প্রথমেই দেখা যাক show কিভাবে এসকিউএল হিসেবে কাজ করে।

SHOW DATABASES [LIKE ]
or SHOW [OPEN] TABLES [FROM ] [LIKE ]
or SHOW [FULL] COLUMNS FROM [FROM ]
[LIKE ]
or SHOW INDEX FROM tablename [FROM ]
or SHOW TABLE STATUS [FROM ] [LIKE ]
or SHOW STATUS [LIKE I
or SHOW VARIABLES [LIKE ]

or SHOW LOGS
or SHOW [FULL] PROCESSLIST
or SHOW GRANTS FOR user
or SHOW CREATE TABLE tablename
or SHOW MASTER STATUS
or SHOW MASTER LOGS
or SHOW SLAVE STATUS

ডাটাবেজে এসকিউএল হিসেবে সবচেয়ে বেশি কাজ করা হয় select স্টেটমেন্ট দিয়ে। এই স্টেটমেন্ট কীভাবে মাইএসকিউএলে কাজ করে তা দেখা যাক।

SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT]
[SQL_BUFFER_RESULT]
[HIGH_PRIORITY]
[DISTINCT | DISTINCTROM | ALL]
select_expression ....
[INTO {OUTFILE | DUMPFILE} ‘file_name’ export_options]
[FROM table_references
[WHERE where_defeinition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC
| DESC], ...]
[HAVING where_defeinition]|
[ORDER BY {unsigned_integer | col_name | formula} [ASC
| DESC] , ... ]
[LIMIT [offset,] rows]
[PROCEDURE proceduro_name]
[FOR UPDATE | LOCK IN SHARE MODE]]

এখানে কোডের ইটালিক করে দেয়া অংশে নির্দিষ্ট নাম বুঝানো হয়েছে। এগুলো টেবিল, কলাম যেকোনো কিছুই হতে পারে। select স্টেটমেন্টের আরো কিছু ব্যবহার দেখানো হয়েছে replace, length, reverse প্রভৃতি দিয়ে।

SELECT REPLACE ( ‘I want to work with Old string’ , ‘Old
string’ , ‘New string’);
SELECT LENCTH ( ‘What is the length of this string?’ );
SELECT LENGTH ( REPLACE (‘I want to work with Old string’ , ‘Old
string’ , ‘a New string’));
SELECT REVERSE (‘Reverse this string’);
SELECT REVERSE (‘abba’ );

ডাটাবেজে অনেক সময় ফাইল নিয়ে কাজ করার প্রয়োজন দেখা দেয়। এসকিউএলের মাধ্যমে ডাটাবেজে বিভিন্ন ডাটা ফাইল লোড করাসহ অনেক ধরনের কাজ করা যায়। তার কয়েকটি নমুনা দেখা যাক :

SELECT LOAD_FILE (‘/NEW/NEWMAX/MAX.TXT’);
SELECT LOAD_FILE (‘/NEW/NEWMAX’);

select স্টেটমেন্টের অন্যান্য ফাংশনের কাজ কী ধরনের হবে তা জেনে নেয়া যাক :

DATA BASE()  ডাটাবেজের নাম রিটার্ন করবে।

ENCRYPT (S, halt)  halt কে স্ট্রিং হিসেবে গণ্য করে তা S-এ রাখবে।

IF (T, Rl, R2)  সাধারণ কন্ডিশনাল কাজ করবে। এখানে কন্ডিশন হচ্ছে T । যদি কন্ডিশন সত্য হয় তাহলে R1 রিটার্ন করবে এবং যদি কন্ডিশন মিথ্যা হয় তাহলে R2 রিটার্ন করবে।

IFNULL (T)  সাধারণ কন্ডিশনাল কাজ করবে। এখানে কন্ডিশন হচ্ছে T । যদি কন্ডিশন সত্য হয় তাহলে 1 রিটার্ন করবে।

LAST_INSERT_ID() এই ফাংশন আইডি নিয়ে কাজ করে থাকে। সর্বশেষ আইডি এই ফাংশনের সাহায্যে রিটার্ন করা হয়। একাধিক আইডি এর সাহায্যে সংরক্ষণ করা যায়।

MD5(S)  S স্ট্রিং-এর md5 যোগফল রিটার্ন করবে।

PASSWORD(S)  সাধারণত সব সিস্টেমে পাসওয়ার্ড এনক্রিপটেড অবস্থায় থাকে নিরাপত্তার জন্য। এই ফাংশনের সাহায্যে এধরনের নিরাপত্তা ব্যবস্থা নেয়া যায়।

VERSION() এসকিউএল সার্ভারের সিস্টেমে থাকা বর্তমান ভার্সন রিটার্ন করে।

এখন বিভিন্ন এসকিউএল কমান্ড লিখে মাইএসকিউএলে দেখতে পারেন তা কাজ করে কিনা। শুধু মনে রাখতে হবে এই বেসিক অংশগুলো মনে রাখলেই অন্য যেকোনো ডাটাবেজ ল্যাঙ্গুয়েজের চেয়ে মাইএসকিউএল আলাদা মনে হবে না।

কজ ওয়েব


ফিডব্যাক : mortuza_ahmad@yahoo.com
পত্রিকায় লেখাটির পাতাগুলো
লেখাটি পিডিএফ ফর্মেটে ডাউনলোড করুন
চলতি সংখ্যার হাইলাইটস