SQL Server向表中插入数据
作者:mmseoamin日期:2023-12-11

SQL Server向表中插入数据

切换到对应的数据库

use DBTEST

插入数据 方式1

insert into 表名(列名1,列名2)
values(数据1,数据2)

注意:

  • 列名就算是字符类型也不用加引号,数据如果对应的字段是字符串类型,需要加引号包裹起来
  • 可以自动增长的字段是可以不用管的(如DepartmentId int primary key identity(1,1)这里就设置了自增,所以在下面的插入中没有该字段
    --向表中插入数据
    --可以自动增长的字段可以不用管
    insert into department(DepartmentName,DepartmentRemark)
    values
    ('市场部','开拓市场'),
    ('软件部','开发软件'),
    ('产品部','提需求分析竞品'),
    ('测试部','测试软件'),
    ('技术支持部','现场调试软件'),
    ('人事部','招聘人才'),
    ('后勤部','保卫办公区安全')
    

    执行完成之后,在对应表右键选择前1000行 就可以看到执行后的数据库样式

    SQL Server向表中插入数据,在这里插入图片描述,第1张

    SQL Server向表中插入数据,在这里插入图片描述,第2张

    插入数据方式2

    可以直接将要插入的数据插入进去(要注意将数据和列对应好)

    insert into department values ('硬件部','开发硬件程序')
    

    这里就不用再value的前面将要插入的列名一一列出,运行效果和上面一样

    SQL Server向表中插入数据,在这里插入图片描述,第3张

    但是一般是不要用后面这种方式,如果交换了两个字段的顺序,用后面这种方式去插入的话,在数据库中的顺序就是错的最好是采用方式一先将字段列出来,再将要插入的数据一一对应

    插入数据方式3

    使用union 一次性添加多行,在最后一行不用union进行联合

    --一次性插入多行数据,可以采用union去联合
    --最后一行是不需要使用union进行连接的
    insert into department(DepartmentName,DepartmentRemark)
    select '总经办','总经理室的日常办事机构' union
    select '总裁办','管理领导客户关系' 
    

    执行完成之后 这两行就出现了

    SQL Server向表中插入数据,在这里插入图片描述,第4张

    对于表名是关键字的情况

    和创建表一样,使用方括号将其括起来就可以进行插入了

    --向职级表插入数据
    insert into [Rank] (RankName,RankRemark)
    values
    ('初级','嘎噶加班'),
    ('中级','加只能加一点'),
    ('高级','加不了一点')
    

    SQL Server向表中插入数据,在这里插入图片描述,第5张

    插入数据如果有外键

    对于有外键的列,要插入外键中有的值。否则会发生外键冲突。

    比如因为我的部门才从1~10,此时再员工表中的DepartmentID输入20会发生外键冲突

    SQL Server向表中插入数据,在这里插入图片描述,第6张

    对于有约束有外键的列,注意遵守规则才能正常插入

    insert into people (DepartmentID,RankID,PeopleName,
    PeopleSex,PeopleBirth,PeopleSalary,PeoplePhone,PeopleAddress,PeopleAddTime)
    values (10,1,'小刘','男','2000-7-26',66666,'17788888888','湖南长沙',getdate())
    

    执行之后在设计表中出现

    SQL Server向表中插入数据,在这里插入图片描述,第7张