sql下三种批量插入数据的方法

下面我将详细讲解 SQL 中三种批量插入数据的方法:

一、INSERT INTO SELECT

使用 INSERT INTO SELECT 的方法可以把一个表中已有的数据批量插入到另一个表中。具体步骤如下:

  1. 确定目标表和原始表
  2. 使用 SELECT 语句获取需要插入的数据
  3. 将获取到的数据插入到目标表中

示例:

我们需要将一个从另一个表中获取到的学生信息批量插入到另一个表中。

  1. 确定目标表和原始表:

目标表:student_info
原始表:student

  1. 使用 SELECT 语句获取需要插入的数据:
SELECT 
    student_name,
    student_age,
    student_gender
FROM 
    student;
  1. 将获取到的数据插入到目标表中:
INSERT INTO 
    student_info(student_name, student_age, student_gender)
SELECT 
    student_name,
    student_age,
    student_gender
FROM 
    student;

二、INSERT INTO VALUES

使用 INSERT INTO VALUES 的方法可以一次性插入多行数据,具体步骤如下:

  1. 确定表名和要插入的列名
  2. 编写 VALUES 子句,并按照列的顺序指定值
  3. 执行 SQL 语句

示例:

我们需要将多个学生的信息插入到 student_info 表中。

  1. 确定表名和要插入的列名:

表名:student_info
列名:student_name, student_age, student_gender

  1. 编写 VALUES 子句,并按照列的顺序指定值:
INSERT INTO 
    student_info(student_name, student_age, student_gender)
VALUES 
    ('张三', 20, '男'),
    ('李四', 22, '男'),
    ('王五', 21, '女');
  1. 执行 SQL 语句

三、INSERT INTO SET

使用 INSERT INTO SET 的方法可以一次性插入多行数据,并且可以指定列的值。具体步骤如下:

  1. 确定表名
  2. 使用 SET 子句指定列的值
  3. 执行 SQL 语句

示例:

我们需要将多个学生的信息插入到 student_info 表中,并且其中一名学生的年龄有误,需要进行修改。

  1. 确定表名:

表名:student_info

  1. 使用 SET 子句指定列的值:
INSERT INTO 
    student_info(student_name, student_age, student_gender)
VALUES 
    ('张三', 20, '男'),
    ('李四', 22, '男'),
    ('王五', 21, '女'),
    ('赵六', 18, '女'),
    ('钱七', 23, '男'),
    ('孙八', 19, '女')
ON DUPLICATE KEY UPDATE 
    student_age = VALUES(student_age);

在以上示例中,使用 ON DUPLICATE KEY UPDATE 来指定当插入的数据已经存在时执行更新操作。这里我们只对 student_age 进行更新。

最后执行 SQL 语句即可完成批量插入数据的操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:sql下三种批量插入数据的方法 - Python技术站

(5)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • 解决Navicat导入数据库数据结构sql报错datetime(0)的问题

    下面是详细的“解决Navicat导入数据库数据结构sql报错datetime(0)的问题”的攻略: 问题描述 在使用Navicat导入数据库数据结构sql文件时,有时会出现datetime(0)的报错,报错的详细信息类似如下: ERROR 1064 (42000) at line 153: You have an error in your SQL synt…

    database 2023年5月19日
    00
  • MySQL最左匹配原则详细分析

    MySQL最左匹配原则详细分析 在MySQL中,使用LIKE关键字进行模糊匹配时,采用最左匹配原则。这个原则的意思是,当一个匹配字符串被用来匹配另一个字符串时,从左往右逐个字符地匹配,直到出现不匹配的字符为止。以下是详细分析。 如何使用 在MySQL中,使用LIKE关键字时,可以用百分号(%)表示匹配任意数量的任意字符,用下划线(_)表示匹配单个任意字符。例…

    database 2023年5月22日
    00
  • CentOS7 安装 PostgreSQL11的方法步骤

    首先,参考官方文档,我们可以从PostgreSQL官方源中获得适用于CentOS 7的最新版本的PostgreSQL软件包。以下是在CentOS 7上安装PostgreSQL 11所需的步骤: 步骤1:安装PostgreSQL 11软件仓库 首先我们需要安装相应的仓库来安装PostgreSQL 11。在终端中运行以下命令: yum install -y ht…

    database 2023年5月22日
    00
  • redis实现加锁的几种方法示例详解

    1. redis加锁分类 redis能用的的加锁命令分表是INCR、SETNX、SET 2. 第一种锁命令INCR 这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说明这个锁正在被使用当中。     1、 客户端A请求服务器获…

    Redis 2023年4月13日
    00
  • 精炼mysql的数据,并且存放到redis中。

    # -*- coding:utf8 -*- ”’ Created on 2016年11月29日 @author: qiancheng ”’ import MySQLdb from email.mime.text import MIMEText from email.header import Header import smtplib import re…

    Redis 2023年4月11日
    00
  • 用一条mysql语句插入多条数据

    要使用一条MySQL语句一次性插入多条数据,可以使用INSERT INTO语句结合VALUES子句和多个数据值的列表,或者使用SELECT语句将多个数据行插入到表中。以下是两种不同的方法。 方法1:使用VALUES子句插入多个数据值 此方法将所有要插入的数据值列表放在一个VALUES子句中,如下所示: INSERT INTO table_name (colu…

    database 2023年5月22日
    00
  • Linux的使用

    Linux的使用攻略 简介 Linux是一种自由、开放源代码的类Unix操作系统,最初由芬兰的Linus Torvalds编写,后来得到了全球GNU开发者的支持和参与。Linux是在POSIX和UNIX标准化的基础上开发的,其主要特点包括多用户、多任务、支持多个处理器、支持虚拟内存、支持分时和实时调度等功能。 Linux被广泛用于服务器领域、超级计算机、嵌入…

    database 2023年5月22日
    00
  • SQL SERVER 数据库备份的三种策略及语句

    请看下面的详细讲解。 SQL SERVER 数据库备份的三种策略及语句 SQL SERVER 数据库备份是一项重要的维护任务,可以帮助我们在数据库受到恶意攻击、硬件故障等情况下快速恢复数据。我们可以采用以下三种备份策略: 1. 完整备份 完整备份是指备份整个数据库的策略,它可以备份数据库中所有的数据和日志文件,并将它们保存在备份文件中。当你需要恢复数据库时,…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部