数据库中如何执行所有基本操作,包括增删改查等完整流程?

更新于
2026-08-16 09:23:08
11阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

一、数据库操作概述

数据库是存储、管理和处理数据的主要工具。只是很多开发者在实际工作中会遇到以下痛点:

  • 语法记不清楚——INSERT、UPDATE、DELETE、SELECT 等语句的使用细节繁多。怎么说呢,
  • 事务管理混乱——不确定何时提交或回滚。导致数据不一致,
  • 性能调优困难——查询慢、索引失效却找不到根因。
  • 备份恢复不明确——缺乏程序化的备份策略,出现灾难时手足无措。

二、SQL 语言的四大类别

DML

DML 用于对表中的数据进行增删改查。常用语句包括的观点是,

数据库中如何执行所有基本操作,包括增删改查等完整流程?
  • INSERT向表中插入新记录。其实,
  • UPDATE修改已有记录。
  • DELETE删除满足条件的记录。话说回来,
  • SELECT查询并返回结果集。

DDL

DDL 用于定义和修改数据库结构:

  • CREATE DATABASE / TABLE / VIEW / INDEX …
  • ALTER TABLE … ADD/DROP COLUMN …
  • DROP DATABASE / TABLE / VIEW …

DQL

DQL 只关注数据检索,最常用的是 语句。可配合以下子句实现过滤、排序、分组和聚合:

  • DCL

    DCL 管理安全与权限:

    • : 授予使用者或角色权限。其实,`REVOKE`:撤销已授予的权限。
    • `COMMIT`/`ROLLBACK`:事务结束时提交或回滚。

    三、增删改查完整流程示例

    1. 创建数据库 & 表

    CREATE DATABASE IF NOT EXISTS shop;USE shop,其实,CREATE TABLE IF NOT EXISTS product (
    id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR NOT NULL。price DECIMAL NOT NULL,stock INT DEFAULT 0,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );其实,

    2. 插入数据

    INSERT INTO product
    VALUES,

    3. 查询数据

    至于常见需求演示。

    • 从查询全部列来看,
    • SELECT * FROM product;怎么说呢,
    • 条件过滤 + 排序:
    • SELECT id。name,price FROM product
      WHERE price> 6000
      ORDER BY price DESC;
    • 再看分页显示,
    • SELECT * FROM product LIMIT 10 OFFSET 20;
      
    • 聚合统计的观点是,
    • SELECT COUNT AS total_products。SUM AS total_stock,G AS avg_price
      FROM product;

    4. 更新数据

    再看痛点提示,**忘记加 WHERE 条件**会导致全表更新!务必先在事务中测试,老实说,

    START TRANSACTION;UPDATE product SET stock = stock - 1
    WHERE id = 1 AND stock> 0;-- 若检查到库存不足可执行 ROLLBACK;COMMIT,

    5. 删除数据

    一样要注意 WHERE 条件,否则会清空整表。

    DELETE FROM product WHERE id = 2;

    四、事务管理

    • `START TRANSACTION` 或 `BEGIN`:标记事务起点。按理说,
    • `COMMIT`:所有操作成功后提交。使修改永久生效,
    • `ROLLBACK`:: 任意一步失败则回滚,恢复到事务开始前的状态。
    • `SEPOINT` 与 `ROLLBACK TO SEPOINT`:: 在长事务中设立检查点,灵活回滚部分操作。

    痛点方法:在开发环境开启自动回滚模式,防止误提交导致的数据污染。说起来,

    五、表结构变更

    常见 ALTER 操作示例
    Add Column`ALTER TABLE product ADD COLUMN description TEXT;`
    Modify Column Type`ALTER TABLE product MODIFY price DECIMAL;`
    Drop Column`ALTER TABLE product DROP COLUMN description;`
    Add Index `CREATE INDEX idx_price ON product;` // 或 `ALTER TABLE product ADD INDEX idx_price;`

    六、权限管理与安全

    `GRANT` 示例:

    GRANT SELECT,INSERT ON shop.product TO 'app_user'@'%' IDENTIFIED BY 'StrongP@ss!',FLUSH PRIVILEGES;话说回来,

    >

    REVOKE INSERT ON shop.product FROM 'app_user'@'%';FLUSH PRIVILEGES;

    七、备份与恢复策略 

    1. 全库逻辑备份 

    • 使用 mysqldump 导出 SQL 脚本,可跨版本迁移。
    • 定期保存到离线介质或对象存储,以防硬盘故障。

    bash mysqldump -u root -p --single-transaction --routines --events shop \ | gzip> shop_$.sql.gz

    2. 增量物理备份 

    • 利用 InnoDB 的 redo log 与 binary log 实现 Point‑In‑Time 恢复。
    • 常配合 mysqlbackup,xtrabackup

    bash xtrabackup --backup --target-dir=/backup/shop_inc \ --user=root --password=...

标签:操作

一、数据库操作概述

数据库是存储、管理和处理数据的主要工具。只是很多开发者在实际工作中会遇到以下痛点:

  • 语法记不清楚——INSERT、UPDATE、DELETE、SELECT 等语句的使用细节繁多。怎么说呢,
  • 事务管理混乱——不确定何时提交或回滚。导致数据不一致,
  • 性能调优困难——查询慢、索引失效却找不到根因。
  • 备份恢复不明确——缺乏程序化的备份策略,出现灾难时手足无措。

二、SQL 语言的四大类别

DML

DML 用于对表中的数据进行增删改查。常用语句包括的观点是,

数据库中如何执行所有基本操作,包括增删改查等完整流程?
  • INSERT向表中插入新记录。其实,
  • UPDATE修改已有记录。
  • DELETE删除满足条件的记录。话说回来,
  • SELECT查询并返回结果集。

DDL

DDL 用于定义和修改数据库结构:

  • CREATE DATABASE / TABLE / VIEW / INDEX …
  • ALTER TABLE … ADD/DROP COLUMN …
  • DROP DATABASE / TABLE / VIEW …

DQL

DQL 只关注数据检索,最常用的是 语句。可配合以下子句实现过滤、排序、分组和聚合:

  • DCL

    DCL 管理安全与权限:

    • : 授予使用者或角色权限。其实,`REVOKE`:撤销已授予的权限。
    • `COMMIT`/`ROLLBACK`:事务结束时提交或回滚。

    三、增删改查完整流程示例

    1. 创建数据库 & 表

    CREATE DATABASE IF NOT EXISTS shop;USE shop,其实,CREATE TABLE IF NOT EXISTS product (
    id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR NOT NULL。price DECIMAL NOT NULL,stock INT DEFAULT 0,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );其实,

    2. 插入数据

    INSERT INTO product
    VALUES,

    3. 查询数据

    至于常见需求演示。

    • 从查询全部列来看,
    • SELECT * FROM product;怎么说呢,
    • 条件过滤 + 排序:
    • SELECT id。name,price FROM product
      WHERE price> 6000
      ORDER BY price DESC;
    • 再看分页显示,
    • SELECT * FROM product LIMIT 10 OFFSET 20;
      
    • 聚合统计的观点是,
    • SELECT COUNT AS total_products。SUM AS total_stock,G AS avg_price
      FROM product;

    4. 更新数据

    再看痛点提示,**忘记加 WHERE 条件**会导致全表更新!务必先在事务中测试,老实说,

    START TRANSACTION;UPDATE product SET stock = stock - 1
    WHERE id = 1 AND stock> 0;-- 若检查到库存不足可执行 ROLLBACK;COMMIT,

    5. 删除数据

    一样要注意 WHERE 条件,否则会清空整表。

    DELETE FROM product WHERE id = 2;

    四、事务管理

    • `START TRANSACTION` 或 `BEGIN`:标记事务起点。按理说,
    • `COMMIT`:所有操作成功后提交。使修改永久生效,
    • `ROLLBACK`:: 任意一步失败则回滚,恢复到事务开始前的状态。
    • `SEPOINT` 与 `ROLLBACK TO SEPOINT`:: 在长事务中设立检查点,灵活回滚部分操作。

    痛点方法:在开发环境开启自动回滚模式,防止误提交导致的数据污染。说起来,

    五、表结构变更

    常见 ALTER 操作示例
    Add Column`ALTER TABLE product ADD COLUMN description TEXT;`
    Modify Column Type`ALTER TABLE product MODIFY price DECIMAL;`
    Drop Column`ALTER TABLE product DROP COLUMN description;`
    Add Index `CREATE INDEX idx_price ON product;` // 或 `ALTER TABLE product ADD INDEX idx_price;`

    六、权限管理与安全

    `GRANT` 示例:

    GRANT SELECT,INSERT ON shop.product TO 'app_user'@'%' IDENTIFIED BY 'StrongP@ss!',FLUSH PRIVILEGES;话说回来,

    >

    REVOKE INSERT ON shop.product FROM 'app_user'@'%';FLUSH PRIVILEGES;

    七、备份与恢复策略 

    1. 全库逻辑备份 

    • 使用 mysqldump 导出 SQL 脚本,可跨版本迁移。
    • 定期保存到离线介质或对象存储,以防硬盘故障。

    bash mysqldump -u root -p --single-transaction --routines --events shop \ | gzip> shop_$.sql.gz

    2. 增量物理备份 

    • 利用 InnoDB 的 redo log 与 binary log 实现 Point‑In‑Time 恢复。
    • 常配合 mysqlbackup,xtrabackup

    bash xtrabackup --backup --target-dir=/backup/shop_inc \ --user=root --password=...

标签:操作