sql語法基礎,數據的插入

在介紹使用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子句等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章