SQL مخفف عبارت Structured Query Language به معنی زبان پرسوجوی ساختار یافته است. این زبان یک زبان استاندارد برای دسترسی و کار با پایگاهداده (database) است. SQL از سال 1987 یک زبان استاندارد برای کار با دیتابیس است.
SQL برای مدیریت و ارتباط با پایگاه داده رابطهای استفاده میشود. به عبارتی، میتوان از این زبان برای ساخت پایگاه داده، حذف و بهروزرسانی اطلاعات و استخراج داده از پایگاه داده رابطهای استفاده کرد.
SQL دارای چندین دستور اصلی است که برای مدیریت پایگاه داده استفاده میشوند. این دستورات عبارتند از:
- CREATE TABLE: برای ایجاد یک جدول جدید در پایگاه داده
- INSERT INTO: برای افزودن رکوردهای جدید به یک جدول
- SELECT: برای بازیابی دادهها از یک جدول
- UPDATE: برای بهروزرسانی دادههای موجود در یک جدول
- DELETE: برای حذف رکوردهای موجود از یک جدول
در این مطلب از وبسایت راکت قصد داریم شما را با اصلیترین دستورات 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 بودن هر دو شرط ندارد.
BETWEEN
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() یک تابع است که نام ستونی را دریافت کرده و تمام مقادیر داخل آن ستون را جمع میکند.
چرا باید SQL را یاد بگیریم و از آن استفاده کنیم؟
استفاده از SQL چندین مزیت عمده دارد، به ویژه برای کار با پایگاه دادههای رابطهای:
-
استاندارد بودن: SQL یک زبان استاندارد برای پایگاههای داده رابطهای است و توسط اکثر سیستمهای مدیریت پایگاه داده (DBMS) مانند MySQL ،PostgreSQL ،SQL Server و Oracle پشتیبانی میشود.
-
قابلیت دستکاری دادهها: SQL امکان جستجو، اضافه کردن، بهروزرسانی و حذف دادهها را در یک پایگاه داده به روشی سریع و کارآمد فراهم میکند.
-
پرسوجوهای پیچیده: با استفاده از SQL، میتوان پرسوجوهای پیچیدهای انجام داد که شامل فیلتر کردن دادهها، گروهبندی، و انجام محاسبات روی دادهها میشود.
-
تحلیل دادهها: SQL برای تحلیل دادهها بسیار مناسب است. با استفاده از دستورات SQL میتوان تحلیلهای پیچیده دادهها را انجام داد و دیدگاههای ارزشمندی به دست آورد.
-
بهرهوری بالا: با یادگیری SQL، کاربران میتوانند به طور موثر با حجم زیادی از دادهها کار کنند و به سرعت به اطلاعات مورد نیاز دسترسی پیدا کنند.
-
گسترشپذیری و انعطافپذیری: SQL برای پایگاه دادههای کوچک تا بزرگ مناسب است و میتواند با رشد نیازهای کسبوکارها تطبیق پیدا کند.
-
پشتیبانی گستردهای از جامعه و منابع: به دلیل محبوبیت گسترده SQL، منابع زیادی برای یادگیری و حل مشکلات موجود است.
بنابراین، برای کسانی که در حوزههایی مانند توسعه نرمافزار، علم داده، تحلیل داده، مدیریت پایگاه داده و بسیاری از زمینههای دیگر فعالیت دارند، دانستن SQL میتواند بسیار مفید باشد.
در پایان
SQL یکی از تکنولوژیهای بسیار مهم در فرایند توسعه نرمافزار است. با یادگیری کامل آن میتوانید به خوبی با دیتابیسها کار کنید. حتما روی یادگیری آن سرمایهگذاری کنید.
در این مطلب از وبسایت راکت سعی کردیم تا شما را با برخی از اصلیترین دستورات SQL به زبان ساده آشنا کنیم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید