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

本文介绍了如何使用SQL进行数据操作,包括向已有表中插入单行或多行数据、从一个表复制数据到另一个表等实用技巧,并提供了具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值