当前位置: 首页 > news >正文

SQL语言分类及命令详解(一)

目录

1. DQL(Data Query Language)数据查询语言

主要命令:

SELECT

2. DDL(Data Definition Language)数据定义语言

主要命令:

CREATE

ALTER

DROP

TRUNCATE(清空表数据,保留结构)

RENAME(部分数据库支持)

3. DML(Data Manipulation Language)数据操纵语言

主要命令:

INSERT

UPDATE

DELETE

MERGE(合并数据,部分数据库支持)

4. DCL(Data Control Language)数据控制语言

主要命令:

GRANT

REVOKE

DENY(SQL Server 特有)

5. TCL(Transaction Control Language)事务控制语言

主要命令:

COMMIT

ROLLBACK

SAVEPOINT

SET TRANSACTION

注意事项:


DDL(Data Definition Language):数据定义语言

DML(Data Manipulation Language):数据操纵语言

DCL(Data Control Language):数据控制语言

DTL(Data Transaction Language):数据事务语言

TCL(Transaction Control Language):事务控制语言

1. DQL(Data Query Language)数据查询语言

 用于查询数据,不修改数据本身。

主要命令:

SELECT

--语法
SELECT column1, column2 FROM table_name WHERE condition;
--举例
SELECT * FROM employees WHERE salary > 5000;

2. DDL(Data Definition Language)数据定义语言

用于定义或修改数据库结构(表、索引、视图等)。

主要命令:

CREATE

CREATE TABLE table_name (column1 datatype, column2 datatype);
CREATE INDEX idx_name ON table_name(column);

ALTER

ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE employees ADD email VARCHAR(100);

DROP

DROP TABLE table_name;

TRUNCATE(清空表数据,保留结构)

TRUNCATE TABLE table_name;

RENAME(部分数据库支持)

RENAME TABLE old_name TO new_name;

3. DML(Data Manipulation Language)数据操纵语言

用于操作表中的数据(增删改)。

主要命令

INSERT

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

UPDATE

UPDATE table_name SET column1 = value1 WHERE condition;

DELETE

DELETE FROM table_name WHERE condition;

MERGE(合并数据,部分数据库支持)

MERGE INTO target_table USING source_table ON condition WHEN MATCHED THEN UPDATE...;

4. DCL(Data Control Language)数据控制语言

用于权限管理和访问控制。

主要命令

GRANT

GRANT SELECT, INSERT ON table_name TO user_name;

REVOKE

REVOKE DELETE ON table_name FROM user_name;

DENY(SQL Server 特有)

DENY SELECT ON table_name TO user_name;

5. TCL(Transaction Control Language)事务控制语言

用于管理数据库事务(DTL 通常等同于 TCL)。

主要命令

COMMIT

COMMIT; -- 提交当前事务

ROLLBACK

ROLLBACK; -- 回滚当前事务

SAVEPOINT

SAVEPOINT savepoint_name;
ROLLBACK TO savepoint_name;

SET TRANSACTION

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

注意事项:

  1. DTL 和 TCL 通常指同一组命令(事务控制),不同数据库术语可能略有差异。

  2. 部分命令(如 TRUNCATE)在有些数据库中归类为 DDL,因为它是直接操作表结构的。

  3. 数据库实现可能有差异(例如 MySQL 和 Oracle 的语法细节不同)。

    相关文章:

  • Java面试黄金宝典20
  • Java 实现将Word 转换成markdown
  • 便携版:随时随地,高效处理 PDF 文件
  • 数据驱动的教育革命:让学习更智能、更个性化
  • BNB Chain 何以打造 AI 驱动链上应用新世界?
  • 【数据仓库】湖仓一体的核心建模理论
  • 如何用 Postman 进行高效的 Mock 测试?
  • 【区块链 + 文化版权】基于 FISCO BCOS 的方言大数据语料库 | FISCO BCOS 应用案例
  • Spring的SPEL(Spring Expression Language)的使用说明,包含语法、示例和常见场景
  • Android kill 进程的三种方式
  • Redis 中的过期策略和内存淘汰策略
  • Android SystemUI深度定制实战:QSPanel下拉状态栏动态日期显示全解析
  • Rust从入门到精通之精通篇:24.高级异步编程
  • 虚拟机与Docker与K8s的比较
  • firewall-cmd添加访问规则
  • AI写一个视频转图片帧工具(python)
  • Postman 如何高效地转换时间戳?
  • HarmonyOS:解决UIAbility调用terminateSelf()后设置不保留最近任务列表中的快照
  • [异步监听事件、异步绑定属性]通过vue的this.$refs.组件.$props和.$on实现异步绑定组件属性和事件监听
  • 前端性能优化有哪些方法?
  • 全球最大汽车板供应商宝钢股份:汽车工业加速转型中材料商如何共舞?
  • 今年4月上海一二手房成交面积同比增21%,二手房成交2.07万套
  • 工业富联一季度净利增长25%,云计算业务营收增长超50%
  • 中方发布《不跪!》视频传递何种信息?外交部回应
  • 国家发改委下达今年第二批810亿超长期特别国债资金,支持消费品以旧换新
  • 释新闻|西葡大停电为何规模大、恢复慢?可再生能源是罪魁祸首?