insert 语法

ads


大家好,我是林赛~

数据分析师的日常工作中常常需要维护一些维表、非系统生产的数据表或者将某张业务表的部分或全部字段复制到另外一张表临时分析使用,这就涉及到向数据表中插入数据行的操作,需要用到SQL的INSERT语句。

INSERT语句向数据表中插入数据有以下两种形式:

  • 将数据列出并插入到数据表的指定列;

  • 插入其他表中查询的结果记录插入到数据表的指定列。

01

将数据列出并插入到数据表的指定列

语法结构如下:

1.插入记录到指定列,这里的列可以是数据表的全部列、也可以是部分列,但是列的数量和值的数量必须一致,顺序也要保持一致;

INSERT INTO table(column1,column2,…)VALUES(value1,value2,…);    

2.当插入记录到指定列,指定列为全部列时也可以省略(column1,column2,…)

INSERT INTO tableVALUES (value1, value2,...);

实例如下:

这里通过表data_learning.product进行举例,data_learning是1.2节创建的数据库。

1.向数据表全部列中插入一行数据或多行数据(两种都可,插入多行数据类似)

-- 2.商品信息表:product,若是1.2节创建数据库&数据表中已执行下列语句,此次可以不用重复执行INSERT INTO data_learning.product(product_id,product_name,price)VALUES('P1''毛呢大衣',     559  );
-- 向数据表全部列中插入多行数据-- 2.商品信息表:product,若是1.2节创建数据库&数据表中已执行下列语句,此次可以不用重复执行INSERT INTO data_learning.product VALUES('P1', '毛呢大衣',     559  ),('P2', '羽绒服',        1999 ),('P3', '风衣',            299  );

2.向数据表指定列中插入一行数据

-- 2.商品信息表:productINSERT INTO data_learning.product(product_id,product_name)VALUES('test P',           'TESTP');

查询插入的行记录:

SELECT*FROMdata_learning.productWHEREproduct_id ='test P'

有插入的列默认值为NULL,查询结果如图:



02

将查询结果记录插入到数据表的指定列

语法结构如下:

这里的指定列同上,可以数据表的全部列、也可以是部分列,但是列的数量和值的数量必须一致,顺序也要保持一致;

INSERT INTO table1 (column1, column2,…)SELECT    column1,column2,FROM    table2WHEREcondition1;          

实例如下:

INSERT INTO data_learning.product (product_id,product_name)SELECTcategory_id as product_id,category_name as product_nameFROMdata_learning.product_categoryWHERElevel_id = 'L1';


如果两个表table1和table2有相同的结构,那么可以通过以下语句将一张表的所有数据插入另外一张表。

INSERT INTO table1SELECT    *FROM    table2;

03

小结
简单总结下今天分享的内容。         

首先,我们简单介绍了INSERT语句两种插入数据的形式,然后学习了插入数据的语法结构和具体实例SQL脚本。          

学后练习:

data_learning库中创建一张名为test_tb的数据表,表结构和data_learning.product一致,并将data_learning.product中的数据插入data_learning. test_tb中。

小提示:关注我,后台消息回复SQL,获取学后练习答案哦~
以上就是今天的分享,感谢观看!




欢迎关注我,一起学习数据知识,一起成长~

👇👇👇

 - END -

最后编辑于:2024/1/16 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com