SQL基础教程——数据的插入(INSERT语句的使用方法)(第四章第一节)

1、INSERT语句的基本语法

CREATE TABLE语句创建出来的表,可以被认为是一个空空如也的箱子。只有把数据装入到这个箱子后,他才能称为数据库。用来装入数据的SQL就是INSERT(插入)

INSERT INTO productIns (product_id,product_name) 
VALUES ('001','体血衫')
--执行一次INSERT语句会插入一行数据

2、列清单的省略

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

3、插入NULL

--INSERT语句中想给某一列赋予NULL值时,可以直接在VALUES子句的值清单中写入NULL
INSERT INTO product(product_id,product_name) 
VALUES ('006',NULL);

4、插入默认值(初始值)

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

CREATE TABLE ProductINS
(product_id CHAR(4) NOT NULL,
sale_price INTEGER DEFAULT 0,--销售单价的默认值设定为0
);
  • 通过显式方法插入默认值:
INSERT INTO product(product_id,product_name) 
VALUES ('006',default)
  • 通过隐式方法插入默认值:
INSERT INTO product(product_id) 
VALUES ('006')

注意:

  1. 建议大家使用显示的方法,因为这样可以一目了然的知道sale_price列使用了默认值,SQL语句的含义更加容易理解。

5、从其他表中复制数据

要插入数据,除了使用VALUES子句指定具体的数据之外,还可以从其他表复制数据。

--执行INSERT..SELECT语句,可以将SELECT子句的执行结果插入到新表中
INSERT INTO Productcopy(product_id,product_name)
SELECT product_id,product_name FROM product;

注意:

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

你可能感兴趣的:(sql)