SQL数据增删改
增加数据
单行插入
value和values的区别在于:value是插入一条数据,values是插入多条数据,多条数据的插入需要,
分隔。
INSERT INTO `products`(product_id,NAME,quantity_in_stock,unit_price)
VALUE (1,'Pork - Bacon,back Peameal',49,4.65);
INSERT INTO `products`(product_id,NAME,quantity_in_stock,unit_price)
VALUES (2,'Foam Dinner Plate',70,1.21);
INSERT INTO `products`
VALUE(3,'Brocolinni - Gaylan, Chinese',90,4.53);
INSERT INTO `products`
VALUES (4,'Lettuce - Romaine, Heart',38,3.35);
多行插入
INSERT INTO `products`
VALUES
(5,'Sauce - Ranch Dressing',94,1.63),
(6,'Petit Baguette',14,2.39);
分层插入
有时候在进行操作的时候,我们不仅仅要对一个数据表进行插入操作,还要进行更多的操作。比如我们在进行一笔订单的录入之后,还需要根据订单的条目进行操作。
此处主要熟悉LAST_INSERT_ID()
方法,可以获取最后一次插入的数据的主键id。
INSERT INTO orders(customer_id,order_date,STATUS)
VALUES(6,'2021-1-1',1);
INSERT INTO order_items
VALUES
(LAST_INSERT_ID(),1,1,2.95);
更新数据
简单的更新
UPDATE customers
SET
first_name = '张',
last_name = '三'
WHERE customer_id=1;
注意:正常情况下,我们应该是可以更新所有符合条件的行,但是MySQL会出现一个问题,为了安全性考虑,有的界面应用会有一个限制一次只能更新一行,所以会报错这种的请自行寻找办法。
删除数据
删除数据需要使用的是DELETE
关键词,同时在这里提醒一下,数据对于每一个软件都是宝贵的,所以我们一般都通过更改状态的方式来假装删除数据,比如当一笔订单被取消,我们并不删除而是更改它的状态为取消。
DELETE FROM customers
WHERE customer_id=1;