sql টিউটোরিয়াল, পর্ব – ৮ ( SELECT ও COUNT কামান্ড )

এই সিরিজের পূর্বের টিউটোরিয়াল গুলঃ

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

আপনি চাইলে ওয়েভ সার্ভারেও রান করতে পারেন। তবে এ জন্য আপনাকে অবশ্যই ডোমেইন ও হোস্টিং এর প্রয়োজন হবে। উন্নতমানের ডোমেইন ও হোস্টিং এর জন্য যোগাযগ করতে পারেন টিউটোহোস্টে। টিউটোহোস্ট আপনাকে দিচ্ছে মাত্র ৮০০ টাকায় এক বছর মেয়াদের একটি উন্নত মানের ডোমেইন ও হোস্টিং। বিস্তারিত জানার জন্য যোগাযোগ করুন টিউটোহোস্টের ওয়েভ সাইটে www.tutohost.com ।

<html><head>

<title>welcome to tutorialbd</title>

<h1>www.tutorialbd.com</h1>

</head>

<body>

<form method = "POST" action = "add.php">

<label for = "name"> Name: </label>

<input type="text" name="name" id= "name">

</br>

<label for ="email">Email: </label>

<input type="text" name = "email" id= "email">

</br>

<input type= "submit" value = "Send">

</br>

</form>

</body>

</html>

উপরের কোড গুল কপি করে নোটপেডে পেষ্ট করুন এবং সেভ করুন index.php নামে।

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST'){

$conn = mysql_connect('localhost','root','haxer');

mysql_select_db('student_info');

mysql_query("INSERT INTO info VALUES (Null,'$_POST[name]','$_POST[email]')", $conn);

}

else{

echo "porblem";

}

?>

<html>

<head>

<title>welcome to tutorialbd</title>

<h1>www.tutorialbd.com</h1>

</head>

<body>

<h2>information add successfully</h2>

</body>

</html>

 এই কোড গুল কপি করে পূর্বের ন্যায় নোটপ্যাডে পেষ্ট করুন এবং সেভ করুন add.php নামে।

নোটপ্যাড ওপেন করার জন্য Start --> Programs --> Accessories --> Notepad ক্লিক করুন।

01tutohost নামে একটি ফোল্ডার তৈরি করুন Index.php ও add.php নামের ফাইল ২টি ঐ tutohost ফোল্ডারে রাখুন। xampp নামের ফোল্ডারটি C ড্রাইভে রয়েছে। xampp নামের ফোল্ডারটি ওপেন করুন এরপর xampp নামের ফোল্ডারটির ভিতরে অন্য একটি ফোল্ডার রয়েছে htdocs নামে। htdocs নামের ফোল্ডারটি ওপেন করুন এবং Tutohost নামের ফোল্ডারটি উক্ত htdocs ফোল্ডারে পেস্ট করে দিন। ব্রাউজার ওপেন করুন এবং এড্রেস লিখুন http://localhost/tutohost এবং এন্টার প্রেস করুন নিচের ছবির মত আসবে। Name ও Email এর ঘর পূরন করেন Send বাটনে ক্লিক করুন।

02অন্য একটি পেজ অপেন হবে এবং ইনফরমেশন গুল এড হয়েছে মেসেজ করবে।  বক্সে যে ডাটা গুল দিয়েছিলেন ঐ ডাটা গুল ডাটাবেজে যোগ হয়েছে।

সঠিক ভাবে যোগ হয়েছে কিনা দেখার জন্য cmd ব্যবহার করে mysql এ লগিন করুন – Student_info ডাটাবেজ নির্বাচন করুন এবং সর্বশেষ SELECT * FROM info কান্ডের মাধ্যমে দেখে নিন উক্ত info নামের টেবিলে ওভেভ সাইটের মাধ্যমে দেওয়া ইনফরমেশন গুল যোগ হয়েছে কিনা। খেয়াল করে দেখবেন add.php নেমের যে ফাইলটি রয়েছে তার ৫ম লাইনে “INSERT INTO info VALUES” নামের কিছু কোড রয়েছে।

03এই “INSERT INTO info VALUES” নামের বেসিক কামান্ড নিয়ে গত পর্বে আলোচনা করা হয়েছিল। সুতারাং বর্তমান পর্ব গুল থেকে ভবিষৎএ যতগুল টিউটোরিয়াল হবে সব গুলই যথেষ্ট পরিমান গুরুত্বপূর্ন। তাই কোন বিষয়ে বুঝতে সমস্যা হলে কমেন্ট করবেন। আজকের আলোচনার বিষয় হচ্ছে SELECT ও SELECT COUNT বেসিক কামান্ড

SELECT: sql এ সবচেয়ে বেশি ব্যবহৃত হয় SELECT কামান্ডটি, ডাটা দেখা, খোজ করা ইত্যাদি সহ নানা ধরনের লজিক্যাল কাজ করা যায় এই SELECT কামান্ড দিয়ে। গত ৭ম পর্বে দেখেছিলাম কিভাবে SELECT কামান্ড দিয়ে টেবিলের সকল ফিল্ডের ডাটা দেখা যায়। চলুন পুনরায় দেখে নেই ও কোড বিশ্লেষন দেখে নেই।

SELECT fild_name FROM table_name: Cmd ব্যবহার করে mysql এ লগিন করুন। student_info নামের ডাটাবেজটি নির্বাচন করুন পুনরায় cmd তে লিখুন

SELECT * FROM info;

কোড বিশ্লেষনঃ সার্ভার উক্ত info নামের টেবিলে সব গুল ফিল্ড এবং ফিল্ডে যত গুল ডাটা রয়েছে তা দেখাবে। সকল ফিল্ড দেখার জন্য মূল sql কামান্ড হচ্ছে “SELECT fild_name FROM table_name” কিন্তু এখানে cmd তে যে সাইন্টেক্স ব্যবহার করা হয়েছে সে সাইনটেক্সে দেখা যাচ্ছে fild_name এর পরিবর্তে * ব্যবহার করা হয়েছে। এর ব্যখ্যা হচ্ছে- * দিয়ে সকল ফিল্ডকে বুঝানো হয়েছে। অর্থাৎ আপনি চাইলে একটি টেবিলের সকল ফিল্ড দেখাতে পারেন, যদি কোন ফিল্ড এর নাম ব্যবহার না করে শুধু মাত্র * ব্যবহার করে থাকেন।  কখন কখন এমন হতে পারে আপনাকে যে কোন একটি ফিল্ডের সকল ডাটা দেখার প্রয়োজন হতে পারে। ধরা যাক পূর্বে তৈরি করা info নামের টেবিলের শুধু মাত্র Name নামের ফিল্ডের সকল ডাটা গুল দেখার প্রয়োজন হবে এক্ষত্রে sql সাইন্টেক্স হবে

SELECT Name FROM info;

04

অথবা ২ বা ততধিক ফিল্ড এর ডাটা দেখার প্রয়োজন সেক্ষেত্রে প্রতিটি ফিল্ডকে আলাদা করার জন্য কমা (,) ব্যবহার করতে হবে। যেমন, info নামের টেবিলের Name এবং Email  ফিল্ড এর ডাটা দেখার জন্য sql সাইন্টেক্স হবে

SELECT Name, Email FROM info;

05

SELECT count(fild_name) FROM table_name: একটি ওয়েভ সাইটে কতজন ইউজার রয়েছে তা দেখার জন্য অর্থাৎ কোন নিদিষ্ট টেবিলের ফিল্ড সমূহ গননা করার জন্য এই সাইন্টেক্স ব্যবহার করা হয়। একটি টেবিলে এ পর্যন্ত কতটি সারি / row যোগ হয়েছে তা দেখার জন্য sql সাইন্টেক্স হচ্ছে

SELECT COUNT(*) FROM table_name

উদাহরন হিসেবে info টেবেলির কতটি row আছে তা দেখা যাক cmd তে লিখুন

SELECT (*) FROM info;

06সার্ভার info নামের টেবিলের কতটি row রয়েছে তা রিটার্ন করবে। ইচ্ছে করলে আপনি একটি নিদিষ্ট ফিল্ডে কতটি row রয়েছে তাও দেখতে পারবেন এক্ষেত্রে শুধু মাত্র * এর স্থলে ফিল্ড এর নাম উল্লেখ্য করতে হবে।  যেমনঃ info টেবিলের শুধু মাত্র Name ফিল্ডের কতটি row  রয়েছে তা দেখার জন্য sql সাইন্টেক্স হবে

SELECT COUNT(Name) FROM info;

আপনার যদি অনলাইন সপ থেকে থাকে তাহলে কোণ ওর্ডার এসেছে কিনা চেক করার জন্য SELECT count(fild_name) FROM table_name এই সাইন্টেক্স টি ব্যবহার করা হয়। প্রথমে চেক করে নিবে কতটি row রয়েছে এবং উক্ত ভ্যালু একটি ভেরিয়েবলে জমা করে রাখবে। এবং পুনরায় কিছু সময় অন্তর অন্তর চেক করতে থকবে row সমূহ কি পূর্বের ন্যয় রয়েছে নাকি পরিবর্তন হয়েছে যদি পরিবর্তন হয়ে থাকে তাহলে আপনাকে ইমেল অথবা এসএমএস এর মাধ্যমে জানিয়ে দেওয়া হবে।

08row সমূহ তখন পরিবর্তন হবে যখন কোন ওর্ডার করা হবে তখন তা ডাটাবেজের যে টেবিলে যোগ হবে। ধরুন প্রথম row এর সংখ্যা ছিল ৫ এবং এই পাচঁ কে একটি ভেরিয়েবলে রাখা হয়েছে। এর পর এপ্লিকেশন বার বার চেক করবে কখন row এর সংখ্যা ৫ এর চেয়ে বেশি হবে। একটি অর্ডার করা হল তখন row এর সংখ্যা পরিবর্তন হয়ে হবে ৬ । যখন ৬ হবে তখন আপনাকে ইমেল অথবা এসএমএস করবে।

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

Leave a Comment