指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

数据库DDL和DML:

在 MySQL 中,DDL(Data Definition Language,数据定义语言)和 DML(Data Manipulation Language,数据操作语言)是两种不同类型的 SQL 语句,各自用于不同的操作:

1. DDL(数据定义语言)
  • 作用:用于定义或更改数据库对象的结构,比如数据库、表、索引等。
  • 主要特点:DDL 语句会影响数据库的结构,一般不涉及具体的数据。
  • 常用语句:
    • CREATE:创建数据库、表、视图、索引等。例如,CREATE TABLE users (id INT, name VARCHAR(50));。
    • ALTER:修改数据库对象的结构,例如修改表结构、增加/删除字段等。例如,ALTER TABLE users ADD age INT;。
    • DROP:删除数据库对象,例如删除表或数据库。例如,DROP TABLE users;。
    • TRUNCATE:清空表中所有数据,但保留表结构。例如,TRUNCATE TABLE users;。
  • 事务特性:DDL 操作一般是自动提交的,不能回滚。
2. DML(数据操作语言)
  • 作用:用于对数据库中的数据进行增删改查。
  • 主要特点:DML 语句直接操作数据,并不会改变数据库结构。
  • 常用语句:
    • SELECT:查询数据。例如,SELECT * FROM users;。
    • INSERT:插入数据。例如,INSERT INTO users (id, name) VALUES (1, 'Alice');。
    • UPDATE:更新数据。例如,UPDATE users SET name = 'Bob' WHERE id = 1;。
    • DELETE:删除数据。例如,DELETE FROM users WHERE id = 1;。
  • 事务特性:DML 操作通常在事务中使用,可以回滚。
区别总结
  • 作用不同:DDL 用于定义数据库结构,DML 用于操作数据。
  • 是否影响结构:DDL 改变表结构或数据库对象;DML 只改变数据内容。
  • 事务特性:DDL 语句一般自动提交,不支持回滚;DML 语句支持回滚和提交。