当前位置: 首页 > 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实现异步绑定组件属性和事件监听
  • 前端性能优化有哪些方法?
  • 打折网站运营思路/长春网站制作企业
  • 百度网站评价/旺道seo
  • 不用安装即可玩的游戏/seo黑帽教学网
  • 如何做游戏推广网站/友情链接是外链吗
  • 网页设计代码html文件怎么查/哈尔滨seo优化
  • 制作html网站/google广告投放