在介绍使用insert插入数据之前,我们先来回忆一下表的创建
01表的创建
格式:
CREAT TALE 表名
(列名1, 数据类型,约束,
。
。
。
表的约束1,表的约束2.。。)
注意:这里表的约束一般指主键 PRIMARY KEY(设为主键的列名)
例一商品列表
CREATE TABLE product3
(product_id CHAR(4) NOT NULL,
product_name VARCHAR(100) NOT NULL,
product_type VARCHAR(100) NOT NULL,
sale_price INT,
purcase_price INT,
regist_date DATE,
PRIMARY KEY (product_id))

02使用insert插入数据
格式:
INSERT INTO 表名 (列名1,列名2.。。。。。)
VALUES (值1,值2,值3.。。)
例二向表中插入数据
INSERT INTO product3(product_id,product_name,product_type,sale_price,purcase_price,regist_date)VALUES('0001','篮球鞋','运动鞋',1000,500,'2019-09-20')
--注意:除int类型的,其余在书写时要加‘’表示字符串
INSERT INTO product3(product_id,product_name,product_type,sale_price,purcase_price,regist_date)VALUES('0002','跑鞋','运动鞋',800,300,'2019-10-20')
--一般来说每插入一行数据就要书写一个insert into

是不是觉得特别麻烦,要不停的书写列名,如果不书写列名该有多好
INSERT INTO product3 VALUES('0003','哑铃','运动器材',500,null,'2019-09-20')

通过这个例子可以发现,如果没有列名会按照列名从左往右依次插入数据。
同时插入null时要确保该列的约束不是not null
03插入默认值
我们还可以向表中插入初始值
在表中插入默认值前要先设置DEFAULT<默认值>约束
格式:
DEFAULT
例三向sale_price列中插入默认值
CREATE TABLE basketball
(product_id CHAR(4) NOT NULL,
sale_price INT DEFAULT 0,
PRIMARY KEY (product_id))
INSERT INTO basketball VALUES ('0001',DEFAULT)

以上为显式插入法,还有一种插入方法,就是在要插入的地方什么也不写,前后用,,隔开。也就是省略列名,如果是没有设置默认值的列名,就会出现null。这样会使sql语言表意不明,故不在此详细介绍。
04从其他表中复制数据
格式:
INSERT INTO 目标表名(列名1,列名2,。。。)
SELECT 原列名1,原列名2,原列名3.。。。。
FROM 原表名
例四向product3表中插入product3copy数据
product3copy数据

INSERT INTO product3(product_id,product_name,product_type,purcase_price,sale_price,regist_date)
SELECT product_id,product_name,product_type,purcase_price,sale_price,regist_date
FROM product3copy

注意:插入时两表列的数据类型应该相同,同时select语句的where子句,group by子句等
SQL基础教程:数据插入与默认值设定
本文介绍了SQL中的数据插入操作,包括基本的INSERT语法,如何从其他表中复制数据,以及如何设置默认值。在插入数据时,可以指定列名并提供对应的值,或者使用默认值约束。在复制数据时,需确保源表和目标表的列数据类型匹配,并可选择性地应用WHERE等条件。
1763

被折叠的 条评论
为什么被折叠?



