How to create tables in a MySQL database

Database অনেক ধরনের হয়ে থাকে তবে তার মধ্যে সবচেয়ে বেশি জনপ্রিয় হলো MySQL Database। আজকে আমরা শিখবো কিভাবে MySQL Database এ নতুন কোন table তৈরী করতে পারি।
প্রথমেই আমাদেরকে MySQL Download করতে হবে। আর তার জন্য এই লিংকটিতে গিয়ে Download করে নিতে হবে তবে এভাবে না করে আমরা যদি XAMPP, WAMPP, MAMP ব্যবহার করি তাহলে শুধু MySQL না PHP এবং Apache ও আমরা এক সাথে পেয়ে যাবো। যার কারনে আলাদা ভাবে MySQL Download না করে প্রায় সবাই XAMPP, WAMPP, MAMP ইত্যাদি local web server ব্যবহার করে থাকে।
আমি যেহেতু Mac ব্যবহার করছি তার জন্য আমি MAMP download করব। এ জন্য আমাদেরকে যেতে হবে এই লিংকে । আবার আপনি যদি windows ব্যবহারকারী হয়ে থাকেন তাহলে XAMPP অথবা WAMPP বা laragon download করে নিতে পারেন। তবে windows ব্যবহারকারীর জন্য laragon এককথায় অসাধারন!‍
তো এখন আমরা MAMP বা XAMPP বা অন্য যে কোন local web server ইনস্টল করা শেষ করব তারপর সেই local web server টিকে open করব। আমার ক্ষেত্রে MAMP open করলে এই রকম দেখাবে –

এখন MAMP server টিকে চালু করতে হলে Start Servers এ ক্লিক করতে হবে। তাহলেই আমাদের local web server টি চালু হয়ে যাবে। XAMPP, WAMP বা laragon এও server চালু করার ব্যবস্থা রয়েছে।
এখন server তো start হলো কিন্তু database এ যাবো কিভাবে বা table ই বা কিভাবে তৈরী করব?
ওয়েট ম্যান, ওয়েট 🙂
আমরা যখন local web server চালু করব তখন আমরা যে কোন browser গিয়ে localhost লিখলেই আমাদের phpMyAdmin এ নিয়ে যাবে। এটা আবার কি? হ্যা, এটাই হচ্ছে MySQL administration যেখান থেকে আমরা নতুন database, table তৈরী করব।
তবে মনে রাখবেন, এই localhost দিলে কিন্তু সবসময় যে phpMyAdmin এ যেতে পারবেন তা কিন্তু না। এটা নির্ভর করে আপনি Apache web server এর জন্য কোন port ব্যবহার করেছেন তা উপর। যেমন আমার ক্ষেত্রে যেতে হয় localhost:8888 এই এড্রেসে কারন আমার MAMP Local web server এ Apache web server এর জন্য port দেওয়া আছে 8888। যেমন-

MySQL Web Server
MySQL Web Server

এখন আমি যখন এই localhost:8888 এড্রেসে যাবে তখন phpMyAdmin এর এই interface টি এই রকম দেখাবে।
PHPMyAdmin
PHPMyAdmin
১। প্রথমে আমরা Database নামে যে tab টি দেখা যাচ্ছে সেখানে ক্লিক করব। তাহলে আমরা নতুন একটি page এ চলে যাবে। যেমন –

PHPMyAdmin
PHPMyAdmin

এখানে Create database লেখাটির নিচে আমার একটি input box দেখতে পাবো যেখানে Database name লেখাটি দেখা যাচ্ছে। আমি school নামে database তৈরী করব তাই school লিখে Create button এ ক্লিক করব। এরপর আবার আরো একটি page এ চলে যাবে। যেমন-

PHPMyAdmin
PHPMyAdmin

এখন আমরা ২ টি input box দেখতে পাচ্ছি। একটি হলো Name অপরটি হলো Number of Columns। মানে আমাদের table এর Name কি হবে এবং তার জন্য কয়টি Columns আমরা দিব।
ওকে তাহলে আমাদের প্রথম table টির নাম দিব students এবং Columns এর সংখ্যা দিব ৪ টি। কেন ৪ টি দিব?কারন আমরা চাচ্ছি যে আমাদের student table টিতে student_id, student_name, roll_number, join_date এ ৪ টি Columns থাকবে।
এখন Go বাটনে ক্লিক করার সাথে সাথে আরো একটি page চলে আসবে। যেমন-

PHPMyAdmin
PHPMyAdmin

এখন আমরা এখানে ৪ টি খালি rows দেখতে পাবে এবং প্রত্যেকটি row এর কি Name, Type, Length/Values, Default, Collation, Null, Index, A_I, Comments, Virtuality, Move Column হবে তা বলে দিতে হবে। তবে এখানে Name, Type, Length/Values টি অবশ্যই বলে দিতে যদি columns এর ডাটা alphanumeric হয়ে থাকে কিন্তু যদি আমরা Unique value চাই তাহলে Index এবং যদি কোন Auto Increment ভ্যালু চাই তাহলে A_I option টি check করে দিয়ে আসতে হবে।

এখানে,

১) Name মানে হলো column এর নাম।
২) Type মানে হলে, কোন ধরনে ডাটা টাইপ এই column টি সংরক্ষন করবে।
৩) Length/Values হলো, কত character পর্যন্ত এই column টি ডাটা সংরক্ষন করবে।
৪) Default হলো, এই column এর জন্য Default কোন ডাটা আপনি রাখতে চান কি না।
৫) Collation হলো character strings গুলো কিভাবে sort করব তার একটি rule।
৬) Null হলো এই column এর ভ্যালু কি আমরা খালি রাখব কি রাখব না।
৭। Index হলো column এর value দ্রুত search করে আনার জন্য একটি ব্যবস্থা।
৮। A_I হলো Auto Increment মানে আমাদের column টির Type যদি INT হয় এবং আমরা যদি চাই যে column এর value অটোমেটিকালি ১ করে বাড়তে থাকবে তাহলে এই A_I ব্যবহার করব।
৯। Comments হলো কোন column এর জন্য আমরা যদি কোন Comments করে থাকি। তবে Comments করতে হলে — (ডাবল ডেশ) ব্যবহার করতে হবে। সাধারনত এটি ব্যবহার করা হয় না।
১০। Virtuality – হলো column এর value কি আমরা stored করে রাখবি কি রাখব না। এটিও সাধারনত ব্যবহার করা হয় না।
১১। Move Column – হলো কোন column কে আগে পরে move করা জন্য ব্যবহার করা হয়।

ওকে, এবার আমরা এই ৪ টি rows এর নাম দিব।

১। প্রথমটির Name দিব student_id, Type দিব INT যার কোন Length/Values না দিলেও চলবে। যদি আমরা না দেই তাহলে default ভাবে ১১ নিয়ে নিবে। এই ১১ মানে কি? এর মানে হলো maximum display width। এরপর Index এর value আমরা Primary করে দিব এবং A_I checkbox টি checked করে দিব।
আমরা Index এর value Primary বলে দিয়েছে এই জন্য যে এই column এর value অবশ্যই unique হতে হবে আর A_I বলে দিয়েছি যাতে করে নতুন কোন ডাটা আসলে এই column এর value এর সাথে ১ করে যোগ হয়। মানে যদি আগের value থাকে ১ এখন যদি নতুন কোন value আসে তাহলে হবে ২, আবার ৩ এই রকম।
২। দ্বিতীয় row টি হবে student_name যার Type হবে VARCHAR এবং Length/Values হবে 30। এখানে VARCHAR মানে হলো VARIABLE length string যেখানে আমরা letters, numbers, and special characters রাখতে পারব এবং এই Length/Values এর মান 30 বলতে বোঝানো হয়েছে যে maximum কত characters এ column টি সংরক্ষন করতে পারবে।
৩। তৃতীয় row টি হবে roll_number যার Type হবে INT এবং Length/Values হবে 5। এখানে Type এর মান INT বলতে বোঝানে হয়েছে যে এই column এর মান অবশ্যই নাম্বার হতে হবে এবং Length/Values হবে 5। কেন 5? কারন আমরা চাই ছাত্রদের রোল নাম্বার যাতে ৫ অংকের বেশি না হয়। যেমন- ১৪৫, ১৫৪, ২৫৪৫ কিন্তু ৫৪৮৫১১ এই সংখ্যা হবে না। 
৪। সর্বশেষ row টি হবে joined_date যার Type হবে DATETIME। কেন DATETIME ? কারন আমরা চাই এই ছাত্রটি কবে কখন join করেছে তার তারিখ এবং সময় সংরক্ষন করত। এখানে Length/Values প্রয়োজন নেই।
তাহলে ফাইনালি আমরা এই ছবির মত একটি layout দেখতে পাব।

Database columns and row
Database columns and row

এরপর ডান দিকে নিচে save বাটনে ক্লিক করার সাথে সাথে আমরা আমাদের students টেবিলটি তৈরী হয়ে যাবে এবং এই স্ক্রিনটি দেখতে পাবে।

Database Table
Database Table

এভাবেই আমরা Database যেকোন table তৈরী করতে পারব।
পরবর্তী পর্বে আমরা দেখব কিভাবে table এ ডাটা প্রবেশ করানো যায়।

Leave a Comment