دستورات SQL چیستند؟

SQL (Structured Query Language) یک زبان برنامه‌نویسی است که برای تعامل با پایگاه داده‌ها استفاده می‌شود. بیشتر کارهایی که با پایگاه داده‌ها انجام می‌دهید، از طریق دستورات SQL صورت می‌گیرد.

دستورات SQL از کلمات کلیدی تشکیل شده‌اند که معمولا ساده و قابل‌فهم هستند. برای مثال:

SELECT * FROM Customers;

این دستور تمام رکوردهای جدول “Customers” را از پایگاه داده استخراج می‌کند.

جداول پایگاه داده 📊

یک پایگاه داده معمولاً حاوی یک یا چند جدول است. هر جدول با یک نام خاص (مثل “Customers” یا “Orders”) شناسایی می‌شود و شامل رکوردهایی (یا ردیف‌ها) با داده‌های مختلف است.

در این آموزش از پایگاه داده معروف “Northwind” استفاده خواهیم کرد. این پایگاه داده معمولاً در MS Access و MS SQL Server موجود است.

مثال زیر یک انتخاب از جدول “Customers” است:

Responsive Customer Table

Customer Information

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

این جدول شامل پنج رکورد (یا مشتری) و هفت ستون است: CustomerID، CustomerName، ContactName، Address، City، PostalCode و Country.

نکات مهم در استفاده از SQL 🌟

  1. حساسیت به حروف بزرگ و کوچک:
    کلمات کلیدی SQL حساس به حروف بزرگ و کوچک نیستند. یعنی شما می‌توانید از “SELECT” یا “select” استفاده کنید، هر دو یکی هستند. در این آموزش، ما تمام کلمات کلیدی SQL را به صورت حروف بزرگ خواهیم نوشت.

  2. نقطه‌ویرگول (Semicolon):
    برخی سیستم‌های پایگاه داده برای جدا کردن دستورات SQL از یکدیگر به نقطه‌ویرگول نیاز دارند. بنابراین، در این آموزش بعد از هر دستور SQL، نقطه‌ویرگول قرار می‌دهیم.

مهم‌ترین دستورات SQL 🚀

در این بخش با چند دستور پرکاربرد SQL آشنا می‌شویم:

  1. SELECT: استخراج داده‌ها از پایگاه داده
    این دستور داده‌ها را از یک جدول می‌خواند.
    مثال:

SELECT * FROM Customers;

2. دستور UPDATE: به‌روزرسانی داده‌ها در پایگاه داده
با این دستور می‌توانید داده‌ها را تغییر دهید.
مثال:

UPDATE Customers SET ContactName = 'Maria Anders' WHERE CustomerID = 1;

3. دستور DELETE: حذف داده‌ها از پایگاه داده
این دستور برای حذف داده‌ها استفاده می‌شود.
مثال:

DELETE FROM Customers WHERE CustomerID = 1;

4. دستور INSERT INTO: وارد کردن داده‌های جدید به پایگاه داده
با این دستور می‌توانید داده‌های جدیدی وارد جدول کنید.
مثال:

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('New Customer', 'John Doe', '1234 Elm St', 'New York', '10001', 'USA');

5. دستور CREATE DATABASE: ایجاد پایگاه داده جدید
این دستور برای ساخت یک پایگاه داده جدید استفاده می‌شود.
مثال:

CREATE DATABASE NewDatabase;

6. دستور ALTER DATABASE: تغییرات در پایگاه داده
با این دستور می‌توانید تغییرات مختلفی در پایگاه داده ایجاد کنید.
مثال:

ALTER DATABASE OldDatabase MODIFY Name 'NewName';

7. دستور CREATE TABLE: ایجاد جدول جدید
این دستور برای ساخت یک جدول جدید در پایگاه داده به کار می‌رود.
مثال:

CREATE TABLE Orders (
    OrderID int,
    OrderDate date,
    CustomerID int
);

8. دستور ALTER TABLE: تغییرات در جدول
با این دستور می‌توانید تغییرات مختلفی در ساختار جدول اعمال کنید.
مثال:

ALTER TABLE Orders ADD COLUMN OrderAmount decimal(10, 2);

9. دستور DROP TABLE: حذف جدول
این دستور برای حذف یک جدول از پایگاه داده استفاده می‌شود.
مثال:

DROP TABLE Orders;

10. دستور CREATE INDEX: ایجاد ایندکس (شاخص جستجو)
این دستور برای ایجاد ایندکس برای جستجوهای سریع‌تر استفاده می‌شود.
مثال:

CREATE INDEX idx_customername ON Customers(CustomerName);

11. دستور DROP INDEX: حذف ایندکس
این دستور برای حذف ایندکس از پایگاه داده استفاده می‌شود.
مثال:

DROP INDEX idx_customername;

تمرین‌های عملی برای شما 💡

  1. یک دستور SQL بنویسید که تمام مشتریان با نام “Ana Trujillo” را از جدول “Customers” پیدا کند.

  2. دستور SQL که یک مشتری جدید با اطلاعات زیر وارد جدول “Customers” کند:

    • CustomerName: “John Doe”
    • ContactName: “Jane Doe”
    • Address: “123 Maple St”
    • City: “Los Angeles”
    • PostalCode: “90001”
    • Country: “USA”
  3. از دستور DELETE استفاده کنید تا مشتری با CustomerID برابر 2 را حذف کنید.