SQL Tutorial

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

🟢 1. اتصال به پایگاه‌داده

  • SQL روی بیشتر سیستم‌های مدیریت پایگاه‌داده (MySQL, PostgreSQL, SQL Server, SQLite و …) پشتیبانی می‌شود.

  • برای تمرین می‌توانید از MySQL یا SQLite استفاده کنید.

🟡 2. ساخت پایگاه‌داده

CREATE DATABASE mydb;

🟠 3. ساخت جدول

CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100), email VARCHAR(100), age INT );

🟤 4. درج داده (INSERT)

INSERT INTO users (name, email, age) VALUES ('Ali', 'ali@example.com', 25);

🔵 5. خواندن داده (SELECT)

SELECT * FROM users; SELECT name, age FROM users WHERE age > 20;
  • * = تمام ستون‌ها

  • WHERE = شرط

🟣 6. بروزرسانی (UPDATE)

UPDATE users SET age = 30 WHERE id = 1;

🟤 7. حذف (DELETE)

DELETE FROM users WHERE id = 1;

🟢 8. فیلتر، مرتب‌سازی و محدودسازی

SELECT * FROM users WHERE age BETWEEN 20 AND 30 ORDER BY age DESC LIMIT 5;
  • ORDER BY برای مرتب‌سازی

  • LIMIT برای محدود کردن نتایج

🟡 9. توابع تجمعی

SELECT COUNT(*) FROM users; SELECT AVG(age) FROM users; SELECT MAX(age), MIN(age) FROM users;

🟠 10. گروه‌بندی

SELECT age, COUNT(*) FROM users GROUP BY age HAVING COUNT(*) > 1;
  • GROUP BY برای دسته‌بندی

  • HAVING برای شرط روی گروه‌ها

🟣 11. کلید خارجی (Relationships)

CREATE TABLE orders ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT, amount DECIMAL(10,2), FOREIGN KEY (user_id) REFERENCES users(id) );

🟤 12. Join (اتصال جداول)

SELECT users.name, orders.amount FROM users INNER JOIN orders ON users.id = orders.user_id;
  • INNER JOIN: فقط ردیف‌های مشترک

  • LEFT JOIN: تمام ردیف‌های جدول اول و مقادیر مشترک از جدول دوم

💡 نکات تکمیلی

  • از Index برای سرعت جستجو استفاده کنید.

  • برای امنیت، همیشه از Prepared Statements در برنامه‌ها استفاده کنید.

  • نام جداول و ستون‌ها را معنادار انتخاب کنید.

✅ جمع‌بندی

SQL زبان استاندارد برای کار با داده‌های رابطه‌ای است.
گام‌ها:
1️⃣ ساخت پایگاه‌داده و جدول
2️⃣ درج و ویرایش داده
3️⃣ پرس‌وجو با SELECT، WHERE، JOIN
4️⃣ بهینه‌سازی با Index و Queryهای حرفه‌ای

با یادگیری این مبانی می‌توانید در هر سیستم مدیریت دیتابیس (MySQL, PostgreSQL, SQL Server و …) به راحتی کار کنید.