SQL Server向表中插入数据
切换到对应的数据库
1 | use DBTEST |
插入数据 方式1
1 2 | insert into 表名(列名1,列名2) values (数据1,数据2) |
注意:
- 列名就算是字符类型也不用加引号,数据如果对应的字段是字符串类型,需要加引号包裹起来
- 可以自动增长的字段是可以不用管的(如DepartmentId int primary key identity(1,1)这里就设置了自增,所以在下面的插入中没有该字段
1 2 3 4 5 6 7 8 9 10 11 | --向表中插入数据 --可以自动增长的字段可以不用管 insert into department(DepartmentName,DepartmentRemark) values ( '市场部' , '开拓市场' ), ( '软件部' , '开发软件' ), ( '产品部' , '提需求分析竞品' ), ( '测试部' , '测试软件' ), ( '技术支持部' , '现场调试软件' ), ( '人事部' , '招聘人才' ), ( '后勤部' , '保卫办公区安全' ) |
执行完成之后,在对应表右键选择前1000行 就可以看到执行后的数据库样式
插入数据方式2
可以直接将要插入的数据插入进去(要注意将数据和列对应好)
1 | insert into department values ( '硬件部' , '开发硬件程序' ) |
这里就不用再value的前面将要插入的列名一一列出,运行效果和上面一样
但是一般是不要用后面这种方式,如果交换了两个字段的顺序,用后面这种方式去插入的话,在数据库中的顺序就是错的最好是采用方式一先将字段列出来,再将要插入的数据一一对应
插入数据方式3
使用union 一次性添加多行,在最后一行不用union进行联合
1 2 3 4 5 | --一次性插入多行数据,可以采用union去联合 --最后一行是不需要使用union进行连接的 insert into department(DepartmentName,DepartmentRemark) select '总经办' , '总经理室的日常办事机构' union select '总裁办' , '管理领导客户关系' |
执行完成之后 这两行就出现了
对于表名是关键字的情况
和创建表一样,使用方括号将其括起来就可以进行插入了
1 2 3 4 5 6 | --向职级表插入数据 insert into [Rank] (RankName,RankRemark) values ( '初级' , '嘎噶加班' ), ( '中级' , '加只能加一点' ), ( '高级' , '加不了一点' ) |
插入数据如果有外键
对于有外键的列,要插入外键中有的值。否则会发生外键冲突。
比如因为我的部门才从1~10,此时再员工表中的DepartmentID输入20会发生外键冲突
对于有约束有外键的列,注意遵守规则才能正常插入
1 2 3 | insert into people (DepartmentID,RankID,PeopleName, PeopleSex,PeopleBirth,PeopleSalary,PeoplePhone,PeopleAddress,PeopleAddTime) values (10,1, '小刘' , '男' , '2000-7-26' ,66666, '17788888888' , '湖南长沙' ,getdate()) |
执行之后在设计表中出现
以上就是SQL Server向表中插入数据的三种方式的详细内容,更多关于SQL Server插入数据的资料请关注IT俱乐部其它相关文章!