数据库操作是应用程序和数据库交互的核心动作,不同类型的操作对应着不同的业务需求和数据库能力,按照功能划分可以分为多个类别,每一类都有明确的适用场景。

基础数据操作 CRUD
CRUD 是数据库操作中最基础也最常用的类型,分别对应创建、查询、更新、删除四类操作,是绝大多数业务场景的核心数据交互逻辑。
Create 创建操作
用于向表中插入新的数据记录,常用的 SQL 语句是 INSERT,不同数据库的语法略有差异,以 MySQL 为例:
-- 插入单条用户数据
INSERT INTO user (name, age, email) VALUES ('张三', 25, 'zhangsan@ipipp.com');
-- 插入多条数据
INSERT INTO user (name, age, email) VALUES
('李四', 28, 'lisi@ipipp.com'),
('王五', 30, 'wangwu@ipipp.com');
Retrieve 查询操作
用于从表中获取符合条件的数据,核心语句是 SELECT,支持条件过滤、排序、分组、连表等多种能力:
-- 查询所有年龄大于25的用户 SELECT id, name, age FROM user WHERE age > 25; -- 按年龄降序查询前10条用户数据 SELECT * FROM user ORDER BY age DESC LIMIT 10;
Update 更新操作
用于修改表中已有的数据记录,核心语句是 UPDATE,操作时必须注意添加 WHERE 条件,避免误更新全表数据:
-- 将张三的年龄更新为26 UPDATE user SET age = 26 WHERE name = '张三'; -- 批量更新所有用户的邮箱域名 UPDATE user SET email = REPLACE(email, 'olddomain.com', 'ipipp.com');
Delete 删除操作
用于删除表中符合条件的数据记录,核心语句是 DELETE,同样需要添加 WHERE 条件,避免误删全表数据:
-- 删除年龄小于18的用户记录 DELETE FROM user WHERE age < 18;
数据定义操作 DDL
DDL 即数据定义语言,用于定义和修改数据库、表、索引等结构对象,不会直接操作数据内容,常用的操作包括创建、修改、删除结构。
数据库相关操作
用于创建、删除、切换数据库:
-- 创建名为test_db的数据库 CREATE DATABASE test_db; -- 删除test_db数据库 DROP DATABASE test_db; -- 切换到test_db数据库 USE test_db;
表结构相关操作
用于创建、修改、删除数据表:
-- 创建用户表
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT DEFAULT 0,
email VARCHAR(100)
);
-- 给用户表添加手机号字段
ALTER TABLE user ADD COLUMN phone VARCHAR(20);
-- 删除用户表
DROP TABLE user;
索引相关操作
用于创建、删除索引,提升查询效率:
-- 给user表的name字段创建普通索引 CREATE INDEX idx_user_name ON user(name); -- 删除索引 DROP INDEX idx_user_name ON user;
数据控制操作 DCL
DCL 即数据控制语言,用于管理数据库的权限和用户,控制不同用户对不同数据库对象的操作权限,保障数据安全。
用户管理操作
-- 创建新用户,密码为123456 CREATE USER 'test_user'@'localhost' IDENTIFIED BY '123456'; -- 删除用户 DROP USER 'test_user'@'localhost';
权限管理操作
-- 给test_user用户授予test_db数据库所有表的查询权限 GRANT SELECT ON test_db.* TO 'test_user'@'localhost'; -- 回收test_user用户的删除权限 REVOKE DELETE ON test_db.* FROM 'test_user'@'localhost'; -- 刷新权限使配置生效 FLUSH PRIVILEGES;
事务控制操作 TCL
TCL 即事务控制语言,用于管理数据库事务,保证一组操作要么全部成功要么全部失败,常用于需要数据一致性的场景,比如转账、订单创建等。
事务的核心特性是 ACID,即原子性、一致性、隔离性、持久性,常用的操作语句如下:
-- 开启事务 START TRANSACTION; -- 执行一组操作:从A账户扣100,给B账户加100 UPDATE account SET balance = balance - 100 WHERE user_id = 1; UPDATE account SET balance = balance + 100 WHERE user_id = 2; -- 如果操作都成功,提交事务 COMMIT; -- 如果中间出现异常,回滚事务,所有操作失效 ROLLBACK;
其他常见操作类型
除了上述几类核心操作外,还有一些其他常用操作:
- 数据查询扩展操作:包括连表查询(JOIN)、子查询、聚合查询(GROUP BY、SUM、COUNT等),用于处理复杂的数据查询需求。
- 数据导入导出操作:比如 MySQL 的 LOAD DATA 导入数据,mysqldump 导出数据,用于数据迁移和备份恢复。
- 存储过程和函数操作:用于创建可复用的数据库端逻辑,减少应用和数据库的交互次数,提升性能。
不同数据库的具体操作语法会存在差异,比如 MySQL、PostgreSQL、Oracle 的部分语句规则不同,实际使用时需要参考对应数据库的官方文档。开发者需要根据业务场景选择合适的操作类型,同时遵循操作规范,比如更新和删除操作必须确认 WHERE 条件,事务操作要控制范围避免长事务,保障数据库的稳定和数据安全。