INSERT، UPDATE، DELETE و تراکنش‌ها در SQL

نگه‌داری جدول‌ها و تراکنش‌ها در SQL

توسط admin | گروه SQL Server | 1405/05/16

نظرات 0

نگه‌داری جدول‌ها و تراکنش‌ها در SQL

نشان فصل ۸نگه‌داری جدول‌ها۸

این فصل درج ردیف‌ها، به‌روزرسانی ردیف‌ها، حذف ردیف‌ها و تراکنش‌ها را پوشش می‌دهد.

درج ردیف‌ها

ردیف‌های جدید را می‌توان با دستور SQL INSERT یک‌به‌یک به جدول افزود. نام جدول و فهرست ستون‌ها در بند INTO و فهرست مقادیر ــ داخل پرانتز ــ در بند VALUES نوشته می‌شود.

COUNTRIES — قبل از درج
COUNTRYPOPAREAGNPLANGUAGELITERACY
Algeria2853932191959589000Arabic57
Yugoslavia111018333944910000Serbo-Cro...89
SQL
INSERT
INTO COUNTRIES ( COUNTRY, LITERACY, AREA, POP )
VALUES ( 'Beulah', 100, 1146807, 144000 )
COUNTRIES — پس از درج
COUNTRYPOPAREAGNPLANGUAGELITERACY
Algeria2853932191959589000Arabic57
Yugoslavia111018333944910000Serbo-Cro...89
Beulah1440001146807--100
  • نام جدول در بند INTO مشخص می‌شود.
  • فهرست ستون‌ها بعد از نام جدول می‌آید.
  • مقادیر مناسب در بند VALUES فهرست می‌شوند.
  • ستون‌هایی که فهرست نشده‌اند مقدار پیش‌فرض می‌گیرند.

نحو عمومی یک دستور INSERT شامل سه بند INSERT، INTO و VALUES است.

خلاصهٔ نحو INSERT
CLAUSEPARAMETERSEXAMPLE
INSERT
INTOtable ( col list )COUNTRIES ( COUNTRY, POP )
VALUES( value list )( 'Beulah', 144000 )

تمرین‌ها

  1. همهٔ ستون‌ها و همهٔ ردیف‌های جدول JOBS را انتخاب کنید. سپس با عنوان شغلی A برای Author ردیفی به جدول JOBS اضافه کنید.
  2. همهٔ ستون‌های افراد با شمارهٔ شخص بزرگ‌تر یا مساوی ۵۰۰ را انتخاب کنید. سپس خودتان را با شمارهٔ شخص ۵۰۰ به جدول PERSONS اضافه کنید. همهٔ ستون‌ها را پر کنید. اگر شغلتان در جدول JOBS نیست، از شغل R استفاده کنید.
  3. یک دوست را به جدول PERSONS اضافه کنید و شمارهٔ شخص ۵۰۱ را به او بدهید.

به‌روزرسانی ردیف‌ها

با دستور UPDATE می‌توان یک یا چند ردیف جدول را تغییر داد. جدول در بند UPDATE مشخص می‌شود و مقادیر جدید در بند SET وارد می‌شوند. همهٔ ردیف‌ها تغییر می‌کنند مگر آن‌که از بند WHERE برای محدودکردن عملیات استفاده شود.

COUNTRIES — قبل از به‌روزرسانی
COUNTRYPOPAREAGNPLANGUAGELITERACY
Algeria2853932191959589000Arabic57
Yugoslavia111018333944910000Serbo-Cro...89
Beulah1440001146807--100
SQL
UPDATE COUNTRIES
SET AREA = 53501998, LANGUAGE = 'Hebrew', POP = 100000000
WHERE COUNTRY = 'Beulah'
COUNTRIES — پس از به‌روزرسانی
COUNTRYPOPAREAGNPLANGUAGELITERACY
Algeria2853932191959589000Arabic57
Yugoslavia111018333944910000Serbo-Cro...89
Beulah10000000053501998-Hebrew100
  • نام جدول در بند UPDATE مشخص می‌شود.
  • مقادیر جدید در بند SET مشخص می‌شوند.
  • بند WHERE تعیین می‌کند کدام ردیف‌ها به‌روزرسانی شوند.
  • حذف WHERE باعث به‌روزرسانی همهٔ ردیف‌ها می‌شود.
خلاصهٔ نحو UPDATE
CLAUSEPARAMETERSEXAMPLE
UPDATEtableCOUNTRIES
SETnew value listAREA = 7992, LANGUAGE = 'Hebrew'
WHEREcomparisonsCOUNTRY = 'Beulah'

تمرین‌ها

  1. همهٔ نویسندگان را به Authors تغییر دهید. برای بررسی تغییرات یک پرس‌وجو اجرا کنید.
  2. تاریخ تولد خود را به تاریخی جدید تغییر دهید و شغلتان را Entertainer کنید؛ اما خودتان را نکشید ــ جوان‌تر نمی‌شوید. برای بررسی تغییرات پرس‌وجو اجرا کنید.
  3. اکنون نویسندگان را دوباره به Writers برگردانید و نتیجه را بررسی کنید.

حذف ردیف‌ها

با دستور DELETE می‌توان یک یا چند ردیف را از جدول حذف کرد. نام جدول در بند FROM و مقایسه‌های اختیاری در بند WHERE نوشته می‌شوند. حذف بند WHERE باعث حذف همهٔ ردیف‌ها می‌شود.

COUNTRIES — قبل از حذف
COUNTRYPOPAREAGNPLANGUAGELITERACY
Algeria2853932191959589000Arabic57
Yugoslavia111018333944910000Serbo-Cro...89
Beulah10000000053501998-Hebrew100
SQL
DELETE
FROM COUNTRIES
WHERE COUNTRY = 'Yugoslavia'
COUNTRIES — پس از حذف
COUNTRYPOPAREAGNPLANGUAGELITERACY
Algeria2853932191959589000Arabic57
Beulah10000000053501998-Hebrew100
  • نام جدول در بند FROM مشخص می‌شود.
  • بند WHERE تعیین می‌کند کدام ردیف‌ها حذف شوند.
  • حذف WHERE باعث حذف همهٔ ردیف‌ها می‌شود.
خلاصهٔ نحو DELETE
CLAUSEPARAMETERSEXAMPLE
DELETE
FROMtableCOUNTRIES
WHEREcomparisonsCOUNTRY = 'Yugoslavia'

تمرین‌ها

  1. دوستتان و خودتان را با دستورهای جداگانه از پایگاه داده حذف کنید. با پرس‌وجو مطمئن شوید دیگر وجود ندارید. خودتان را نیشگون بگیرید ــ هنوز واقعاً نمرده‌اید.
  2. با پرس‌وجو تعداد افراد متولد قرن هجدهم را بشمارید. ۲۷ نفر وجود دارد. اکنون آن‌ها را حذف کنید. پرس‌وجو را دوباره اجرا کنید و تغییر را بررسی کنید.
  3. چند ردیف در جدول RELIGIONS وجود دارد؟ همهٔ ردیف‌هایی را که دینشان عبارت orthodox دارد حذف کنید. نتیجه باید ۳۶۹ ردیف باقی‌مانده باشد.

تراکنش‌ها

تراکنش (Transaction) مجموعه‌ای از عملیات نگه‌داری مرتبط است که اثر آن‌ها می‌تواند برای همیشه روی پایگاه داده اعمال شود یا به‌طور کامل از پایگاه داده حذف شود. تراکنش‌ها می‌توانند عملیات INSERT، UPDATE و/یا DELETE را روی یک یا چند جدول شامل شوند.

جریان تراکنش و COMMIT/ROLLBACKتغییرات معلق پس از عملیات نگه‌داری یا با COMMIT به پایگاه داده اعمال می‌شوند یا با ROLLBACK دور ریخته می‌شوندکاربرپایگاه دادهتغییرات معلقپرس‌وجوپایگاه دادهدورریزMAINTAINCOMMITROLLBACK

ROLLBACK تراکنش‌ها را به‌طور دائمی معکوس می‌کند

دستور ROLLBACK همهٔ عملیات نگه‌داری انجام‌شده از ابتدای Session یا از آخرین COMMIT ــ هرکدام جدیدتر است ــ را «واگرد» می‌کند.

COMMIT تراکنش‌ها را به‌طور دائمی اعمال می‌کند

دستور COMMIT همهٔ عملیات نگه‌داری انجام‌شده از ابتدای Session یا از آخرین COMMIT را به‌طور دائمی روی پایگاه داده اعمال می‌کند.

نحو عمومی دستورهای تراکنش SQL در زیر آمده است. دو دستور مستقل ROLLBACK و COMMIT وجود دارند.

خلاصهٔ نحو ROLLBACK
CLAUSEPARAMETERSEXAMPLE
ROLLBACK
خلاصهٔ نحو COMMIT
CLAUSEPARAMETERSEXAMPLE
COMMIT

تمرین‌ها

  1. همهٔ تغییراتی را که تاکنون روی پایگاه داده ایجاد شده Rollback کنید. آیا A در جدول JOBS وجود دارد؟ اکنون چند ردیف در جدول RELIGIONS است؟ باید ۳۸۹ ردیف باشد.
  2. همهٔ ردیف‌های PERSONS و ARMIES را حذف کنید. ببینید از بین رفته‌اند. این تراکنش را Rollback کنید و بررسی کنید برگشته‌اند.
  3. خودتان را دوباره به جدول PERSONS اضافه کنید و خودتان را Commit کنید. Rollback کنید: هنوز آن‌جا هستید؟ اگر هستید، خودتان را حذف و دوباره Commit کنید.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500