SQL Server 插入数据

本篇文章是看b站上数据库基础入门学习视频的笔记第二篇,指路:【SQL SERVER数据库_D丝学编程】 https://www.bilibili.com/video/BV1XV411C7TP/?share_source=copy_web&vd_source=312df205f0bcaec87ec6255f76082f05

目录

基本插入语法

批量插入多行数据

使用values插入多行数据

使用 select...union 插入多行数据

遇到的问题与解决方案

1. 为什么点击执行,会反复执行所有语句?

2. 为什么删除了表的数据,ID 没有重新从 1 开始?

完整练习代码


基本插入语法

insert into 表名(字段名(不包括主键))
values('值1','值2',...)

示例(向部门表插入一条数据):

insert into Department(DepartmentName,DepartmentRemark)
values('市场部','......')
insert into Department(DepartmentName,DepartmentRemark)
values('软件部','......')
insert into Department(DepartmentName,DepartmentRemark)
values('企划部','......')

批量插入多行数据

使用values插入多行数据

insert into Department(DepartmentName, DepartmentRemark)
values 
('市场部','......'),
('软件部','......'),
('企划部','......'),
('销售部','......'),
('测试部','......'),
('实施部','......'),
('产品部','......')

使用 select...union 插入多行数据

insert into 表名(字段名)
select‘数据’,'数据'union
select‘数据’,'数据'union
...
select‘数据’,'数据'

 举例:

insert into Department(DepartmentName,DepartmentRemark)
select'测试部','......'union 
select'实施部','......'union
select'产品部','......'

union:表示连接,最后一条不用加

遇到的问题与解决方案

1. 为什么点击执行,会反复执行所有语句?

原因:SQL Server 会执行编辑器中的所有代码,如果没有选中部分语句,点击“执行”按钮会把整段脚本跑一遍。

解决方法

  1. 只选中需要执行的语句再执行。

  2. 或者将已执行的语句注释掉,避免重复执行。

2. 为什么删除了表的数据,ID 没有重新从 1 开始?

比如这样,删除了第三条,但是再次执行,id从4开始,而不是从3开始

原因:使用了自增主键(IDENTITY),SQL Server 的自增值默认不会自动重置。即使删除了所有数据,下一条记录的 ID 还是接着上一次终止的编号。

总结:IDENTITY 是“计数器”,不是“序号牌”。删除数据不会让 ID 回退或补位,它只负责累计编号。

完整练习代码

use DBTSET
--向部门表插入数据
--insert into 表名(字段名(不包括主键))
--values(数据)

insert into Department(DepartmentName,DepartmentRemark)
values('市场部','......')
insert into Department(DepartmentName,DepartmentRemark)
values('软件部','......')
insert into Department(DepartmentName,DepartmentRemark)
values('企划部','......')

--简写:不写字段,不推荐使用
insert into Department values('销售部','......')

--一次插入多行数据
--insert into 表明(字段名)
--select‘数据’,'数据'union
--select‘数据’,'数据'union
--...
--select‘数据’,'数据'

insert into Department(DepartmentName,DepartmentRemark)
select'测试部','......'union --union:表示连接,最后一条不用加
select'实施部','......'union
select'产品部','......'


--向职级表插入数据
insert into [Rank](RankName,RankRemark)
values('初级','......')
insert into [Rank](RankName,RankRemark)
values('中级','......')
insert into [Rank](RankName,RankRemark)
values('高级','......')

--向职员表插入数据
insert into People(DepartmentId,RankId,PeopleName,PeopleSex,PeopleBirth,PeopleSalary,PeoplePhone,PeopleAddress,PeopleAddTime)
values('12','2','小明','男','2000.5.6',5600,'12555555555','成都',GETDATE())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值