SQL基础 十一

1、INSERT语句

(1)列清单省略

     对表进行全列INSERT时,可以省略表名后的列清单。这时VALUES子句的值会默认按照从左往右的顺序赋值给每一列。

(2)插入NULL

   INSERT语句中想给某一列赋予NULL值时,可以直接在VALUES子句的值清单写入NULL。【插入NULL的列一定不能设置NOT  NULL约束。否则,INSERT语句会出差错,数据插入失败。但之前已插入的数据并不会被破坏。】

(3)插入默认值

    默认值的设定,可以通过在创建表的CREATE  TABLE语句中设置DEFAULT约束来实现。

CREATE  TABLE  <表名>

(<列名1>    CHAR(4)         NOT  NULL,

                    (略)

 <列名4>          INTEGER    DEFAULT   0,

  PRIMARY  KEY  (列名1));     

①通过显示方式插入

在VALUES子句指定DEFAULT关键字。

INSERT  INTO  <表名>  (列名1,  列名2,  列名3,列名4,  列名5)  VALUES  (值1,   值2,    值3,   DEFAULT,   值5);

这样,RDBMS就会在插入记录时,自动把默认值赋给对应的列。

②通过隐示方法插入

在列清单和VALUES中省略设定了默认值的列就可以给该列赋上默认值0。

【如果省略了没有设定默认值的列的话,该列的值就会被设定为NULL。因此,如果省略的是设置了NOT   NULL约束的列的话,INSERT语句就会出错】

(4)从其他表中复制数据

INSERT  INTO  <表2>  (列名1,  列名2,  列名3,  列名4,  列名5)

SELECT  列名1,  列名2,   列名3,   列名4,   列名5

    FROM   <表1>;

执行该INSERT……SELECT语句时如果原来表1中有八行数据,那么表2中也会插入完全相同的八行数据。因此该语句可以在需要进行数据备份时使用。

INSERT语句的SELECT语句中,可以使用WHERE子句或者GROUP   BY子句等任何SQL语法,但是使用ORDER  BY子句并不会产生任何效果。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值