目录
一、基础数据插入
🎊基本语法
🎄示例
二、使用 SET 进行数据插入
🚗基本语法
🎢 示例
三、插入查询结果
🥓基本语法
🥞示例
四、插入并获取自增ID
🚍示例(MySQL)
五、批量插入
👜基本语法
🍳示例
六、插入默认值
🧤基本语法
👚示例
七、结论
在数据库管理中,数据插入是一项基础而关键的操作,它允许我们向数据库表中添加新的记录。本文将全面介绍🎗各种数据插入操作的SQL语法🧣,并提供详细的代码示例。
一、基础数据插入
🎊基本语法
数据插入的基本SQL语法如下:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
🎄示例
-- 插入单个记录
INSERT INTO employees (first_name, last_name, age, department)
VALUES ('John', 'Doe', 30, 'Finance');
-- 插入多条记录
INSERT INTO employees (first_name, last_name, age, department)
VALUES
('Jane', 'Smith', 25, 'IT'),
('Emily', 'Jones', 28, 'HR');
二、使用 SET
进行数据插入
🚗基本语法
使用 SET
子句可以更加灵活地指定列值:
INSERT INTO table_name SET column1 = value1, column2 = value2, ...;
🎢 示例
-- 使用SET子句插入单个记录
INSERT INTO employees SET first_name = 'Alice', last_name = 'Johnson', age = 35, department = 'Marketing';
三、插入查询结果
🥓基本语法
通过 INSERT ... SELECT
语句,可以将查询结果直接插入到另一个表中:
INSERT INTO table_name (column1, column2, ...)
SELECT column1, column2, ...
FROM another_table
WHERE condition;
🥞示例
-- 将临时表的数据插入到正式员工表
INSERT INTO employees (first_name, last_name, age, department)
SELECT first_name, last_name, age, department
FROM temp_employees
WHERE status = 'active';
四、插入并获取自增ID
🚍示例(MySQL)
在MySQL中,可以使用 LAST_INSERT_ID()
来获取最近一次插入操作的自增ID:
-- 插入记录并获取自增ID
INSERT INTO employees (first_name, last_name, age, department)
VALUES ('Bob', 'Brown', 40, 'Sales');
-- 获取自增ID
SELECT LAST_INSERT_ID();
五、批量插入
👜基本语法
批量插入允许你一次性插入多条记录:
INSERT INTO table_name (column1, column2, ...)
VALUES
(value1a, value2a, ...),
(value1b, value2b, ...),
...;
🍳示例
-- 批量插入多条记录
INSERT INTO employees (first_name, last_name, age, department)
VALUES
('Charlie', 'Black', 22, 'Customer Service'),
('David', 'White', 45, 'Management');
六、插入默认值
🧤基本语法
如果表中有列设置了默认值,你可以省略这些列的值:
INSERT INTO table_name (column1, column2)
VALUES (value1, value2);
👚示例
假设 department
列有一个默认值 'General'
:
-- 插入记录,使用默认的department值
INSERT INTO employees (first_name, last_name, age)
VALUES ('Eve', 'Green', 29);
七、结论
数据插入是数据库操作的基础。掌握不同的插入语法对于开发高效、可靠的数据库应用程序至关重要。本文提供了全面的SQL数据插入语法和示例,帮助你更好地理解和应用这些概念。如果你有任何问题或需要进一步的帮助,请随时在评论区提出。