برای اضافه کردن ویژگی IDENTITY به یک ستون در SQL Server و تنظیم مقادیر seed و increment، میتوانید از دستورات CREATE TABLE یا ALTER TABLE استفاده کنید. در اینجا یک مثال ساده برای هر دو حالت آورده شده است:
ایجاد جدول جدید با ستون IDENTITY
CREATE TABLE Orders (
OrderID int IDENTITY(1,1) PRIMARY KEY,
CustomerName nvarchar(50),
OrderDate datetime
);
در این مثال، ستون OrderID به عنوان ستون IDENTITY تعریف شده است که از 1 شروع میشود و به ازای هر رکورد جدید، یک واحد افزایش مییابد.
اضافه کردن ستون IDENTITY به جدول موجود اگر جدولی دارید که قبلاً ایجاد شده و میخواهید یک ستون IDENTITY به آن اضافه کنید، میتوانید از دستور ALTER TABLE استفاده کنید. توجه داشته باشید که اضافه کردن ستون IDENTITY به یک جدول موجود ممکن است نیاز به ایجاد یک جدول جدید و انتقال دادهها داشته باشد.
-- ایجاد جدول جدید با ستون IDENTITY
CREATE TABLE NewOrders (
OrderID int IDENTITY(1,1) PRIMARY KEY,
CustomerName nvarchar(50),
OrderDate datetime
);
-- انتقال دادهها از جدول قدیمی به جدول جدید
INSERT INTO NewOrders (CustomerName, OrderDate)
SELECT CustomerName, OrderDate
FROM Orders;
-- حذف جدول قدیمی
DROP TABLE Orders;
-- تغییر نام جدول جدید به نام جدول قدیمی
EXEC sp_rename 'NewOrders', 'Orders';
ویرایش مقادیر Seed و Incrementبرای ویرایش مقادیر seed و increment، میتوانید از دستور DBCC CHECKIDENT استفاده کنید:
-- تنظیم مقدار seed و increment
DBCC CHECKIDENT ('Orders', RESEED, 100);
در این مثال، مقدار seed به 100 تنظیم شده است و مقدار increment همان مقدار پیشفرض (1) باقی میماند.
3.9M حجم رسانه بالاست
مشاهده در ایتا
برای انتخاب کردن سطرهای یک جدول در SQL Server، میتوانید از دستور SELECT استفاده کنید. به عنوان مثال، برای انتخاب همه سطرها و ستونها از یک جدول به نام Person، میتوانید از دستور زیر استفاده کنید:
SELECT * FROM Person;
اگر میخواهید سطرهای خاصی را انتخاب کنید، میتوانید از شرط WHERE استفاده کنید. به عنوان مثال، برای انتخاب سطرهایی که مقدار ستون name برابر با یک مقدار خاص است:
SELECT * FROM Person
WHERE name = N'Value';
حروف N بزرگ برای نام از Unicode استفاده می شود
همچنین، اگر میخواهید تعداد محدودی از سطرها را انتخاب کنید، میتوانید از TOP استفاده کنید. به عنوان مثال، برای انتخاب ۲ سطر اول:
SELECT TOP 2 * FROM Person;
برای شرط گذاشتن در انتخاب سطرهای یک جدول در SQL Server، میتوانید از عبارت WHERE استفاده کنید. این عبارت به شما امکان میدهد تا سطرهایی را که شرایط خاصی را برآورده میکنند، انتخاب کنید. در اینجا چند مثال آورده شده است:
1- انتخاب سطرهایی که مقدار یک ستون برابر با یک مقدار خاص است:
SELECT * FROM TableName WHERE ColumnName = 'Value';
2- انتخاب سطرهایی که مقدار یک ستون بزرگتر از یک مقدار خاص است:
SELECT * FROM TableName WHERE ColumnName > 100;
3- انتخاب سطرهایی که مقدار یک ستون بین دو مقدار خاص است:
SELECT * FROM TableName WHERE ColumnName BETWEEN 50 AND 100;
4- انتخاب سطرهایی که مقدار یک ستون شامل یک الگوی خاص است (استفاده از LIKE):
SELECT * FROM TableName WHERE ColumnName LIKE 'A%';
در این مثال، سطرهایی انتخاب میشوند که مقدار ستون ColumnName با حرف 'A' شروع میشود.
5- انتخاب سطرهایی که مقدار یک ستون خالی (NULL) است:
SELECT * FROM TableName WHERE ColumnName IS NULL;
510K حجم رسانه بالاست
مشاهده در ایتا
برای اضافه کردن یک سطر جدید به جدول در SQL Server، از دستور INSERT INTO استفاده میشود. ساختار کلی این دستور به شکل زیر است:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
در اینجا:
- table_name
نام جدولی است که میخواهید دادهها را به آن اضافه کنید.
- (column1, column2, column3, ...)
لیست ستونهایی است که میخواهید دادهها را به آنها اضافه کنید.
- (value1, value2, value3, ...)
مقادیری است که میخواهید به ستونهای مربوطه اضافه کنید.
به عنوان مثال، اگر جدولی به نام Customers دارید و میخواهید یک رکورد جدید به آن اضافه کنید، دستور به این شکل خواهد بود:
INSERT INTO Person (id,name,family,email,Phone,Age)
VALUES (4,N'رضا', N'سلیمانی' , 'reza@email.com' , '0913*****' , '40');
این دستور یک رکورد جدید به جدول Customers اضافه میکند.
3M حجم رسانه بالاست
مشاهده در ایتا
ویژگی Identity معمولا برای ستون کلید اصلی
هر بار یک رکورد جدید اضافه شود مقدار این ستون به طور خدکار اضافه می شود و نیازی به وارد کردن دستی نیست
برای مثال جدولی به نام Person دارید و می خواهید یک رکورد جدید وارد کنید که name نمی تواند مقدار Null بگیرد و family نمی تواند مقدار Null بگیرد
INSERT INTO Person (name,family,)
VALUES (N'کریم', N'یوسفی' );
در SQL Server، ویژگی IDENTITY برای ایجاد ستونهای هویت استفاده میشود که به طور خودکار مقادیر منحصر به فردی را برای هر ردیف جدید تولید میکنند. این ویژگی دو پارامتر اصلی دارد:
Seed (بذر):
مقدار اولیهای که برای اولین ردیف در جدول استفاده میشود.
Increment (افزایش):
مقدار افزایشی که به مقدار هویت ردیف قبلی اضافه میشود.
به طور پیشفرض، مقدار بذر و افزایش هر دو برابر 1 هستند، یعنی اولین ردیف مقدار 1، دومین ردیف مقدار 2 و به همین ترتیب خواهد داشت.
برای مثال، اگر بخواهید Seed مقدار اولیه 10 و Increment مقدار افزایشی 2 باشد
در این مثال، اولین ردیف مقدار 10، دومین ردیف مقدار 12 و سومین ردیف 14و به همین ترتیب خواهد داشت.
1.8M حجم رسانه بالاست
مشاهده در ایتا
برای بهروزرسانی یک سطر در SQL Server، میتوانید از دستور UPDATE استفاده کنید. ساختار کلی این دستور به شکل زیر است:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
مثال:
فرض کنید جدولی به نام Person دارید و میخواهید مقدار ستون age را برای کارمندی با id برابر با 14 بهروزرسانی کنید:
UPDATE Person
SET age = 20
WHERE Id = 14;
توجه داشته باشید که استفاده از شرط WHERE بسیار مهم است، زیرا در غیر این صورت تمام سطرهای جدول بهروزرسانی خواهند شد.
1.9M حجم رسانه بالاست
مشاهده در ایتا
یک مثال دیگر برای بهروزرسانی یک سطر
SELECT * FROM Person
UPDATE Person
SET
name = N' ابراهیم ' , family=N' کیانی '
WHERE id = 4;
1.7M حجم رسانه بالاست
مشاهده در ایتا
برای حذف یک سطر در SQL Server، میتوانید از دستور DELETE استفاده کنید. این دستور به شما اجازه میدهد تا یک یا چندین رکورد را از یک جدول حذف کنید. شکل پایهای دستور DELETE به صورت زیر است:
DELETE FROM table_name
WHERE condition;
در اینجا:
- table_name
نام جدولی است که میخواهید سطرهای آن را حذف کنید.
- condition
شرطی است که مشخص میکند کدام سطرها باید حذف شوند.
به عنوان مثال، اگر بخواهید سطری را که id آن برابر با 3 است از جدول Person حذف کنید، میتوانید از دستور زیر استفاده کنید:
DELETE FROM Person
WHERE id = 3;
توجه داشته باشید که استفاده از دستور DELETE دادهها را به صورت دائمی حذف میکند، بنابراین قبل از اجرای این دستور، مطمئن شوید که دادههای مورد نظر را به درستی انتخاب کردهاید.
نکته مهم این که دستور DELETE بدون شرط تمام سطرهای جدول حذف می شوند
881.3K حجم رسانه بالاست
مشاهده در ایتا
برای ایجاد یک دیتابیس جدید در SQL Server، میتوانید از SQL Server Management Studio (SSMS) استفاده کنید. مراحل زیر را دنبال کنید:
- باز کردن SSMS: برنامه SQL Server Management Studio را باز کنید و به سرور SQL متصل شوید.
- ایجاد دیتابیس جدید: روی پوشه "Databases" راست کلیک کرده و گزینه "New Database" را انتخاب کنید.
- تنظیمات دیتابیس: در پنجره باز شده، نام دیتابیس را وارد کنید و تنظیمات مربوط به فایلهای دیتابیس (مانند مسیر ذخیرهسازی) را مشخص کنید.
- تایید و ایجاد: پس از وارد کردن اطلاعات، روی "OK" کلیک کنید تا دیتابیس ایجاد شود.
در این قسمت Auto Growth و Max Size چیست؟- Auto Growth: این ویژگی به SQL Server اجازه میدهد تا به صورت خودکار اندازه فایلهای دیتابیس را افزایش دهد زمانی که فضای موجود پر شود. این افزایش میتواند به صورت درصدی یا بر اساس اندازه ثابت (مثلاً 10 مگابایت) تنظیم شود.
و Max Size: حداکثر اندازهای که فایل دیتابیس میتواند رشد کند را مشخص میکند. این مقدار میتواند به صورت محدود (مثلاً 500 مگابایت) یا نامحدود (unlimited) تنظیم شود.
Auto GrowthAuto Growth
به SQL Server اجازه میدهد تا به صورت خودکار اندازه فایلهای دیتابیس را افزایش دهد زمانی که فضای موجود پر شود. این افزایش میتواند به صورت درصدی یا بر اساس اندازه ثابت تنظیم شود.
مثال:فرض کنید یک دیتابیس با تنظیمات زیر ایجاد کردهاید:
- اندازه اولیه فایل دیتابیس: 100 مگابایت
- تنظیمات Auto Growth: 10 مگابایت
هر زمان که فضای دیتابیس پر شود، SQL Server به صورت خودکار 10 مگابایت به اندازه فایل دیتابیس اضافه میکند.
CREATE DATABASE ExampleDB
ON PRIMARY (
NAME = 'ExampleDB_Data',
FILENAME = 'C:\SQLData\ExampleDB.mdf',
SIZE = 100MB,
FILEGROWTH = 10MB
)
LOG ON (
NAME = 'ExampleDB_Log',
FILENAME = 'C:\SQLData\ExampleDB.ldf',
SIZE = 50MB,
FILEGROWTH = 5MB
);
Max SizeMax Size
حداکثر اندازهای که فایل دیتابیس میتواند رشد کند را مشخص میکند. این مقدار میتواند به صورت محدود (مثلاً 500 مگابایت) یا نامحدود (unlimited) تنظیم شود.
مثال:فرض کنید میخواهید حداکثر اندازه فایل دیتابیس را به 500 مگابایت محدود کنید:
CREATE DATABASE ExampleDB
ON PRIMARY (
NAME = 'ExampleDB_Data',
FILENAME = 'C:\SQLData\ExampleDB.mdf',
SIZE = 100MB,
FILEGROWTH = 10MB,
MAXSIZE = 500MB
)
LOG ON (
NAME = 'ExampleDB_Log',
FILENAME = 'C:\SQLData\ExampleDB.ldf',
SIZE = 50MB,
FILEGROWTH = 5MB,
MAXSIZE = 200MB
);
نکات مهم:- تنظیمات نادرست Auto Growth میتواند بر عملکرد دیتابیس تاثیر منفی بگذارد. برای مثال، اگر اندازه افزایش خیلی کوچک باشد، SQL Server مجبور خواهد بود به دفعات زیاد فایل را افزایش دهد که میتواند باعث کاهش عملکرد شود.
- Max Size
میتواند به شما کمک کند تا از پر شدن فضای دیسک جلوگیری کنید و کنترل بیشتری بر روی اندازه دیتابیس داشته باشید.