使用SQL语句向表中插入多行数据

继上次使用SQL Server Management Studio创建一个教学数据库和教师关系表之后,再次使用SQL向表中添加数据。
图形界面就不多说了,自己摸索一下就会了,这次还是继续新建查询打开编辑区,要插入数据首先要知道插入的语法格式,教科书的操作是这样的:

    INSERT INTO <表名> [ (<列名1> [,<列名2>...] ) ] VALUES(<>)

好像看起来蒙蒙的,括号一大堆,hh~
不过教科书都是有解释的,<表名>是指要添加新纪录的表,<列名>是可选项,指定待添加数据的列,VALUES字句指定待添加数据的具体值。
也不知道看懂了没,我们直接先上手给我们上次创建的教师表中添加一条记录吧。

INSERT INTO T(TNO,TN,Sex,Age,Prof,Sal,Comm,Dept)--圆括号及内列名可省略,但不建议省略
VALUES('T1','李力','男',47,'教授',1500,3000,'计算机')

运行之后提示有错误,
在这里插入图片描述
这里排查一下,应该是数据类型长度不够,在T表右击设便可查看该表的各列的属性
在这里插入图片描述
除Sex属性之外,其它属性似乎都没什么问题,尝试将Sex列的数据长度加到2:

ALTER TABLE T
ALTER COLUMN 
Sex CHAR(2)

运行之后,再次回到刚才的插入数据,再次调试执行,插入成功。我们继续在旁边的表名上右击,选择编辑前200行,进去之后便可看到我们刚才添加进去的记录。
在这里插入图片描述
我们看到,第一条记录已经添加成功,接下来我们添加多行记录:

INSERT INTO T(TNO,TN,Sex,Age,Prof,Sal,Comm,Dept)--后面的values中的数据的排序要和这里的列名排序相同,此处若省略列名表,则values的数据要和表定义时的列名顺序一致
VALUES('T2','王平','女',28,'讲师',800,1200,'信息'),
('T3','刘伟','男',30,'讲师',900,1200,'计算机'),
('T4','张雪','女',51,'教授',1600,3000,'自动化'),
('T5','张兰','女',39,'副教授',1300,2000,'信息')

调试后发现又出错,而且和上次的错误一样,
在这里插入图片描述
这次的数据只有Prof的字节长度增加了,因此判断有可能是因为Prof的数据长度过小,则再修改Prof的长度到8字节之后,执行数据插入,插入成功!
在这里插入图片描述
反思:上次在创建表的时候,由于设计思路不够严谨,给属性分配的数据长度不足,导致在本次插入时出现了一些意外故障,以后应在设计初期充分考虑各属性的取值范围,为后期数据库的正常运行和使用提供保证。

  • 21
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值