首頁 > 資料庫 > mysql教程 > 了解 SQL 中的 DDL、DML、DCL 和 TCL:主要差異解釋

了解 SQL 中的 DDL、DML、DCL 和 TCL:主要差異解釋

Linda Hamilton
發布: 2024-12-20 03:17:10
原創
399 人瀏覽過

Understanding DDL, DML, DCL, and TCL in SQL: Key Differences Explained

DDL、DML、DCL 和 TCL 之間的差異

SQL 指令依其功能分為幾類。以下是 DDLDMLDCLTCL 之間差異的解釋,並附有範例:


1. DDL(資料定義語言)

目的

DDL 指令用於定義和管理資料庫物件的結構,如表格、模式、索引和檢視。

主要特點

  • 專注於定義和修改資料庫架構。
  • 使用 DDL 指令所做的變更是永久性的並自動提交。

範例

  • CREATE:建立表格或資料庫物件。
  CREATE TABLE students (
      id INT PRIMARY KEY,
      name VARCHAR(100),
      age INT
  );
登入後複製
登入後複製
  • ALTER:修改現有表。
  ALTER TABLE students ADD COLUMN grade CHAR(1);
登入後複製
登入後複製
  • DROP:刪除資料庫物件。
  DROP TABLE students;
登入後複製
登入後複製
  • TRUNCATE:刪除表格中的所有記錄。
  TRUNCATE TABLE students;
登入後複製
登入後複製

要點

  • DDL 指令定義資料庫的結構,而不是其資料。
  • 自動提交更改(無法回滾)。

2. DML(資料操作語言)

目的

DML 指令用於操作資料庫表中儲存的數據,例如檢索、插入、更新或刪除資料。

主要特點

  • 專注於資料操作而不是資料庫的結構。
  • 更改不會自動提交;它們可以回滾。

範例

  • INSERT:新增記錄。
  INSERT INTO students (id, name, age, grade)
  VALUES (1, 'Alice', 20, 'A');
登入後複製
登入後複製
  • UPDATE:修改現有記錄。
  UPDATE students
  SET age = 21
  WHERE id = 1;
登入後複製
登入後複製
  • DELETE:刪除記錄。
  DELETE FROM students
  WHERE id = 1;
登入後複製

要點

  • DML 指令用於處理資料庫中的資料。
  • 更改需要使用 COMMIT 指令進行明確承諾。

3. DCL(資料控制語言)

目的

DCL命令用於控制對資料庫的訪問,確保只有授權使用者才能執行特定操作。

主要特點

  • 專注於安全性和使用者權限。
  • 授予或撤銷對資料庫物件的存取權限。

範例

  • GRANT:提供權限。
  CREATE TABLE students (
      id INT PRIMARY KEY,
      name VARCHAR(100),
      age INT
  );
登入後複製
登入後複製
  • REVOKE:刪除權限。
  ALTER TABLE students ADD COLUMN grade CHAR(1);
登入後複製
登入後複製

要點

  • DCL 指令對於維護資料庫安全至關重要。
  • 由資料庫管理員用來管理使用者存取。

4. TCL(事務控制語言)

目的

TCL 指令管理事務,確保資料變更一致處理,並可依需要提交或回滾。

主要特點

  • 專注於維護交易的完整性。
  • 在需要作為一個單元執行多個 DML 操作的場景中很有用。

範例

  • COMMIT:永久儲存變更。
  DROP TABLE students;
登入後複製
登入後複製
  • ROLLBACK:撤銷目前交易中所做的變更。
  TRUNCATE TABLE students;
登入後複製
登入後複製
  • SAVEPOINT:在交易中設定部分回滾的點。
  INSERT INTO students (id, name, age, grade)
  VALUES (1, 'Alice', 20, 'A');
登入後複製
登入後複製
  • SET TRANSACTION:定義交易的屬性。
  UPDATE students
  SET age = 21
  WHERE id = 1;
登入後複製
登入後複製

要點

  • TCL指令用於管理複雜操作期間的資料一致性。
  • 更改透過 COMMIT 完成或透過 ROLLBACK 復原。

比較表

Category Purpose Examples Changes Committed Focus
DDL Defines database structure CREATE, ALTER, DROP Auto-committed Database schema management
DML Manipulates data in the database INSERT, UPDATE, DELETE Not auto-committed Data within tables
DCL Controls access to the database GRANT, REVOKE Auto-committed User permissions and security
TCL Manages database transactions COMMIT, ROLLBACK, SAVEPOINT Requires explicit action Transaction consistency
類別 目的 範例 已提交更改 焦點 標題> DDL 定義資料庫結構 建立、更改、刪除 自動提交 資料庫架構管理 DML 操作資料庫中的資料 插入、更新、刪除 不自動提交 表中的資料 DCL 控制對資料庫的存取 授予、撤銷 自動提交 使用者權限和安全性 TCL 管理資料庫事務 提交、回滾、保存點 需要明確的操作 交易一致性 表>

結論

了解 DDL、DML、DCL 和 TCL 之間的差異對於高效的資料庫管理至關重要。每個類別都有特定的作用,確保資料庫的結構化、安全性和有效操作,同時保持資料完整性。

嗨,我是 Abhay Singh Kathayat!
我是一名全端開發人員,精通前端和後端技術。我使用各種程式語言和框架來建立高效、可擴展且用戶友好的應用程式。
請隨時透過我的商務電子郵件與我聯繫:kaashshorts28@gmail.com。

以上是了解 SQL 中的 DDL、DML、DCL 和 TCL:主要差異解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板