继上次使用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字节之后,执行数据插入,插入成功!
在这里插入图片描述
反思:上次在创建表的时候,由于设计思路不够严谨,给属性分配的数据长度不足,导致在本次插入时出现了一些意外故障,以后应在设计初期充分考虑各属性的取值范围,为后期数据库的正常运行和使用提供保证。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐