ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【Oracle11g SQL详解】INSERT INTO 的用法及插入数据注意事项 [打印本页]

作者: 大号在练葵花宝典    时间: 2025-1-26 01:10
标题: 【Oracle11g SQL详解】INSERT INTO 的用法及插入数据注意事项
INSERT INTO 的用法及插入数据注意事项

在 Oracle 11g 中,INSERT INTO 语句用于向表中插入数据,是数据写入操作中最常用的 SQL 语句之一。本文将详细介绍 INSERT INTO 的基本语法、常见场景、注意事项及常见错误处置惩罚。

一、INSERT INTO 的基本语法

INSERT INTO 支持两种基本用法:

1. 指定列插入

  1. INSERT INTO 表名 (列名1, 列名2, ...)
  2. VALUES (值1, 值2, ...);
复制代码
示例:向 employees 表插入一个新员工纪录
  1. INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
  2. VALUES (207, 'Tom', 'Hanks', TO_DATE('2024-11-26', 'YYYY-MM-DD'), 5500);
复制代码
说明:


2. 完备插入

  1. INSERT INTO 表名
  2. VALUES (值1, 值2, ...);
复制代码
示例:插入所有列数据
  1. INSERT INTO departments
  2. VALUES (280, 'HR', 101, 1700);
复制代码
注意:


二、INSERT INTO 的变体

1. 插入多行数据

Oracle 支持通过多次 INSERT 实现批量插入,但不支持单条语句直接插入多行。
示例:批量插入多个员工纪录
  1. INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
  2. VALUES (208, 'John', 'Doe', TO_DATE('2024-11-26', 'YYYY-MM-DD'), 6000);
  3. INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
  4. VALUES (209, 'Jane', 'Smith', TO_DATE('2024-11-26', 'YYYY-MM-DD'), 7200);
复制代码
优化方式: 使用 PL/SQL 块或外部数据工具(如 SQL*Loader)实现批量插入。

2. 从其他表插入数据

通过 INSERT INTO ... SELECT 的方式将查询效果插入目标表。
  1. INSERT INTO 表名 (列名1, 列名2, ...)
  2. SELECT 列名1, 列名2, ...
  3. FROM 另一个表
  4. [WHERE 条件];
复制代码
示例:将 temp_employees 表中员工数据复制到 employees 表
  1. INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
  2. SELECT employee_id, first_name, last_name, hire_date, salary
  3. FROM temp_employees
  4. WHERE hire_date >= TO_DATE('2024-01-01', 'YYYY-MM-DD');
复制代码
说明:


3. 使用子查询插入默认值

当必要插入某些列的默认值时,可以使用子查询。
示例:插入新部分并设置默认值
  1. INSERT INTO departments (department_id, department_name, manager_id, location_id)
  2. VALUES (290, 'Marketing', NULL, (SELECT location_id FROM locations WHERE city = 'New York'));
复制代码

三、INSERT INTO 的常见注意事项


四、常见错误及解决方法


五、实践案例


六、小结

INSERT INTO 是向表插入数据的核心 SQL 语句,实用于单行插入、批量插入以及基于查询的插入。正确使用 INSERT INTO 能有效地完成数据写入任务,而掌握其常见问题与优化方法则有助于避免错误并进步性能。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4