数据库DML:插入、更新、删除和查询

在这里插入图片描述

在数据库中,DML(Data Manipulation Language,数据操作语言)是用于对数据库中的数据进行操作的SQL语句集合。DML主要包括以下四种操作:

  1. INSERT:用于插入数据到表中。
  2. UPDATE:用于更新表中的数据。
  3. DELETE:用于删除表中的数据。
  4. SELECT:用于查询和检索数据。

1. 插入操作(INSERT)

插入操作的基本概念

INSERT 语句用于向数据库表中添加一条或多条新记录。可以插入完整的记录,也可以插入部分字段。

插入操作的语法

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
  • table_name:要插入数据的表名。
  • column1, column2, column3, ...:要插入的列名。
  • value1, value2, value3, ...:要插入的值。

插入操作实例

员工表 employees

  • employees 表
    • id:员工编号
    • name:员工姓名
    • department:部门
    • salary:工资

1. 插入完整记录

INSERT INTO employees (id, name, department, salary)
VALUES (1, '张三', '技术部', 8000);

2. 插入部分字段

INSERT INTO employees (name, department)
VALUES ('李四', '市场部');
  • 在插入部分字段时,未指定的字段(如 salary)将使用默认值或保持 NULL

3. 插入多条记录

INSERT INTO employees (id, name, department, salary)
VALUES 
(2, '王五', '财务部', 7000),
(3, '赵六', '人事部', 7500);

注意事项

  • 确保插入的值与列的数据类型相匹配。
  • 插入数据时要注意主键约束,避免重复键错误。

2. 更新操作(UPDATE)

更新操作的基本概念

UPDATE 语句用于修改表中的现有记录。可以更新一条记录,也可以更新多条记录。

更新操作的语法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • table_name:要更新数据的表名。
  • column1 = value1, column2 = value2, ...:要更新的列及其新值。
  • condition:用于指定更新哪些记录的条件。

更新操作实例

1. 更新单个字段

UPDATE employees
SET salary = 8500
WHERE name = '张三';

2. 更新多个字段

UPDATE employees
SET department = '销售部', salary = 9000
WHERE name = '李四';

3. 更新所有记录

UPDATE employees
SET salary = salary * 1.1;
  • 上述语句将所有员工的工资上调10%。

注意事项

  • 使用 WHERE 子句来限定更新范围,否则会更新所有记录。
  • 检查更新条件,避免不必要的误操作。

3. 删除操作(DELETE)

删除操作的基本概念

DELETE 语句用于删除表中的记录。可以删除单条记录,也可以删除多条记录。

删除操作的语法

DELETE FROM table_name
WHERE condition;
  • table_name:要删除数据的表名。
  • condition:用于指定删除哪些记录的条件。

删除操作实例

1. 删除单条记录

DELETE FROM employees
WHERE id = 3;

2. 删除多条记录

DELETE FROM employees
WHERE department = '市场部';

3. 删除所有记录

DELETE FROM employees;

注意事项

  • 使用 WHERE 子句来限定删除范围,避免误删除。
  • 执行删除操作前,建议备份数据。

4. 查询操作(SELECT)

查询操作的基本概念

SELECT 语句用于从数据库中检索数据。可以检索一条记录,也可以检索多条记录。

查询操作的语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • column1, column2, ...:要检索的列名。
  • table_name:要检索数据的表名。
  • condition:用于指定检索哪些记录的条件。

查询操作实例

1. 查询所有字段

SELECT * FROM employees;

2. 查询特定字段

SELECT name, salary FROM employees;

3. 使用条件查询

SELECT name, salary
FROM employees
WHERE department = '技术部';

4. 排序查询

SELECT name, salary
FROM employees
ORDER BY salary DESC;

5. 分组查询

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;
  • 上述语句按部门分组,并计算每个部门的平均工资。

DML操作的注意事项

  • 事务管理:使用事务来保证数据操作的完整性,尤其是在执行批量插入、更新或删除时。

    • 事务开始:BEGIN TRANSACTION;
    • 提交事务:COMMIT;
    • 回滚事务:ROLLBACK;
  • 安全性:确保DML操作遵循安全策略,避免未授权的数据操作。

  • 性能优化:在大量数据操作时,使用索引和批量处理来提高性能。

DML是数据库操作中最基本也是最重要的部分,涵盖了数据的插入、更新、删除和查询。通过理解和应用DML,可以有效地管理和操作数据库中的数据。在实际应用中,结合事务管理和性能优化技巧,可以实现高效和可靠的数据操作。

非常感谢您读到这里!如果您觉得这篇文章对您有帮助,可以关注一下博主。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。

让AI工具成为你的得力助手,感受AI工具的无限可能,让复杂的任务变得简单,让你的工作更加轻松和高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周同学的技术栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值