دستورات و عملگرهای SQL | DDL، DML، DCL، TCL و DQL

دستورات و عملگرهای SQL

توسط admin | گروه SQL Server | 1405/05/16

نظرات 0

دستورات و عملگرهای SQL

زبان تعریف داده (DDL)

  • DDL ساختار جدول را تغییر می‌دهد؛ مانند ایجاد جدول، حذف جدول، تغییر جدول و موارد مشابه.
  • همهٔ دستورهای DDL به‌صورت خودکار Commit می‌شوند؛ یعنی همهٔ تغییرات را به‌طور دائمی در پایگاه داده ذخیره می‌کنند.

دستورهای زیر در DDL قرار می‌گیرند:

  • CREATE
  • ALTER
  • DROP
  • TRUNCATE

زبان تعریف داده (DDL) - CREATE

CREATE برای ایجاد یک جدول جدید در پایگاه داده استفاده می‌شود.

Syntax:

REATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Example:

CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHA
R2(100), DOB DATE);

زبان تعریف داده (DDL) - Drop

Drop برای حذف هم ساختار و هم رکوردهای ذخیره‌شده در جدول استفاده می‌شود.

Syntax:

DROP TABLE ;

Example:

DROP TABLE EMPLOYEE;

زبان تعریف داده (DDL) - ALTER

ALTER برای تغییر ساختار پایگاه داده استفاده می‌شود. این تغییر می‌تواند ویژگی‌های یک Attribute موجود را تغییر دهد یا یک Attribute جدید اضافه کند.

Syntax:

ALTER TABLE table_name ADD column_name COLUMN-definition;
ALTER TABLE MODIFY(COLUMN DEFINITION....);

Example:

ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));
ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));

زبان تعریف داده (DDL) - TRUNCATE

TRUNCATE برای حذف همهٔ ردیف‌های جدول و آزادکردن فضای مربوط به جدول استفاده می‌شود.

Syntax:

TRUNCATE TABLE table_name;

Example:

TRUNCATE TABLE EMPLOYEE;

زبان دست‌کاری داده (DML)

  • دستورهای DML برای تغییر پایگاه داده استفاده می‌شوند و مسئول همهٔ شکل‌های تغییر در پایگاه داده هستند.
  • دستورهای DML به‌صورت خودکار Commit نمی‌شوند؛ یعنی نمی‌توانند همهٔ تغییرات را به‌طور دائمی در پایگاه داده ذخیره کنند و می‌توان آن‌ها را Rollback کرد.

دستورهای زیر در DML قرار می‌گیرند:

  • INSERT
  • UPDATE
  • DELETE

زبان دست‌کاری داده - INSERT

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

Syntax:

INSERT INTO TABLE_NAME (col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);

OR

INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);

Example:

INSERT INTO XYZ (Author, Subject) VALUES ("Sonoo", "DBMS");

زبان دست‌کاری داده - UPDATE

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

Syntax:

UPDATE table_name SET [column_name1= value1,...column_n
ameN = valueN] [WHERE CONDITION]

Example:

UPDATE students
SET User_Name = 'Sonoo'
WHERE Student_Id = '3'

زبان کنترل داده (DCL)

دستورهای DCL برای اعطا و پس‌گرفتن اختیار از هر کاربر پایگاه داده استفاده می‌شوند.

دستورهای زیر در DCL قرار می‌گیرند:

  • Grant
  • Revoke

زبان کنترل داده - Grant

GRANT برای دادن امتیازهای دسترسی به پایگاه داده به کاربر استفاده می‌شود.

Example:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOT
HER_USER;

REVOKE برای پس‌گرفتن مجوزها از کاربر استفاده می‌شود.

Example:

REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

زبان کنترل تراکنش (TCL)

دستورهای TCL فقط می‌توانند همراه با دستورهای DML مانند INSERT، DELETE و UPDATE استفاده شوند.

این عملیات به‌صورت خودکار در پایگاه داده Commit می‌شوند؛ به همین دلیل هنگام ایجاد جدول‌ها یا حذف آن‌ها قابل استفاده نیستند.

دستورهای زیر در TCL قرار می‌گیرند:

  • COMMIT
  • ROLLBACK
  • SAVEPOINT

زبان کنترل تراکنش - COMMIT

دستور Commit برای ذخیرهٔ همهٔ تراکنش‌ها در پایگاه داده استفاده می‌شود.

Syntex:

COMMIT;

Example:

DELETE FROM CUSTOMERS
WHERE AGE = 25;
COMMIT;

زبان کنترل تراکنش - Rollback

Rollback برای برگرداندن تراکنش‌هایی استفاده می‌شود که هنوز در پایگاه داده ذخیره نشده‌اند.

Syntex:

ROLLBACK;

Example:

DELETE FROM CUSTOMERS
WHERE AGE = 25;
ROLLBACK;

SAVEPOINT برای بازگرداندن تراکنش به یک نقطهٔ مشخص، بدون Rollback کردن کل تراکنش استفاده می‌شود.

Syntex:

SAVEPOINT SAVEPOINT_NA
ME;

زبان پرس‌وجوی داده (DQL)

DQL برای دریافت داده از پایگاه داده استفاده می‌شود.

فقط از یک دستور استفاده می‌کند:

SELECT

a. SELECT: این دستور همان عمل Projection در جبر رابطه‌ای است. از آن برای انتخاب Attribute بر اساس شرطی که Clauseِ WHERE توصیف می‌کند استفاده می‌شود.

Syntax:

SELECT expressions FROM TABLES WHERE conditions;

Example:

SELECT emp_name FROM employee WHERE age > 20;

عملگر SQL

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

عملگرهای مقایسه‌ای SQL

عملگرتوضیح
+مقدار هر دو عملوند (Operand) را با هم جمع می‌کند.
-برای کم‌کردن عملوند سمت راست از عملوند سمت چپ استفاده می‌شود.
*برای ضرب مقدار هر دو عملوند استفاده می‌شود.
/برای تقسیم عملوند سمت چپ بر عملوند سمت راست استفاده می‌شود.
%برای تقسیم عملوند سمت چپ بر عملوند سمت راست استفاده می‌شود و باقیمانده را برمی‌گرداند.

عملگرهای حسابی SQL

عملگرتوضیح
=بررسی می‌کند که مقدار دو عملوند برابر است یا نه؛ اگر برابر باشند، شرط True می‌شود.
!=بررسی می‌کند که مقدار دو عملوند برابر است یا نه؛ اگر برابر نباشند، شرط True می‌شود.
<>بررسی می‌کند که مقدار دو عملوند برابر است یا نه؛ اگر برابر نباشند، شرط True می‌شود.
>بررسی می‌کند آیا مقدار عملوند چپ از مقدار عملوند راست بزرگ‌تر است؛ اگر بله، شرط True می‌شود.
<بررسی می‌کند آیا مقدار عملوند چپ از مقدار عملوند راست کوچک‌تر است؛ اگر بله، شرط True می‌شود.
>=بررسی می‌کند آیا مقدار عملوند چپ بزرگ‌تر یا مساوی عملوند راست است؛ اگر بله، شرط True می‌شود.

عملگرهای حسابی SQL

عملگرتوضیح
<=بررسی می‌کند آیا مقدار عملوند چپ کوچک‌تر یا مساوی عملوند راست است؛ اگر بله، شرط True می‌شود.
!<بررسی می‌کند آیا مقدار عملوند چپ از عملوند راست کوچک‌تر نیست؛ اگر بله، شرط True می‌شود.
!>بررسی می‌کند آیا مقدار عملوند چپ از عملوند راست بزرگ‌تر نیست؛ اگر بله، شرط True می‌شود.

عملگرهای منطقی SQL

عملگرتوضیح
Allیک مقدار را با همهٔ مقادیر یک مجموعهٔ مقدار دیگر مقایسه می‌کند.
ANDامکان وجود چند شرط در یک دستور SQL را فراهم می‌کند.
ANYمقادیر موجود در فهرست را بر اساس شرط مقایسه می‌کند.
Betweenبرای جست‌وجوی مقادیری استفاده می‌شود که درون یک مجموعهٔ مقدار قرار دارند.
INیک مقدار را با مقدار مشخص‌شده در فهرست مقایسه می‌کند.
NOTمعنای هر عملگر منطقی را معکوس می‌کند.
ORچند شرط را در دستورات SQL ترکیب می‌کند.
EXISTبرای جست‌وجوی وجود یک ردیف در جدول مشخص‌شده استفاده می‌شود.
LIKEیک مقدار را با مقادیر مشابه با استفاده از عملگر Wildcard مقایسه می‌کند.

Example

SQL> CREATE TABLE EMPLOYEE (
EMP_ID INT              NOT NULL,
EMP_NAME VARCHAR (25) NOT NULL,
PHONE_NO INT              NOT NULL,
ADDRESS CHAR (30),
PRIMARY KEY (ID)
);

DESC EMPLOYEE;
DELETE FROM table_name WHERE condition
DROP TABLE "table_name";
SELECT * FROM table_name;
INSERT INTO TABLE_NAME VALUES (value1, value2, value 3, .... Value N);
INSERT INTO TABLE_NAME[(col1, col2, col3,.... col N)] VALUES (value1, value2, valu
e 3, .... Value N);
UPDATE table_name SET column_name = value WHERE condition;

Example

UPDATE table_name SET column_name = value1, column_name2 = value
WHERE condition;
DELETE FROM table_name WHERE some_condition;

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500