SQL命令


SQL命令是指令,它用於與資料庫通訊互動。 它還用於執行特定任務,功能和資料查詢。
SQL可以執行各種任務,如建立表,向表中新增資料,刪除表,修改表,為使用者設定許可權等。

SQL命令的型別,如下圖所示 :

1. 資料定義語言(DDL)

  • DDL更改表的結構,如建立表,刪除表,更改表等。
  • DDL的所有命令都是自動提交的,這意味著它會永久儲存資料庫中的所有更改。

以下是DDL下的一些命令:

  • CREATE
  • ALTER
  • DROP
  • TRUNCATE

CREATE: 用於在資料庫中建立新表。

語法:

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

範例

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

DROP: 用於刪除表中儲存的結構和記錄。

語法:

DROP TABLE ;

範例

DROP TABLE EMPLOYEE;

ALTER: 它用於改變資料庫的結構。此更改可以是修改現有屬性,也可以是新增新屬性。

語法:

向表中新增新列 -

ALTER TABLE table_name ADD column_name COLUMN-definition;

要修改表中的現有列:

ALTER TABLE MODIFY(COLUMN DEFINITION....);

範例

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

TRUNCATE: 用於刪除表中的所有行並釋放包含該表的空格。

語法:

TRUNCATE TABLE table_name;

範例:

TRUNCATE TABLE EMPLOYEE;

2.資料操作語言

DML命令用於修改資料庫,它負責資料庫中的所有形式的更改。
DML的命令不是自動提交的,這意味著它無法永久儲存資料庫中的所有更改。也可以回滾。

以下是DML下的一些命令:

  • INSERT
  • UPDATE
  • DELETE

INSERT: INSERT語句是SQL查詢,它用於將資料插入表的行。

語法:

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

或者,

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

範例 -

INSERT INTO tb_yiibai (Author, Subject) VALUES ("Maxsu", "DBMS");

UPDATE: 此命令用於更新或修改表中列的值。

語法:

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

範例

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

DELETE: 用於從表中刪除一行或多行。

語法:

DELETE FROM table_name [WHERE condition];

範例

DELETE FROM tb_yiibai  
WHERE Author="Maxsu";

3. 資料控制語言

DCL命令用於授予和恢復任何資料庫使用者的許可權。

以下是DCL下的一些命令:

  • Grant
  • Revoke

Grant: 用於授予使用者對資料庫的存取許可權。

範例

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Revoke: 它用於從使用者收回許可權。

範例

REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

4. 事務控制語言

TCL命令只能用於INSERTDELETEUPDATE等DML命令。
這些操作會自動在資料庫中提交,這就是建立表或刪除表時無法使用它們的原因。

以下是TCL下的一些命令:

  • COMMIT
  • ROLLBACK
  • SAVEPOINT

Commit: Commit命令用於將所有事務儲存到資料庫。

語法

COMMIT;

範例

DELETE FROM CUSTOMERS  
WHERE AGE = 25;  
COMMIT;

Rollback: 回滾命令用於撤消尚未儲存到資料庫的事務。

語法:

ROLLBACK;

範例

DELETE FROM CUSTOMERS  
WHERE AGE = 25;  
ROLLBACK;

SAVEPOINT: 用於將事務回滾到某個點而不回滾整個事務。

語法:

SAVEPOINT SAVEPOINT_NAME;

5. 資料查詢語言

DQL用於從資料庫中獲取資料。

它只使用一個命令:

  • SELECT

SELECT: 這與關係代數的投影操作相同。它用於根據WHERE子句描述的條件選擇屬性。

語法

SELECT expressions    
FROM TABLES    
WHERE conditions;

範例

SELECT emp_name  
FROM employee  
WHERE age > 20;