[SQL语句]INSERT做数据导入的几种简单用法

1. 插入单行数据

最基本的INSERT语句用于向表中插入单行数据。语法如下:

INSERT INTO 表名 (列1, 列2, 列3, ..., 列N)  
VALUES (值1, 值2, 值3, ..., 值N);

示例:

INSERT INTO station (  
areaId,
stationNo,
stationName, 
stationType,    
stationEquipment,        
locationCode,   
CreatedTime,  
ModifiedTime,     
Deleted  )  
VALUES
( 3,'1024','2号下料口',1,'PLC04', 'A2' GETDATE(),GETDATE(),0);  

2. 插入多行数据

一些数据库系统(如MySQL、PostgreSQL、SQLite等)支持在单个INSERT语句中插入多行数据,这可以通过在VALUES子句中指定多组值来实现,每组值之间用逗号分隔。

INSERT INTO 表名 (列1, 列2, 列3, ..., 列N)  
VALUES   
    (值1_1, 值1_2, 值1_3, ..., 值1_N),  
    (值2_1, 值2_2, 值2_3, ..., 值2_N),  
    ...  
    (值M_1, 值M_2, 值M_3, ..., 值M_N);

示例:

INSERT INTO station (  
areaId,
stationNo,
stationName, 
stationType,    
stationEquipment,        
locationCode,   
CreatedTime,  
ModifiedTime,     
Deleted )  
VALUES
( 3,'1022','2号下料口',1,'PLC04', 'A2' GETDATE(),GETDATE(),0),
( 3,'1023','3号下料口',1,'PLC05', 'A3' GETDATE(),GETDATE(),0),
( 3,'1024','4号下料口',1,'PLC06', 'A4' GETDATE(),GETDATE(),0),
( 3,'1025','5号下料口',1,'PLC07', 'A5' GETDATE(),GETDATE(),0);  

3. 插入查询结果

你可以通过INSERT INTO ... SELECT语句将查询结果直接插入到表中。这可以用于复制表中的数据、将多个表的数据合并到一个表中,或者基于现有数据生成新的记录。

INSERT INTO 目标表名 (列1, 列2, 列3, ..., 列N)  
SELECT 列A, 列B, 列C, ..., 列X  
FROM 源表名  
WHERE 条件;

 对查询语句的示例:

SELECT * FROM dbo.station WHERE areaId=3;

4. 插入默认值

如果你没有为所有列提供值,并且表中定义了默认值,那么INSERT语句会自动为那些未提供值的列插入默认值。此外,你可以使用DEFAULT关键字显式地为某个列指定默认值。

INSERT INTO 表名 (列1, 列2, 列3)  
VALUES (值1, DEFAULT, 值3);

示例:

INSERT INTO station (  
areaId,
stationNo,
stationName, 
stationType,    
stationEquipment,        
locationCode,   
CreatedTime,  
ModifiedTime,     
Deleted  )  
VALUES
( 3,'1022','2号下料口',1,'PLC04', 'A2' GETDATE(),GETDATE(),0),
( 3,'1023',DEFAULT,1,'PLC05', 'A3' GETDATE(),GETDATE(),0),
( 3,'1024','4号下料口',1,'PLC06', 'A4' GETDATE(),GETDATE(),0),
( 3,'1025',DEFAULT,1,'PLC07', 'A5' DEFAULT,DEFAULT,0);  

5. 对所有列都插入数据

如果你想对所有列的数据都进行插入,就不用逐个写出列名,使用表名后直接将插入的值在后边排列出来即可。

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

示例(假设station表就有如下9列,示例代码如下):

INSERT INTO station
VALUES
( 3,'1022','2号下料口',1,'PLC04', 'A2' GETDATE(),GETDATE(),0),
( 3,'1023',DEFAULT,1,'PLC05', 'A3' GETDATE(),GETDATE(),0),
( 3,'1024','4号下料口',1,'PLC06', 'A4' GETDATE(),GETDATE(),0),
( 3,'1025',DEFAULT,1,'PLC07', 'A5' DEFAULT,DEFAULT,0);  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值