آموزش سریع دستورات SQL

گردآوری و تالیف : ارسطو عباسی
تاریخ انتشار : 15 تیر 1397
دسته بندی ها : برنامه نویسی

SQL یا Structured Query Language یک زبان برنامه‌نویسی طراحی شده برای مدیریت داده‌های قرار گرفته در بانک‌های اطلاعاتی رابطه‌ای است. عملیات‌های SQL از طریق کدهای ساده و واضحی اجرا می‌شود. این موضوع باعث می‌شود که داده‌ها امن و واضح همچنین تمامیت دیتابیس‌ها حفظ می‌شود.

در این مطلب قصد داریم به صورت ساده دستورات مهم موجود در SQL   را به شما آموزش دهیم:

لیست دستورات

CREATE TABLE

CREATE TABLE table_name (
  column_1 datatype, 
  column_2 datatype, 
  column_3 datatype
);

از دستور CREATE TABLE برای ایجاد یک جدول جدید در بانک اطلاعاتی استفاده می‌شود. این دستور به شما اجازه نامگذاری جدول و ستون‌ها را می‌دهد، همچنین می توانید نوع ستون‌ها در آن را تعیین کنید.

ALTER TABLE

ALTER TABLE table_name 
ADD column_name datatype;

ALTER TABLE به شما قابلیت اضافه کردن ستون‌های جدید و ویرایش کلی جدول موجود در یک بانک اطلاعاتی را می‌دهد.

SELECT

SELECT column_name 
FROM table_name;

دستور SELECT برای دریافت داده از یک جدول بانک اطلاعاتی استفاده می‌شود. تمام کوئری‌ها با SELECT شروع می‌شوند. 

SELECT DISTINCT

SELECT DISTINCT column_name
FROM table_name;

از دستور SELECT DISTINCT برای انتخاب تنها موارد منحصر به فرد و غیر تکراری از یک جدول استفاده می‌شود.

INSERT

INSERT INTO table_name (column_1, column_2, column_3) 
VALUES (value_1, 'value_2', value_3);

دستور INSERT برای اضافه کردن ردیف جدید به جدول استفاده می‌شود.

UPDATE

UPDATE table_name
SET some_column = some_value
WHERE some_column = some_value;

از دستور UPDATE برای ویرایش ردیف‌ها و اعمال داده جدید بجای یک داده قدیمی استفاده می‌شود.

WHERE

SELECT column_name(s)
FROM table_name
WHERE column_name operator value;

از دستور WHERE برای قرار دادن شرط و اعمال فیلتر روی خروجی استفاده می‌شود. در این حالت تنها زمانی که اعمال شرط روی ردیف‌ها نتیجه true داشته باشد، ردیف برگشت داده می‌شود.

DELETE

DELETE FROM table_name
WHERE some_column = some_value;

دستور DELETE برای حذف کردن یک ردیف از جدول استفاده می‌شود. 

GROUP BY

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;

از GROUP BY برای گروه‌بندی داده‌های موجود در یک دستور SELECt استفاده می‌شود. این دستور با توابع تجمیع کننده کار می‌کند.

HAVING

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > value;

دستور HAVING بدین منظور ایجاد شده زیرا که Where نمی‌تواند با توابع تجمیعی کار کند.

AS

SELECT column_name AS 'Alias'
FROM table_name;

AS یک کلمه کلیدی در SQL است که برای تعریف نام مستعار مربوط به یک ستون یک جدول استفاده می‌شود.

INNER JOIN

SELECT column_name(s)
FROM table_1
JOIN table_2
  ON table_1.column_name = table_2.column_name;

دستور INNER JOIN ردیف‌های مربوط به جدول‌های مختلف را در زمانی که شرط join درست باشد با همدیگر ترکیب می‌کند. 

OUTER JOIN

SELECT column_name(s)
FROM table_1
LEFT JOIN table_2
  ON table_1.column_name = table_2.column_name;

دستور OUTER JOIN ردیف‌ها را از جدول‌های مختلفی حتی بدون شرط ترکیب می‌کند. تمام ردیف‌ها از جدول سمت چپ برگشت داده شده و با مقادیر نظیر به نظیر در کنار همدیگر قرار می‌گیرند، اگر مقداری نیز وجود نداشته باشد، NULL در سلول‌ها قرار می‌گیرد.

CASE

SELECT column_name,
  CASE
    WHEN condition THEN 'Result_1'
    WHEN condition THEN 'Result_2'
    ELSE 'Result_3'
  END
FROM table_name

دستور CASE برای قرار دادن خروجی‌های مختلف در حالت‌های مختلف استفاده می‌شود. برای پیاده‌سازی حالت if-then در سایز زبان‌ها استفاده می‌شود.

COUNT()

SELECT COUNT(column_name)
FROM table_name;

تابع COUNT() نام یک ستون را گرفته و تعداد ردیف‌های موجود در آن را می‌شمرد. -در حالتی که مقدار ستون‌ها null نباشد-.

AVG()

SELECT AVG(column_name)
FROM table_name;

AVG() یک تابع تجمیعی است و مقدار میانگین مربوط به یک ستون عددی را برمی‌گرداند. 

AND

SELECT column_name(s)
FROM table_name
WHERE column_1 = value_1
  AND column_2 = value_2;

AND یک عملگر در SQL است که دو شرط را با همدیگر ترکیب می‌کند. زمانی که هر دو شرط true باشند ردیف مربوطه برگشت داده می‌شود.

OR

SELECT column_name
FROM table_name
WHERE column_name = value_1
   OR column_name = value_2;

OR نیز یک عملگر است با این تفاوت که برای برگشت دادن یک ردیف حتما نیاز به true بودن هر دو شرط ندارد.

BETWEENSELECT column_name(s

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value_1 AND value_2;

عملگر BETWEEN برای فیلتر کردن نتیجه یک یک بازه معین استفاده می‌شود. مقادیر می‌توانند اعدد، متن و یا تاریخ باشد.

ORDER BY

SELECT column_name
FROM table_name
ORDER BY column_name ASC | DESC;

ORDER BY یک دستور SQL است که شیوه مرتب‌سازی نتایج برگشتی را توسط شما تعیین می‌کند. 

IS NULL / IS NOT NULL

SELECT column_name(s)
FROM table_name
WHERE column_name IS NULL;

دستور IS NULL و IS NOT NULL عملگرهایی هستند که با شرط whre برای تست کردن مقدار خالی استفاده می‌شوند.

LIKE

LIKE یک عملگر منحصر به فرد است که در Where برای جستجو به دنبال یه الگوی منحصر به فرد در یک ستون استفاده می‌شود. 

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

LIMIT

با از دستور LIMIT می‌توانید حداکثر تعدادی که خروجی به شما ردیف می‌دهد را تعیین کنید.

SELECT column_name(s)
FROM table_name
LIMIT number;

MAX()

SELECT MAX(column_name)
FROM table_name;

MAX() یک تابع است که نام ستونی را گرفته و بالاترین مقدار داخل آن را برمی‌گرداند.

MIN()

SELECT MIN(column_name)
FROM table_name;

MIN() یک تابع است که نام ستونی را گرفته و کوچکترین مقدار داخل آن را برمی‌گرداند.

ROUND()

SELECT ROUND(column_name, integer)
FROM table_name;

تابع ROUND() دو مقدار ورودی را دریافت می‌کند. یکی نام ستون مورد نظر و دیگری یک مقدار صحیح عددی. این تابع عدد داخل ستون را براساس عدد قرار گرفته شده در قسمت عدد صحیح گرد می‌کند.

SUM

SELECT SUM(column_name)
FROM table_name;

SUM() یک تابع است که نام ستونی را دریافت کرده و تمام مقادیر داخل آن ستون را جمع می‌کند. 

منبع

مقالات پیشنهادی

آموزش استفاده از SQLite در Node.js

SQLite شامل موتور دیتابیس هست که سروری برای اجرا شدن لازم نداره. (برای MySQL و اوراکل نیاز به سرور دیتابیس داریم). SQLite محبوب ترین در بین توسعه دهند...

یادگیری SQL در ۲۰ دقیقه

تمام توسعه‌دهندگان وب باید SQL را بدانند. اگرچه SQL از دهه ۷۰ به بعد ایجاد شد، اما هم اکنون نیز به صورت وسیعی از آن استفاده می‌شود. در حقیقت اگر اپلیک...

آموزش طراحی اسلایدر ساده توسط BxSlider

با سلام خدمت دوستان در این مقاله قصد دارم آموزش طراحی اسلایدر ساده توسط پلاگین جی کوئری به نام bxslider رو بهتون آموزش بدم .در ابتدا شما باید یک آشنای...

آموزش Migration ها در لاراول

لاراول توسط Taylor Otwell توسعه پیدا کرده و یکی از بزرگترین فریمورک های php می باشد و هم برای پروژه ای کوچیک و هم برای پروژه های در مقیاس بزرگ قابل اس...