TSL语言基础 > SQL基础到TS-SQL > TS-SQL入门 > TS-SQL的数据更新 > Insert插入结果集

Insert插入单行    

  • 我们先来看一个插入行的例子:
      insert into a values("06","路人甲");
      我们先温习下之前的范例中的A结果集,A结果集是包括学号和姓名两列的结果集,上边的代码是否足够清晰呢?
      Insert Into 后跟随结果集(需要插入的对象),在结果集之后用values(),values之中则是所需要插入的按照列次序以逗号分隔的数据。
      我们现在来假定我们有一个结果集R,这个结果集R具有四列,分别是学号,姓名,英语成绩,语文成绩。假定现在英语老师带来了路人甲的英语成绩,但结果集R上目前并未有路人甲的其他信息,现在我们希望将路人甲以及英语信息先行添加进结果集R,用INSERT语句我们该怎么办呢?
      insert into a values("06","路人甲",80,nil);
      我们当然可以使用上边的代码来实现,也就是我们让语文成绩先置为空。接下来问题又来了,假定我们的结果集R有10列,分别是学号和姓名外加英语成绩,语文成绩,物理成绩,化学成绩,数学成绩。。。。等等。
      我们如果用上述的写法,我们需要记住每个列的位置,并且要给非需要的列以nil替代,这肯定不是一件让人心满意足的写法,这种时候,我们可以用insert的另外一种写法:
      insert into a insertfields(["学号"],["姓名"],["英语成绩"]) values("06","路人甲",80);
      这看起来是不是简洁并且难以出错呢?这个语法是我们在values之前先用insertfields(FieldsList)的模式来指定所需要插入的字段,FieldsList则采用逗号分隔的[FieldName]的模式,而values里的ValueList则需要和InsertFields中的字段次序保持一致。