MySQL:数据操作-插入

在 MySQL 中,数据插入是向数据库表中添加新记录的基本操作。通常使用 `INSERT INTO` 语句来实现。了解如何正确执行数据插入是数据库操作的重要组成部分,以下是一些关键点和示例。

一、数据插入的基本语法

有几种常见的 `INSERT` 语句形式:

1. 基本插入

你可以插入所有字段的值,也可以指定特定字段。

语法:

        INSERT INTO table_name (column1, column2, column3, ...)
        VALUES (value1, value2, value3, ...);

示例:

insert into
    tb_employees(employee_id, name, email, phone, Joining_data, position, department, saylary, status)
values
    (1,'孙权','516265577@qq.com','18777890600',NOW(),'员工','开发部',20000,'激活');

2. 插入多条记录

你可以在一个 `INSERT` 语句中插入多条记录。

语法:

        INSERT INTO table_name (column1, column2)
        VALUES (value1a, value2a), (value1b, value2b), (value1c, value2c);

示例:

insert into
    tb_employees(employee_id, name, email, phone, Joining_data, position, department, saylary, status)
values
    (2, '刘备', '516265578@qq.com', '18777890601', now(), '员工', '测试部', 15000, '激活'),
    (3, '小乔', '516265579@qq.com', '18777890602', now(), '员工', '测试部', 17000, '激活'),
    (4, '大乔', '516265580@qq.com', '18777890603', now(), '主管', '市场部', 30000, '激活');

3. 插入默认值

如果某些字段在表中有默认值,则可以在插入时省略这些字段。

示例:
        假设 `status` 字段有默认值为 `激活`:

insert into
    tb_employees(employee_id, name, email, phone,Joining_data, position, department, saylary)
values
    (5, '张飞', '516265581@qq.com', '18777890604', now(), '员工', '市场部', 20000);

二、 特殊插入情况

1. 使用 SELECT 插入

可以从一个表选择数据并直接插入到另一个表中。

示例:

insert into
    new_employees(employee_id, name, email, phone, Joining_data, position, department, saylary, status)
select
    employee_id,
    name,
    email,
    phone,
    Joining_data,
    position,
    department,
    saylary,
    status
from
    tb_employees
where
    tb_employees.Joining_data > '2023-12-1';

2. 处理重复记录

   如果你希望在插入数据时避免违反唯一约束,可以使用 `INSERT IGNORE` 或 `INSERT ... ON DUPLICATE KEY UPDATE`:

        INSERT IGNORE`:如果插入的行违反 UNIQUE 约束,则忽略该行,不会抛出错误。
        `INSERT ... ON DUPLICATE KEY UPDATE`:如果插入的行违反 UNIQUE 约束,则更新已有记录。

示例:

insert into
    tb_employees(employee_id, name, email, phone, Joining_data, position, department, saylary, status)
values
    (6, '黄盖', '516265582@qq.com', '18777890605', now(), '经理', '开发部', 50000, '激活')
on duplicate key update phone='00000000000';

三、重要注意事项

        数据类型匹配:确保插入的值与表定义中的数据类型匹配。例如,日期类型的列必须插入有效的日期格式,数值列不能插入字符串。

        使用参数化查询:在应用程序中插入数据时,建议使用参数化查询,以防止 SQL 注入攻击。

        错误处理:在执行插入操作时,良好的错误处理机制能够确保数据的完整性和一致性。

四、总结

数据插入是 MySQL 中的基本操作,理解如何使用 `INSERT` 语句及其变体十分重要。有效地使用这些语句可以帮助开发人员和数据库管理员控制数据的流入,保持数据库的健康。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

00&00

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

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

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

打赏作者

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

抵扣说明:

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

余额充值