首页 > 数据库 >SQL INSERT批量插入方式

SQL INSERT批量插入方式

时间:2024-07-03 13:30:41浏览次数:19  
标签:INSERT ... INTO 插入方式 SQL 字段 表名 select

1、常规INSERT写法

INSERT INTO ... VALUES (...);

INSERT INTO 表名( `字段1`, `字段2`) VALUES ('字段1的值', '字段2的值');

2、SELECT语句返回值INSERT

INSERT INTO ...VALUES (..., (select ...));

INSERT INTO 表名1(`字段1`, `字段2`)
VALUES (字段1的值, (select 查询字段 from 表名2 where 条件));

也可以变化为查询多个字段,再新增数据

INSERT INTO ...VALUES (select ...);

INSERT IGNORE INTO `表名1` (
`字段1`,
`字段2`
)
SELECT
`字段3` AS 字段1,
'字段4' AS 字段2
FROM `表名2` WHERE 条件
注意:查询出来必须只有一个行

3、批量多行INSERT

INSERT INTO ... VALUES (...), (...),(...);

INSERT INTO 表名(字段1, 字段2)
VALUES (字段1数据, 字段2数据),
(字段1数据, 字段2数据),
(字段1数据, 字段2数据);

或者多行查询后新增

INSERT INTO ... VALUES (...,select...), (...,select...),(...,select...);
INSERT INTO 表名1(`字段1`, `字段2`)
VALUES
(字段1的值, (select 查询字段 from 表名2 where 条件)),
(字段1的值, (select 查询字段 from 表名3 where 条件)),
(字段1的值, (select 查询字段 from 表名4 where 条件));

或者使用union all:

INSERT INTO ...
(SELECT ...,(select ...) ) union all
(SELECT ...,(select ...) ) union all
(SELECT ...,(select ...) );
INSERT INTO 表名1 (`字段1`, `字段2`)
(SELECT 字段1的值,(select 查询字段 from 表名2 where 条件) FROM 表名3 WHERE 条件) union all
(SELECT 字段1的值,(select 查询字段 from 表名2 where 条件) FROM 表名3 WHERE 条件) union all
(SELECT 字段1的值,(select 查询字段 from 表名3 where 条件) FROM 表名4 WHERE 条件);

标签:INSERT,...,INTO,插入方式,SQL,字段,表名,select
From: https://www.cnblogs.com/Rui6/p/18281433

相关文章

  • 使用EF 连接 数据库 SQLserver、MySql 实现 CodeFirst
    1.新建项目,下载Nuget安装包创建项目需要注意几点,如果是基于.netframework的项目需要选择相应版本的EF,如果是跨平台则选择EFCore版本。我这里选择的是.netframework版本。红框里面是实现EFCodeFirst需要的包。对应的版本:EntityFramework6.3.0MySql.Data6.8......
  • SQLServer设置端口
    要在SQLServer中设置或更改端口号,可以通过SQLServer配置管理器进行配置。以下是具体步骤:打开SQLServer配置管理器:在Windows上,按Win+R打开“运行”对话框,输入SQLServerManager<version>.msc,例如SQLServerManager13.msc(适用于SQLServer2016)或SQLServe......
  • 瑞友天翼应用虚拟化系统SQL注入漏洞
    最近网上公开了一些瑞友天翼应用虚拟化系统的SQL注入漏洞,经过挖掘发现,还存在一些后台SQL注入漏洞。重点关注传入参数可控并且拼接到SQL语句中的代码。​getappicon​首先检测了登录状态,然后将通过GET获取到的参数id直接拼接到SQL语句中。GET/hmrao.php?s=/Admi......
  • 【postgresql】表操作
    创建表(CREATETABLE):CREATETABLEtable_name(column1data_typeconstraint,column2data_typeconstraint,...);插入数据(INSERTINTO):INSERTINTOtable_name(column1,column2,...)VALUES(value1,value2,...);查询数据(SELECT):SELECTcol......
  • Sql Server日常运维!
    内容来源于网络,如有侵权,请联系我删除。一、基础命令查看当前数据库的版本SELECT@@VERSION;查看服务器部分特殊信息selectSERVERPROPERTY(N'edition')asEdition--数据版本,如企业版、开发版等,SERVERPROPERTY(N'collation')asCollation--数据库字符集......
  • ORM - SqlSugar
    //SqlSugarHelper.DemoDbContext.GenerateModels();varlist=SqlSugarHelper.DemoDbContext.Query<ORMClsLib.dbo.DemoEntity>();varitem=newORMClsLib.dbo.DemoEntity(){operatorName="test",};SqlSugarHelper.DemoDbContext.InsertOrUpdat......
  • sql
    动态列宽整体修改selectt.strtitle,t.intwidthfrombaselistcolumntwheret.lngmenuid=600038forupdate;updatebaselistcolumntsett.intwidth=100wheret.strtitle='状态';改变字段的sqlupdatesysmenutsett.strurl='cashier-payments',t.strmen......
  • 面试:10亿数据如何最快速插入MySQL?
    转载:https://mp.weixin.qq.com/s/kL1srP3FZjaTSXLULsUS5g 最快的速度把10亿条数据导入到数据库,首先需要和面试官明确一下,10亿条数据什么形式存在哪里,每条数据多大,是否有序导入,是否不能重复,数据库是否是MySQL?假设和面试官明确后,有如下约束10亿条数据,每条数据1Kb数据内容......
  • MySQL存储安全(TDE加密、自动备份)
    MySQL存储安全设置透明数据加密TDE、自动备份数据等。 一、mysql启用tde透明加密 MySQL数据库存储加密有多种方式可供选择,主要分为两大类: 利用字段加密,在对数据库存储/读取时进行加密/解密操作,需要用户修改应用程序利用TDE透明加密客户端,实现数据库实例文件存储加密,用......
  • MyBatis2(MyBatis基础配置 动态代理 映射器 select 元素 insert 元素 update 元素和del
    目录一、MyBatis基础配置1.MyBatis配置文件2.<configuration>元素3.<enviroments>元素4.<properties>元素5.<typeAliases>元素6.<mappers>元素二、动态代理三、映射器1.映射器与接口2. 映射器的引入 3.映射器的组成 四、select元素参数传递多......