دوره آموزش 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_personMINVALUE 1START WITH 1INCREMENT BY 1CACHE 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/>