SQL insert into 插入的单行,多行的情况

1、在已有的表中,插入一行数据:

a、第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

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

insert into subject values ('语文')

b、第二种形式需要指定列名及被插入的值:

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

insert into subject(subject_name) values ('数学')

2、在已有的表中,一次性插入多行行数据:

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

用逗号隔开,括号括起来,加多少行数据就写多少个。要指定列名插入的,参考1.b 的做法。

insert into subject values ('数学'),('英语')

3、将表1 数据的某些列插入到表2 中去(其中表2是已经创建好,与表1 插入列的属性是一样的):

INSERT INTO  表2(column1,column2) SELECT  (column1,column2)FROM  表1

insert into newtable(StuName) select studentname from student

4、将表1 数据的某些列插入到表2 中去(其中表2 是不存在的,在插入的同时创建一个新表):

 SELECT  column1,column2    INTO  表2  FROM  表1
select studentname,StudentClass  into  newcreate from Student
创建表的源码贴在下面了,运行下面的代码创建以后,再运行上面的插入代码,可以更好地理解哦。
CREATE TABLE Student

(

    StudentNo int PRIMARY KEY IDENTITY(1,1),

    StudentName nvarchar(15) NOT NULL,

    StudentAge int DEFAULT ((7)),

    StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女'),

    StudentClass nvarchar(15)

)

 

CREATE TABLE Subject

(

    SubjectNo INT PRIMARY KEY IDENTITY(1,1),

    SubjectName NVARCHAR(15) NOT NULL

)

CREATE TABLE StuResults

(

    SR_No INT PRIMARY KEY IDENTITY(1,1),

    SR_StudentNo INT,

    SR_SubjectNo INT,

    SR_Score INT CHECK (SR_Score>=0 AND SR_Score<=120)

)

 

alter table StuResults

add constraint FK_StudentNo

foreign key (SR_StudentNo) references Student (StudentNo)

 

alter table StuResults

add constraint FK_Subject

foreign key (SR_SubjectNo) references Subject (SubjectNo)
go

IF EXISTS(SELECT * FROM sysobjects where name = 'newtable')
drop table newtable
else
create table newtable
( 
  StuNo int PRIMARY KEY IDENTITY(1,1),
  StuName nvarchar(15) NOT NULL
)
go
insert into可以用于向数据库表中插入多行数据。可以使用以下几种语法形式进行多行插入: 1. 使用逗号分隔的值列表: INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...), (value1, value2, value3, ...), (value1, value2, value3, ...); 这种方法可以一次性插入多行数据,每一行的值由逗号分隔。 2. 使用SELECT语句插入数据: INSERT INTO table_name (column1, column2, column3, ...) SELECT value1, value2, value3, ... FROM another_table WHERE condition; 这种方法可以从另一个表中选取满足条件的数据,并将其插入到目标表中。 3. 使用子查询插入数据: INSERT INTO table_name (column1, column2, column3, ...) SELECT value1, value2, value3, ... FROM another_table WHERE condition; 这种方法类似于上一种方法,只是使用了子查询来获取需要插入的数据。 总结起来,使用insert into可以方便地一次性插入多行数据,可以直接提供值列表,或者从其他表或子查询中获取数据插入到目标表中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SQL insert into 插入单行多行情况](https://blog.csdn.net/maymay_/article/details/80076110)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值