ویژگی Identity در SQL Server برای تولید خودکار اعداد منحصربهفرد و با افزایش ترتیبی استفاده میشود. این ویژگی معمولاً برای ستونهای کلید اصلی (Primary Key) به کار میرود تا شناسههای منحصربهفردی برای هر رکورد جدید ایجاد کند.
به عنوان مثال، اگر یک جدول با ستون Identity داشته باشید، هر بار که یک رکورد جدید اضافه میشود، مقدار این ستون به طور خودکار افزایش مییابد. این کار باعث میشود که نیازی به وارد کردن دستی شناسهها نباشد و از یکپارچگی دادهها اطمینان حاصل شود.
در SQL Server، ویژگی IDENTITY برای ایجاد ستونهای هویت استفاده میشود که به طور خودکار مقادیر منحصر به فردی را برای هر ردیف جدید تولید میکنند. این ویژگی دو پارامتر اصلی دارد:
Seed (بذر):
مقدار اولیهای که برای اولین ردیف در جدول استفاده میشود.
Increment (افزایش):
مقدار افزایشی که به مقدار هویت ردیف قبلی اضافه میشود.
به طور پیشفرض، مقدار بذر و افزایش هر دو برابر 1 هستند، یعنی اولین ردیف مقدار 1، دومین ردیف مقدار 2 و به همین ترتیب خواهد داشت12.
برای مثال، اگر بخواهید مقدار اولیه 10 و مقدار افزایشی 5 باشد، میتوانید از دستور زیر استفاده کنید:
CREATE TABLE MyTable (
ID INT IDENTITY(10, 5) PRIMARY KEY,
Name VARCHAR(50)
);
در این مثال، اولین ردیف مقدار 10، دومین ردیف مقدار 15 و به همین ترتیب خواهد داشت.
در اینجا یک مثال ساده از نحوه ایجاد یک جدول در SQL Server آورده شده است:
- ایجاد دیتابیس:
ابتدا باید یک دیتابیس ایجاد کنید. برای این کار از دستور زیر استفاده میشود:
CREATE DATABASE mydatabase;
- انتخاب دیتابیس:
سپس باید دیتابیس ایجاد شده را انتخاب کنید:
USE mydatabase;
- ایجاد جدول:
حالا میتوانید جدول خود را ایجاد کنید. به عنوان مثال، برای ایجاد یک جدول به نام customers با ستونهای id، name و email، از دستور زیر استفاده میشود:
CREATE TABLE customers (
id INT PRIMARY KEY,
name NVARCHAR(100),
email VARCHAR(100)
);
این دستورات به شما اجازه میدهند تا یک جدول ساده در دیتابیس خود ایجاد کنید. هر ستون میتواند نوع دادههای مختلفی داشته باشد، مانند INT برای اعداد صحیح و VARCHAR و NVARCHAR برای رشتههای متنی.
در SQL Server، نمیتوانید از کلمات کلیدی رزرو شده (Reserved Keywords) برای نامگذاری اشیاء مانند جداول، ستونها، و غیره استفاده کنید. این کلمات کلیدی برای دستورات SQL استفاده میشوند و استفاده از آنها به عنوان نام میتواند باعث ایجاد خطا و مشکلات در اجرای دستورات شود.
برای مثال، نمیتوانید جدولی با نام SELECT یا ستونی با نام FROM ایجاد کنید. اگر نیاز دارید از نامی استفاده کنید که مشابه یک کلمه کلیدی است، میتوانید از براکتها ([]) استفاده کنید. به عنوان مثال:
CREATE TABLE [SELECT] (
[FROM] INT,
[WHERE] NVARCHAR(50)
);
2.7M حجم رسانه بالاست
مشاهده در ایتا
برای اضافه کردن یک ستون جدید به جدول در SQL Server، میتوانید از دستور ALTER TABLE استفاده کنید. به عنوان مثال، اگر بخواهید یک ستون به نام BirthPlace با نوع داده nvarchar(150) به جدول tblStudents اضافه کنید، دستور زیر را اجرا کنید:
ALTER TABLE Person
ADD Phone nvarchar(150);
این دستور ستون جدیدی به نام phone با نوع داده nvarchar(150) به جدول person اضافه میکند.
3M حجم رسانه بالاست
مشاهده در ایتا
برای اضافه کردن یک ستون از نوع int که اجازه NULL نداشته باشد به جدول در SQL Server، میتوانید از دستور ALTER TABLE استفاده کنید. به عنوان مثال، اگر بخواهید یک ستون به نام Age به جدول Person اضافه کنید، دستور زیر را اجرا کنید:
ALTER TABLE Person
ADD Age int NOT NULL ;
این دستور ستون جدیدی به نام Age با نوع داده int که نمیتواند مقدار NULL داشته باشد. به جدول Person اضافه میکند.
و برای ویرایش یک ستون در SQL Server، میتوانید از دستور ALTER TABLE همراه با ALTER COLUMN استفاده کنید. به عنوان مثال، اگر بخواهید نوع داده ستون Age در جدول Person را به bigint تغییر دهید، میتوانید از دستور زیر استفاده کنید:
ALTER TABLE Person
ALTER COLUMN Age bigint;
این دستور نوع داده ستون Age را به bigint تغییر میدهد.
برای اضافه کردن ویژگی 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'یوسفی' );