SQL插入数据
在日常工作中,我们经常会对已经建好的表进行插入数据操作,或者复制整张表的数据,当执行这些操作时我们将用到以下语句:
- 目标表存在且插入全部列上(注意目标表列对于要插入的值的顺序):
insert into table1 values (value1,value2,value3,...);
- 目标表存在且插入指定某列上:
insert into table1 (column_name1,column_name2,column_name3,...) values (value1,value2,value3,...);
- 目标表不存在,插入数据并生成一张新表(复制表):
select * into table_new from table1
select column_name1,column_name2,column_name3,...
into table_new
from table1
示例:
学生成绩表如下:
create table [dbo].[stud_grade](
[stud_id] [char](10) NOT NULL,
[name] [nvarchar](4) NOT NULL,
[course_id] [char](10) NULL,
[grade] [decimal](4, 1) NULL
)
1.向成绩表插入一条数据,学号:0401050128,姓名:张三,课程编号:0401010106,成绩:90分:
insert into [student].[dbo].[stud_grade] values ('0401050128','张三','0401010106','90')
insert into [student].[dbo].[stud_grade](stud_id,name,course_id,grade)
values ('0401050128','张三','0401010106','90')
执行查询数据如下
select * from [student].[dbo].[stud_grade]
2.向成绩表插入成绩表副本(stud_grade2)所有的数据:
insert into [student].[dbo].[stud_grade]
select
stud_id
,name
,course_id
,grade
from [student].[dbo].[stud_grade2]
insert into [student].[dbo].[stud_grade](stud_id,name,course_id,grade)
select
stud_id
,name
,course_id
,grade
from [student].[dbo].[stud_grade2]
执行查询数据如下
select * from [student].[dbo].[stud_grade]
3.将成绩表的数据插入一份新表(stud_grade_all),数据库无stud_grade_all表
select stud_id
,name
,course_id
,grade
into stud_grade_all
from [dbo].[stud_grade]
执行查询数据如下
select * from [student].[dbo].[stud_grade_all]
end
有兴趣的小伙伴可以关注“SQL数据库笔记”公众号,一起学习吧!
|