কম্পিউটার

এসকিউএল অল্টার টেবিল:একটি গাইড

SQL ALTER TABLE বিবৃতি একটি টেবিলে একটি কলাম যোগ করে, পরিবর্তন করে বা সরিয়ে দেয়। এই বিবৃতিটি আপনাকে একটি টেবিল তৈরি করার পরে পরিবর্তন করতে দেয়, এমনকি যদি টেবিলটি রেকর্ড সংরক্ষণ করে।

আপনি সিদ্ধান্ত নিতে পারেন যে আপনাকে একটি SQL টেবিলে পরিবর্তন করতে হবে। উদাহরণস্বরূপ, আপনি একটি কলামের নাম পরিবর্তন করতে বা টেবিলে একটি নতুন কলাম যোগ করতে চাইতে পারেন। এসকিউএল অল্টার টেবিল কমান্ডের মাধ্যমে এই সব পরিবর্তন সম্ভব।

এসকিউএল টেবিল পরিবর্তন করুন

ALTER TABLE কমান্ড আপনাকে একটি বিদ্যমান টেবিল পরিবর্তন করতে দেয়:

  • একটি কলাম যোগ করা হচ্ছে।
  • একটি সীমাবদ্ধতা যোগ করা।
  • একটি কলাম সরানো হচ্ছে।
  • ডেটা টাইপ পরিবর্তন করা।
  • একটি কলামের নাম পরিবর্তন করা।

এই টিউটোরিয়ালটি উদাহরণের সাথে আলোচনা করবে, কিভাবে SQL ALTER TABLE কমান্ড ব্যবহার করে একটি টেবিল পরিবর্তন করতে হয়।

একটি টেবিল সেট আপ করা

এই টিউটোরিয়ালের জন্য, আমরা একটি ব্যবসার জন্য একটি ডাটাবেস টেবিল পরিবর্তন করতে যাচ্ছি। এই ডাটাবেস ব্যবসার জন্য কাজ করে এমন প্রতিটি কর্মচারীর তথ্য সঞ্চয় করে। আমাদের টেবিলকে বলা হয় “কর্মচারী ” এবং এতে নিম্নলিখিত মান রয়েছে:

আমাদের টেবিল তৈরি করার পর, আমরা বুঝতে পেরেছি যে আমরা এর গঠন পরিবর্তন করতে চাই। আমরা SQL ALTER TABLE কমান্ড ব্যবহার করে তা করতে পারি।

কিভাবে একটি টেবিল তৈরি করতে হয় তা জানতে, আমাদের এসকিউএল তৈরি টেবিল গাইড দেখুন।

SQL ALTER TABLE:একটি টেবিলে একটি কলাম যোগ করুন

আপনি ALTER TABLE কমান্ড ব্যবহার করে একটি SQL টেবিলে একটি কলাম যোগ করতে পারেন। একটি বিদ্যমান টেবিলে একটি নতুন কলাম যোগ করার জন্য বাক্য গঠন নিম্নরূপ:

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।

ALTER TABLE table_name ADD column_name data_type constraints;

ধরুন আমরা আমাদের "কর্মচারী" টেবিলে একটি নতুন কলাম যোগ করতে চাই যা প্রতিটি কর্মচারীর ফোন নম্বর সংরক্ষণ করে। এই কলামটিকে "ফোন_নম্বর" বলা উচিত। কলামে VARCHAR() ব্যবহার করা উচিত ডেটা টাইপ—যা আমাদের সর্বোচ্চ দৈর্ঘ্যের সাথে স্ট্রিংগুলিকে সংরক্ষণ করতে দেয়—এবং কোনো বাধা নেই৷

আমরা নিম্নলিখিত বিবৃতি ব্যবহার করে এই কলামটি তৈরি করতে পারি:

ALTER TABLE employees ADD phone_number VARCHAR(60);
যোগ করুন

এই কমান্ডটি একটি "কর্মচারী" ডাটাবেসের আমাদের একটি টেবিলে একটি নতুন কলাম যোগ করে। এখন, যখন আমরা আমাদের ডাটাবেসের গঠন দেখি, তখন আমাদের কাছে “ফোন_নম্বর” নামে একটি নতুন কলাম আছে:

ক্ষেত্র টাইপ ডিফল্ট
নাম varchar(60) শূন্য
শিরোনাম varchar(60) শূন্য
বিভাগ varchar(60) শূন্য
employee_number varchar(60) শূন্য
ফোন_নম্বর varchar(60)

আপনি যদি এসকিউএল-এ একটি ডাটাবেসে একটি কলাম যোগ করার বিষয়ে আরও জানতে আগ্রহী হন, তাহলে আমাদের SQL অ্যাড কলাম নির্দেশিকা দেখুন।

SQL ALTER TABLE:একটি টেবিলে একটি সীমাবদ্ধতা যোগ করুন

শেষ বিভাগে, আমরা আমাদের টেবিলে একটি নতুন কলাম যোগ করেছি:phone_number। কিন্তু, আমরা টেবিলে কোনো সীমাবদ্ধতা যোগ করতে ভুলে গেছি।

এই উদাহরণে, এর মানে হল যে আমাদের ডাটাবেস সম্ভাব্য একাধিক কর্মীদের জন্য একই ফোন নম্বর সংরক্ষণ করতে পারে, যা ব্যবহারিক নয়৷

এটি ঠিক করার জন্য, আমরা আমাদের টেবিলের "ফোন_নম্বর" কলামে একটি অনন্য সীমাবদ্ধতা যোগ করতে পারি। এসকিউএল-এ একটি কলামে একটি সীমাবদ্ধতা যুক্ত করার জন্য সিনট্যাক্স নিম্নরূপ:

ALTER TABLE table_name ADD UNIQUE (column_name);

এই কমান্ডটি আমাদের "ফোন_নম্বর" কলামে একটি সীমাবদ্ধতা যোগ করে:

ALTER TABLE employees ADD UNIQUE (phone_number);

আমরা যদি অন্য একটি সীমাবদ্ধতা যোগ করতে চাই, তাহলে আমরা অন্য SQL সীমাবদ্ধতার সাথে "UNIQUE" প্রতিস্থাপন করে তা করতে পারি।

SQL ALTER TABLE:একটি টেবিল থেকে একটি কলাম সরান

আপনি টেবিল থেকে একটি কলাম সরাতে ALTER TABLE কমান্ডটিও ব্যবহার করতে পারেন। এই অপারেশন সম্পাদনের জন্য সিনট্যাক্স নিম্নরূপ:

ALTER TABLE table_name DROP COLUMN column_name;

ধরুন আমরা আমাদের টেবিল থেকে "বিভাগ" কলামটি সরাতে চাই। আমরা পরবর্তীতে একটি নতুন কলাম তৈরি করতে চাই যা একজন কর্মচারীর বিভাগকে অন্য টেবিলের সাথে লিঙ্ক করে। আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করে এই কলামটি সরাতে পারি:

ALTER TABLE employees DROP COLUMN department;

এই কমান্ডটি কার্যকর করার পরে, আমাদের টেবিল থেকে "বিভাগ" কলামটি বাদ দেওয়া হয়। সুতরাং, আমাদের টেবিলের গঠন নিম্নরূপ প্রদর্শিত হবে:

ক্ষেত্র টাইপ ডিফল্ট
নাম varchar(60) শূন্য
শিরোনাম varchar(60) শূন্য
employee_number varchar(60) শূন্য
ফোন_নম্বর varchar(60)

SQL সারণী পরিবর্তন করুন:একটি কলামের ডেটা প্রকার পরিবর্তন করুন

আপনি একটি কলামের ডাটা টাইপ পরিবর্তন করতে ALTER TABLE কমান্ড ব্যবহার করতে পারেন। একটি কলামের ডেটা টাইপ পরিবর্তন করার জন্য সিনট্যাক্স হল:

ALTER TABLE table_name ALTER COLUMN column_name new_data_type;

এই কমান্ডের মাইএসকিউএল এবং ওরাকল (প্রি-10জি) এবং ওরাকল 10জি এবং পরবর্তীতে দুটি বিকল্প সংস্করণ রয়েছে। এগুলো হলঃ

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type; (MySQL, Oracle pre-10G)
ALTER TABLE table_name MODIFY column_name new_data_type; (Oracle 10G+ and later)

যখন আমরা আমাদের প্রাথমিক "কর্মচারী" সারণী তৈরি করি, তখন আমরা আমাদের "কর্মচারী_সংখ্যা" ক্ষেত্রটিকে VARCHAR() হিসাবে বরাদ্দ করার ভুল করেছিলাম। একটি সংখ্যার পরিবর্তে। এই ভুলটি সংশোধন করতে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারি:

ALTER TABLE employees ALTER COLUMN employee_number INT;

এই কমান্ডটি আমাদের "কর্মচারী_সংখ্যা" কলামের ধরনকে INT এ পরিবর্তন করে। সুতরাং, আমাদের ডাটাবেসের জন্য নতুন কাঠামো নিম্নরূপ:

ক্ষেত্র টাইপ ডিফল্ট
নাম varchar(60) শূন্য
শিরোনাম varchar(60) শূন্য
employee_number varchar(60) শূন্য
ফোন_নম্বর int

SQL ALTER TABLE:একটি টেবিলের নাম পরিবর্তন করুন

ALTER TABLE কমান্ড আপনাকে একটি SQL টেবিলের নাম পরিবর্তন করতে দেয়। একটি টেবিলের নাম পরিবর্তনের জন্য সিনট্যাক্স হল:

ALTER TABLE current_table RENAME new_table;

ধরুন আমরা আমাদের টেবিলের "কর্মচারীদের" নাম পরিবর্তন করে "পুরাতন_কর্মচারী_2019" রাখতে চাই। আমরা এই কমান্ডটি ব্যবহার করে তা করতে পারি:

ALTER TABLE employees RENAME old_employees_2019;

আপনি MySQL এ ALTER TABLE কমান্ড ব্যবহার করে একটি টেবিলের নাম পরিবর্তন করতে পারবেন না। MySQL-এ, ALTER TABLE ব্যবহার করার পরিবর্তে, আপনি RENAME টেবিল কমান্ড ব্যবহার করতে পারেন।

আমরা মাইএসকিউএল-এ আমাদের টেবিলের নাম পরিবর্তন করতে নিম্নলিখিত কমান্ডটি ব্যবহার করব:

RENAME TABLE employees TO old_employees_2019;

উপসংহার

SQL ALTER TABLE কমান্ড আপনাকে SQL এ টেবিলের গঠন পরিবর্তন করতে দেয়। আপনি একটি টেবিল যোগ করতে পারেন, থেকে একটি টেবিল সরাতে পারেন, বা একটি ডাটাবেসে একটি টেবিল পরিবর্তন করতে পারেন। আরও, আপনি একটি টেবিলের সাথে যুক্ত সীমাবদ্ধতাগুলি সংশোধন করতে পারেন, যেমন UNIQUE বা NOT NULL৷

আপনি কি এসকিউএল সম্পর্কে আরও জানতে চান? আমাদের কিভাবে শিখবেন SQL গাইড পড়ুন। আপনি কিভাবে SQL শিখতে হবে তার শীর্ষ টিপস পাবেন। এছাড়াও আপনি আপনার জ্ঞান তৈরি করতে সহায়তা করার জন্য বিশেষজ্ঞ-নির্ভর শেখার সংস্থানগুলির একটি তালিকা পাবেন৷


  1. এসকিউএল-এ কীভাবে একটি অল্টার টেবিল স্ক্রিপ্ট তৈরি করবেন

  2. MySQL-এ VARCHAR থেকে NULL-এ একটি টেবিল কলাম পরিবর্তন করুন

  3. SQL সার্ভারে টেবিলের বিবৃতি পরিবর্তন করুন

  4. SQL সার্ভারে ALIAS