ویرایش جدول ها با استفاده از SQL

SQL DROP & ALTER commands

0 438

با سلام و عرض احترام خدمت شما همراهان گرامی روکسو، در این قسمت از سری آموزشی «آموزش زبان SQL» قصد داریم جدول ها و خصوصیات شان را با استفاده از زبان SQL تغییر دهیم.

ویرایش جدول ها

برای ساخت و ویرایش یا حذف جدول ها راه های مختلفی وجود دارد. به طور مثال می توانید از محیط هایی مانند phpMyAdmin استفاده کنید که صد البته از محبوبیت فراوانی برخوردار بوده و دارای محیط گرافیکی هستند تا کار شما را آسان تر کنند اما ما قصد داریم این کار را از طریق دستورات SQL و بدون محیط گرافیکی انجام دهیم. اگر این کار را با کدهای SQL انجام دهید. بر مبحث مسلط می شوید و برای کار با روش های دیگر مشکل نخواهید داشت.

حذف جدول ها

در قسمت قبل در رابطه با دستور CREATE TABLE که سازنده ی یک جدول بود صحبت کردیم و ساختار آن را نیز بررسی کردیم:

سپس مثال زیر را به شما ارائه دادیم:

اجرای این دستور در پایگاه داده ی Northwind

اما صحبتی از نحوه ی حذف این جدول نکردیم. برای حذف جدول ها در زبان SQL باید از دستور DROP TABLE استفاده کنید. این دستور دارای ساختار زیر است:

هشدار: دستور DROP TABLE باعث حذف کامل جدول شما می شود بنابراین به طور مثال اگر جدول customers را Drop کنیم تمامی اطلاعات مشتریان را حذف کرده ایم! همیشه قبل از استفاده از این دستور از پایگاه داده ی خود یک نسخه ی پشتیبان تهیه کنید.

به عنوان مثال بیایید جدول Shippers را حذف کنیم:

اجرای این دستور در پایگاه داده ی Northwind

سوال: برخی اوقات میخواهیم جدولی را به طور کامل خالی کنیم اما نمی خواهیم خود جدول حذف شود، بلکه می خواهیم داده های جدیدی را در آن بگذاریم. آیا راه حلی برای این موضوع وجود دارد؟

پاسخ: بله! برای حذف کامل اطلاعاتِ یک جدول (نه خود جدول) باید از دستور TRUNCATE TABLE استفاده کنید که ساختار زیر را دارد:

دستور ALTER TABLE

دستور ALTER TABLE به معنی «جدول را تغییر بده» می باشد. از این دستور برای دو هدف کلی استفاده می شود:

  • برای حذف، اضافه و یا تغییر دادن ستون های یک جدول
  • برای اضافه و یا حذف کردن constraints (قوانین داده ها) در یک جدول

در مورد constraint ها صحبت خواهیم کرد اما قبل از آن باید با انواع دستورات ALTER TABLE آشنا شویم.

حالت اول: اضافه کردن ستون ها (ALTER TABLE – ADD Column): حالت اول دستور  ALTER TABLE برای اضافه کردن یک ستون به جدول مورد نظر ما می باشد که دارای ساختار کلی زیر است:

به طور مثال می خواهیم ستونی به نام Email را به جدول Customers اضافه کنیم:

اجرای این دستور در پایگاه داده ی Northwind

پس از اجرای این دستور می توان به راحتی مشاهده کرد که ستونی به نام Email به این جدول اضافه شده است. اگر دوست دارید نتیجه را مشاهده کنید در همان صفحه ای که هستید و پس از اجرای کد بالا، کد زیر را اجرا کنید:

پس از اجرای این دستور متوجه می شوید که مقدار Email برای تمامی مشتریان ما null است؛ دلیل اش این است که ما به تازگی ستون Email را اضافه کرده ایم و هنوز هیچ کدام از مشتریان ما فرصت وارد کردن ایمیل هایشان را نداشته اند.

حالت دوم: حذف کردن ستون ها (ALTER TABLE – DROP COLUMN): نوع دوم این دستور برای حذف ستون مورد نظر شما است. این دستور دارای ساختار زیر است:

نکته: برخی از سیستم های پایگاه داده به شما اجازه ی حذف یک ستون را نمی دهند.

به عنوان مثال می خواهیم ستون Email ای را که در دستور قبل ایجاد کردیم، در این دستور حذف کنیم:

اجرای این دستور در پایگاه داده ی Northwind

حالت سوم: ویرایش و تغییر ستون ها (ALTER TABLE – ALTER/MODIFY COLUMN): نوع سوم این دستور برای ویرایش و ایجاد تغییرات در ستون مشخصی می باشد.

برای تغییر دادن نوع داده ی (datatype) یک ستون باید از ساختار زیر استفاده کنید:

برای SQL Server و یا MS Access:

برای My SQL و یا Oracle (نسخه های قبل از 10G):

برای Oracle (نسخه 10G و جدیدتر):

مثال های کار با دستور ALTER TABLE

می خواهیم مثال های خود را روی جدول Persons پیاده کنیم، بنابراین باید نگاهی به آن بیندازیم:

City Address FisrtName LastName ID
Sandnes Timoteivn 10 Ola Hansen 1
Sandnes Borgvn 23 Tove Svendson 2
Stavanger Storgt 20 Kari Pettersen 3

حالا می خواهیم به این جدول ستونی با نام DateOfBirth (به معنی «تاریخ تولد») اضافه کنیم. برای این کار باید از دستور زیر استفاده کنیم:

دقت کنید که در این مثال، ستونِ DateOfBirth از نوع داده ی date (تاریخ) می باشد، بنابراین تنها مقادیر تاریخ را نگه می دارد. گفتیم که datatype ها (یا همان انواع داده ها) مشخص می کنند.

در قسمت های پایانی این دوره لیست کاملی از انواع datatype ها را به شما ارائه خواهیم کرد. پس از اجرای این کد جدول ما به این شکل تغییر پیدا خواهد کرد:

DateOfBirth
City Address FisrtName LastName ID
Sandnes Timoteivn 10 Ola Hansen 1
Sandnes Borgvn 23 Tove Svendson 2
Stavanger Storgt 20 Kari Pettersen 3

اما اگر بخواهید نوع داده ی این ستون (DateOfBirth) را تغییر دهید می توانید از دستوری شبیه به دستور زیر استفاده کنید:

حالا دیگر نوع داده ی این ستون از نوع year (به معنی «سال») است و سال را به صورت 2 رقمی یا 4 رقمی در خود ذخیره می کند.

حذف کردن این ستون نیز کار ساده ای است و می توانیم با دستور زیر این کار را انجام دهیم:

با اجرای این دستور ستون DateOfBirth حذف شده و جدول به حالت قبلی خود بر میگردد.

امیدوارم از این قسمت لذت برده باشید.

ترتیبی که روکسو برای یادگیری مطالب سری آموزش زبان SQL به شما توصیه می‌کند:

ارسال نظر

توجه:‌ آدرس ایمیل شما منتشر نخواهد شد.

mezitli escort
mezitli escort
mezitli escort