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_zaixian (Author, Subject) VALUES ("Maxsu", "DBMS");

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

語法:

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

示例

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

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

語法:

DELETE FROM table_name [WHERE condition];

示例

DELETE FROM tb_zaixian
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;

上一篇: SQL數據類型 下一篇: SQL運算符