برلیانس
برلیانس
خواندن ۶ دقیقه·۴ سال پیش

دوره آموزش Sql Server



سلام عزیزان در این سری آموزشها با پایگاه داده Sql Server آشنا میشوید.

در قسمت قبل با مفاهيم زير آشنا شديد:

  • آموزش محدودیت DEFAULT در SQL
  • حذف محدودیت DEFAULT در Sql
  • دستور Create Index
  • آموزش دستور DROP INDEX در SQL
  • لینک قسمت اول آموزش SQL

با ادامه آموزش Sql همراه باشيد

آموزش دستور ALTER TABLE در SQL

از دستور ALTER TABLE برای اضافه کردن ، حذف کردن یا تغییر ستون ها در جدول موجود استفاده می شود.

https://www.aparat.com/v/ovz09

فرم دستور ALTER TABLE

برای اضافه کردن یک ستون به یک جدول ، از دستور زیر استفاده کنید:

ALTER TABLE table_name

ADD column_name datatype

برای حذف کردن یک ستون از یک جدول از دستور زیر استفاده می کنیم ( توجه داشته باشید که بعضی از پایگاه داده ها اجازه پاک کردن ستون را نمی دهند )

ALTER TABLE table_name

DROP COLUMN column_name

برای تغییر نوع داده یک ستون در یک جدول، از دستور زیر استفاده می کنیم :

در SQL Server/MS Access:

ALTER TABLE table_name

DROP COLUMN column_name

در My SQL/Oracle:

ALTER TABLE table_name

MODIFY COLUMN column_name datatype

در Oracle 10G و نسخه های بالاتر:

ALTER TABLE table_name

MODIFY column_name datatype

مثال استفاده از ALTER TABLE در آموزش Sql

به جدول “Persons” در زیر نگاه کنید:

می خواهیم تا ستونی را با نام “DateOfBirth” به جدول “Persons” اضافه کنیم.

از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons

ADD DateOfBirth date

توجه کنید که ستون جدید “DateOfBirth” از نوع date می باشد و تاریخ را در خود نگه می دارد. نوع داده تعیین می کند که چه نوع داده ای را در یک ستون می توان وارد کرد.

مثال چگونگی تغییر داده

می خواهیم نوع داده های ستون “DateOfBirth” در جدول “Persons” را تغییر دهیم.

از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons

ALTER COLUMN DateOfBirth year

توجه کنید که ستون “DateOfBirth” از نوع سال می باشد و از دو یا چهار رقم برای نگهداری سال استفاده خواهد کرد.

مثال استفاده از DROP COLUMN

در مرحله بعد می خواهیم تا ستون “DateOfBirth” را از جدول “Persons” حذف کنیم.

برای اینکار از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons

DROP COLUMN DateOfBirth

جدول “Persons” به شکل زیر خواهد شد:

آموزش افزایش فیلدها در sql

افزایش خودکار فیلدها Auto-Increment یا افزایش خودکار، اجازه می دهد که یک شماره منحصر به فرد، برای سطر جدیدی که درجدول وارد می شود، تولید شود.

خیلی اوقات می خواهیم زمانی که رکورد جدیدی وارد می شود، مقدار فیلد primary key به طور خودکار ایجاد شود.

در این صورت از فیلد auto-increment در جدول استفاده می کنیم.

فرم دستور در MySQL

دستور زیر تعیین می کند که ستون “ID”در جدول “Persons” برای فیلدprimary key از افزایش خودکار استفاده کند.


CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

مای MySQL از کلید واژه AUTO_INCREMENT برای اعمال حالت افزایش خودکار استفاده می کند.

به طور پیش فرض، مقدار شروع برای AUTO_INCREMENT عدد یک می باشد و مقدار آن برای رکورد جدید، یک عدد افزایش می یابد.

برای اینکه مقدار شروع AUTO_INCREMENT را مقداری غیر از یک تعیین کنیم از دستور زیر استفاده می کنیم.

ALTER TABLE Persons AUTO_INCREMENT=100

برای وارد کردن یک رکورد جدید در جدول “Persons” دیگر نباید مقداری برای ستون “ID” تعیین کنیم (مقداری منحصر به فردی، به صورت خودکار در این فیلد وارد می شود):

INSERT INTO Persons (FirstName,LastName)

VALUES ('Lars','Monsen')

دستور بالا سطر جدیدی را در جدول Persons وارد می کند. برای ستون“ID” یک مقدار منحصر به فرد تعیین می شود. ستون “FirstName” به “Lars” و ستون “LastName” به “Monsen” اختصاص می یابد.

فرم دستور در آموزش SQL Server

دستور زیر تعیین می کند که ستون “ID”در جدول “Persons” برای فیلدprimary key از افزایش خودکار استفاده کند.

CREATE TABLE Persons

(

ID int IDENTITY(1,1) PRIMARY KEY,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

در MS SQL Server از کلید واژه IDENTITY برای اعمال خصوصیت افزایش خودکار استفاده می کند.

در مثال بالا مقدار شروع برای IDENTITY عدد یک می باشد و برای هر رکورد جدید، یک عدد به آن افزایش می یابد.

نکته: برای اینکه تعیین کنید که ستون “ID” با مقدار 10 شروع شود و 5 تا 5 تا افزایش یابد IDENTITY را به (10،5) تغییر دهید.

برای اینکه سطر جدیدی را در جدول “Persons” وارد کنیم، دیگر نیازی نیست مقداری برای ستون “ID”وارد کنیم. (مقداری منحصر به فرد، به طور خودکار در این ستون وارد می شود):

INSERT INTO Persons (FirstName,LastName)

VALUES ('Lars','Monsen')

دستور بالا سطر جدیدی را در جدول “Persons” وارد می کند. به ستون “ID” یک مقدار منحصر به فرد داده می شود. ستون “FirstName” به “Lars” و ستون “LastName” به “Monsen” اختصاص می یابد.

فرم دستور درAccess

دستور زیر تعیین می کند که ستون “ID”در جدول “Persons” برای فیلدprimary key از افزایش خودکار استفاده کند.

CREATE TABLE Persons

(

ID Integer PRIMARY KEY AUTOINCREMENT,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

مای MS Access از کلید واژه AUTOINCREMENT برای اعمال خصوصیت افزایش خودکار استفاده می کند.

به طور پیش فرض، مقدار شروع برای AUTOINCREMENT عدد یک می باشد و مقدار آن برای هر رکورد جدید، یک عدد افزایش می یابد.

نکته:

برای اینکه تعیین کنید که ستون “ID”با مقدار 10 شروع شود و 5 تا 5 تا افزایش یابد autoincrement را به AUTOINCREMENT (10,5) تغییر دهید.

برای اینکه سطر جدیدی را در جدول “Persons” وارد کنیم، دیگر نیازی نیست مقداری برای ستون”ID” وارد کنیم. (مقدار منحصر به فردی به طور خودکار در این ستون وارد می شود)

INSERT INTO Persons (FirstName,LastName)

VALUES ('Lars','Monsen')

دستور بالا سطر جدیدی را در جدول “Persons” وارد می کند. به ستون “P_Id” یک مقدار منحصر به فرد داده می شود. ستون “FirstName” به “Lars” و ستون “LastName” به “Monsen” اختصاص می یابد.

فرم دستور در Oracle

در Oracle کار کمی پیچیده تر است.

شما باید فیلد auto-increment را با یک sequence object ایجاد کنید. (این object، یک توالی از اعداد را تولید می کند)

برای تولید اعداد متوالی، از دستور CREATE SEQUENCE که در زیر آمده استفاده کنید:

CREATE SEQUENCE seq_person

MINVALUE 1

START WITH 1

INCREMENT BY 1

CACHE 10

دستور بالا یک sequence object با نام seq_person ایجاد می کند، که با عدد یک شروع و یک عدد یک عدد افزایش می یابد. همچنین برای کارآیی و سرعت دسترسی بیشتر تا 10 مقدار را در حافظه خود (cache) نگه می دارد.

برای درج یک رکورد جدید در جدول "Persons"، باید از تابع nextval استفاده کنیم (این تابع، مقدار بعدی را از seq_person sequence دریافت می کند):

INSERT INTO Persons (ID,FirstName,LastName)

VALUES (seq_person.nextval,'Lars','Monsen')

دستور بالا سطر جدیدی را در جدول “Persons” وارد می کند. به ستون “ID” عدد بعدی از توالی seq_person داده می شود. ستون “FirstName” به “Lars” و ستون “LastName” به “Monsen” اختصاص می یابد.

آموزش sql ادامه دارد


<br/>

دوره آموزش sql serverآموزش sqlآموزش sql serverدوره آموزش sqlآموزش sql server 2019
شاید از این پست‌ها خوشتان بیاید