当前位置: 网学 > 编程文档 > SQL SERVER > 正文

sql语法介绍(续)

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式

INSERT语句


  用户可以用INSERT语句将一行记录插入到指定的一个表中。例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:

  INSERT INTO EMPLOYEES valueS

   (\''Smith\'',\''John\'',\''1980-06-10\'',

   \''Los Angles\'',16,45000);

  通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。这些列按照我们创建表时定义的顺序排列。在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。

  我们说过系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。如果类型不符(如将一个字符串填入到类型为数字的列中),系统将拒绝这一次操作并返回一个错误信息。

  如果SQL拒绝了你所填入的一列值,语句中其他各列的值也不会填入。这是因为SQL提供对事务的支持。一次事务将数据库从一种一致性转移到另一种一致性。如果事务的某一部分失败,则整个事务都会失败,系统将会被恢复(或称之为回退)到此事务之前的状态。

   回到原来的INSERT的例子,请注意所有的整形十进制数都不需要用单引号引起来,而字符串和日期类型的值都要用单引号来区别。为了增加可读性而在数字间插入逗号将会引起错误。记住,在SQL中逗号是元素的分隔符。

  同样要注意输入文字值时要使用单引号。双引号用来封装限界标识符。

  对于日期类型,我们必须使用SQL标准日期格式(yyyy-mm-dd),但是在系统中可以进行定义,以接受其他的格式。当然,2000年临近,请你最好还是使用四位来表示年份。

  既然你已经理解了INSERT语句是怎样工作的了,让我们转到EMPLOYEES表中的其他部分:

  INSERT INTO EMPLOYEES valueS

   (\''Bunyan\'',\''Paul\'',\''1970-07-04\'',

   \''Boston\'',12,70000);

  INSERT INTO EMPLOYEES valueS

   (\''John\'',\''Adams\'',\''1992-01-21\'',

   \''Boston\'',20,100000);

  INSERT INTO EMPLOYEES valueS

   (\''Smith\'',\''Pocahontas\'',\''1976-04-06\'',

   \''Los Angles\'',12,100000);

  INSERT INTO EMPLOYEES valueS

   (\''Smith\'',\''Bessie\'',\''1940-05-02\'',

   \''Boston\'',5,200000);

  INSERT INTO EMPLOYEES valueS

   (\''Jones\'',\''Davy\'',\''1970-10-10\'',

   \''Boston\'',8,45000);

  INSERT INTO EMPLOYEES valueS

   (\''Jones\'',\''Indiana\'',\''1992-02-01\'',

   \''Chicago\'',NULL,NULL);

  在最后一项中,我们不知道Jones先生的工薪级别和年薪,所以我们输入NULL(不要引号)。NULL是SQL中的一种特殊情况,我们以后将进行详细的讨论。现在我们只需认为NULL表示一种未知的值。

  有时,像我们刚才所讨论的情况,我们可能希望对某一些而不是全部的列进行赋值。除了对要省略的列输入NULL外,还可以采用另外一种INSERT语句,如下:

  INSERT INTO EMPLOYEES(

   FIRST_NAME, LAST_NAME,

   HIRE_DATE, BRANCH_OFFICE)

  value(

   \''Indiana\'',\''Jones\'',

   \''1992-02-01\'',\''Indianapolis\'');

  这样,我们先在表名之后列出一系列列名。未列出的列中将自动填入缺省值,如果没有设置缺省值则填入NULL。请注意我们改变了列的顺序,而值的顺序要对应新的列的顺序。如果该语句中省略了FIRST_NAME和LAST_NAME项(这两项规定不能为空),SQL操作将失败。

  让我们来看一看上述INSERT语句的语法图:

  INSERT INTO table

   [(column { ,column})]

  valueS

   (columnvalue [{,columnvalue}]);

  和前一篇文章中一样,我们用方括号来表示可选项,大括号表示可以重复任意次数的项(不能在实际的S

  • 上一篇资讯: sql语法介绍
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号