এস কিউ এল সার্ভার ২০০৮ শিখুন ধাপে ধাপে [পর্ব-০২] :: CRUD

SQL সার্ভার ২০০৮ শিখুন ধাপে ধাপে

সুপ্রিয় বন্ধুরা,

কেমন আছেন সবাই?  গত পর্বে আমরা দেখেছিলাম কিভাবে ডাটাবেস এবং টেবিল তৈরি করতে হয়। এবং টেবিলে ডাটা Insert করতে হয়। আজ ও আমরা সেটাই দেখবো, তবে সহজ পদ্ধতিতে। এবং পাশাপাশি নতুন কিছু দেখবো।( বন্ধুরা আপনাদের মতামত পেলে পরিশ্রম সার্থক হবে।)

ডাটাবেস ক্রিয়েট করার পদ্ধতিঃ

ডাটাবেস ফোল্ডার এ রাইট বাটন ক্লিক করে New Database  এ ক্লিক করুন।

উপরের উইন্ডো এর মত উইন্ডো ওপেন হবে। এখানে তীর চিনহিত স্থানে ডাটাবেসের নাম লিখুন- myFirstDB

দেখুন ডাটাবেস তৈরি হয়ে গেছে।

এবার টেবিল তৈরি করবো। ডাটাবেস ফোল্ডার এক্সপান্ড করলে দেখবেন ভিতরে টেবিল নামে ফোল্ডার আছে। তার উপর রাইট বাটন ক্লিক করুন। নিউ টেবিল ক্লিক করুন।

এরকম একটি উইন্ডো ওপেন হবে। এবার নিচের মত লিখুন।

খেয়াল করুন ColumnName এর কলামে আমরা টেবিলের কলামের নাম লিখছি, তার পাশের কলামের নাম DataType,  এখানে কলাম টি কি ধরনের ডাটা রাখবে তা নিরধারন করে দিচ্ছি। এর পরের কলাম টি লক্ষ করুন

Allow Nulls  চেক বক্স রয়েছে। যার মধ্যে কিছু চেক বক্স মার্ক করা রয়েছে কিছু মার্ক করা নেই। মার্ক কৃত কলামে value না insert করলেও চলবে। কিন্তু মার্ক করা না থাকলে সেই কলাম খালি রাখা যাবেনা।

সব শেষে primary key define করুন এভাবেঃ

চিনহিত স্থানে রাইট বাটন ক্লিক করুন, সেট প্রাইমারি কী সিলেক্ট করুন।

এবার সেভ করুন। টেবিলের নাম লিখুন myFirstTable.

হয়ে গেল ডাটাবেস এবং টেবিল তৈরি করা খুব সহজে।

এখন টেবিলে ডাটা insert করবো।

নির্দিষ্ট স্থানে ক্লিক করুন। (প্রতিটি স্ক্রিপ্ট শেষে সিলেক্ট করে এক্সিকিউট ক্লিক করা বাঞ্ছনিয় তাই আর এক্সিকিউট কথাটি রিপিট করলাম না)

এইরকম একটি কোয়ারি ওপেন হবে।

এডিট করুন এভাবেঃ

হয়ে গেল টেবিলে ডাটা Insert করা।

এবার select query এর মাধ্যমে ডাটা দেখবো।

SELECT * FROM myFirstTable

এটা ছিল গত পর্বের টিউন এর বিকল্প । আজ আমরা নতুন কিছু দেখবো, তো চলুন শুরু করি।

ধরুন আপনি একটি টেবিল তৈরি করেছেন যার ৪ টি কলাম রয়েছে, এখন আপনি চাচ্ছেন একটি কলাম ঐ টেবিল টিতে add করবেন; কিভাবে করবেন দেখুনঃ

ALTER TABLE table_name
ADD column_name datatype

এক্সাম্পলঃ

Alter table myFirstTable

Add mySalary money

এখন আপনার টেবিলে নতুন একটি কলাম যুক্ত হল যার নাম mySalary.

এবার সম্পূর্ণ বিপরীত একটি কাজ করি, ধরুন আপনার টেবিলে ৫ টি কলাম রয়েছে; আপনি একটি কলাম delete করবেন কিভাবে?...

ALTER TABLE table_name
DROP COLUMN column_name

এক্সাম্পলঃ

Alter table myFirstTable

Drop column myDOB

এবার কলামের ডাটা টাইপ পরিবর্তন করার পদ্ধতিঃ

ALTER TABLE table_name
ALTER COLUMN column_name datatype

এক্সাম্পলঃ

Alter table myFirstTable

Alter Column mySalary int

টেবিল ডিলিট করার পদ্ধতিঃ

DROP Table TableName

এক্সাম্পলঃ

Drop table myFirstTable

(এখানে লক্ষনীয় একবার টেবিল delete করলে তার সকল ডাটা সহ টেবিলটি মুছে যাবে)

 

এবার INSERT QUERY সম্পর্কে বলবঃ

INSERT INTO table_name
VALUES (value1, value2, value3,...)

এক্সাম্পলঃ

insert into myFirstTable values(105,'shafiq','sdfsadf',5000)

এখানে লক্ষ করলে দেখবেন টেবিল তৈরি করার সময় আমি myID এবং myName কলামটি not null করে দিয়েছিলাম। অর্থাৎ এই দুইটি কলাম বাদে অন্য সব কলাম ভেলু insert করা আবশ্যক নয়। কিন্তু দেখুন উপরের কোয়ারিতে সব ভেলুই আমাকে দিতে হচ্ছে, নয়তো insert নিচ্ছে না; এর কারন কি?

কারন হল যদি টেবিলের নির্দিষ্ট কলামে ভেলু insert করতে চান তবে নিচের স্ক্রিপ্ট লিখতে হবেঃ

 

insert into myFirstTable(myID,myName,mySalary) values(101,'shafiq',5000)

অর্থাৎ টেবিল নেমের পর কোন কোন কলামে data insert করবেন তা উল্লেখ করে দেবেন। আর যদি টেবিলের সব কলামে data insert করেন তাহলে কলামের নাম উল্লেখ করার প্রয়োজন নেই।

উপরের insert query টি আবার execute করুন, কি দেখতে পেলেন?

(Violation of PRIMARY KEY constraint 'PK__myFirstT__783FBF31060DEAE8'. Cannot insert duplicate key in object 'dbo.myFirstTable'.

The statement has been terminated.)

এই এরর দিয়েছে তাই না? এর কারন হল আপনি একই ID দিয়ে ২য় বার insert করছেন। কেন এরকম হয়? কারন হলঃ Primary Key

আপনি একটি টেবিল এ ডাটা insert করতে গেলে অবশ্যই unique ID দিয়ে Data Insert করবেন। তাতে লাভ? নিচে দেখুন।

 

 

এবার SELECT QUERY সম্পর্কে বলবঃ

 

Select কোয়ারির মাধ্যমে আমরা আপনার database এর লক্ষ লক্ষ data থেকে নির্দিষ্ট data কে খুজে বের করতে পারি।

নিচের কোয়ারি execute করুনঃ

insert into myFirstTable values(103,'sumon','aaaa',7500)

insert into myFirstTable values(104,'belal','bbb',5500)

insert into myFirstTable values(105,'sumon','cccc',8500)

insert into myFirstTable values(106,'kuaa','ddddd',9500)

insert into myFirstTable values(107,'rasel','eeee',8500)

insert into myFirstTable values(108,'leguna','ffff',4500)

insert into myFirstTable values(109,'ripon','gggg',4120)

আপনার টেবিলের সব data দেখতে চাইলে লিখুনঃ

select * from myFirstTable

নির্দিষ্ট কোন data দেখতে চাইলে লিখুনঃ

select * from myFirstTable where myID=103

এখানে where এর মাধ্যমে কন্ডিশন দিচ্ছি।

যদি এমন হয় আমি শুধুমাত্র ১০৩, ১০৭, ১০৯ নং id এর data দেখতে চাই, তাহলে কি করবো?

লিখুনঃ

select * from myFirstTable where myID in (103,107,109)

ধরুন আপনার টেবিলে ১ লক্ষ data রয়েছে, এখান থেকে শুধু তাদের data দেখতে চাচ্ছেন যাদের নামের শুরুতে “S” আছে, লিখুনঃ

select * from myFirstTable where myName like 's%'

যাদের নামের শেষে “Q” আছে।

select * from myFirstTable where myName like '%q'

যাদের salary 7000 টাকার উপরে।

select * from myFirstTable where mysalary>7000

যাদের salary 7000 থেকে  8000 টাকার মধ্যে।

select * from myFirstTable where mySalary >7000 and mySalary <8000

আজ এ পর্যন্তই আগামী দিন আবার কথা হবে ইনশাআল্লাহ।

Level 2

আমি Shafiq। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 18 টি টিউন ও 44 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level 2

wc

Level 0

nice brother
chaliya jan

mysql এবং sql -এর মধ্যে পার্থক্য কি?

আর Imege গুলো এত ছোট কেন?

Level 2

thanks @cseboss….
@jaber hossain…
http://www.rapidprogramming.com/questions-answers/What-is-the-difference-between-MySQL-and-SQL-Server–618
এই লিংকে আপনার উওর পাবেন আশাকরি। একটু সমস্যা হয়েছিল ছবিগুলোতে।

Level 0

প্রথমে আপনাকে ধন্যবাদ । এমন জিনিস দাওয়ার জন্য । মানুষ ত আজকাল টাকা ছাড়া কথাই বলতে চাই না। আবারও আপনাকে ধন্যবাদ ।

    Level 2

    আপনাকেও ধন্যবাদ

Level 0

আপনাকে অনেক ধন্যবাদ। আমি একজন নতুন ব্যবহারকারী। MySQl ডাটাবেজ এ কাজ করি। কিন্তু যারা অল্প MySQL জানে তারা খুব ভাব দেখায়। যেন তারা ছাড়া আর কেউ তা জানে না। আপনার টিউন সর্ম্পকে অনেক ভালো কমেস্ট দেখার পর সাহস করে কমেন্টে প্রশ্ন করলাম। SQL শিখলে কি MySQL এ কাজ করা যাবে? আর MySQL সার্ভার ভিউযার এর সফটওয়ার এর লিঙ্ক যদি দেন