数据库-插入、更新和删除
插入、更新、删除和备份数据
我们一起学习一下更改表中内容的方法。
利用INSERT插入数据
插入数据分为很多种方式例如:
- 插入完整的行
INSERT INTO Customers VALUES(1000000006, 'Toy Land', '123 Any Street', 'New York', 'NY', '11111', 'USA', NULL, NULL);
- 插入行的一部分
这种插入方式更加的准确插入到精准的每一行中
INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country) VALUES(1000000006, 'Toy Land', '123 Any Street', 'New York', 'NY', '11111', 'USA');
- 插入某些查询结果
查询的结果必须与你插入的行一一对应。
INSERT INTO Customers(cust_id, cust_contact, cust_email, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country) SELECT cust_id, cust_contact, cust_email, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country FROM CustNew;
利用UPDATE更新数据
- 要更新的表
- 列名和他们的新值
- 确定要更新哪些行的过滤条件
例如:
UPDATE Customers
SET cust_contact = 'Sam Roberts',
cust_email = 'sam@toyland.com'
WHERE cust_id = 1000000006;
这条语句将id为1000000006的内一行其中的两个值改变了。
利用另一个表的字段来更新本表
UPDATE Customers
SET cust_contact = 'Sam Roberts',
cust_email = 'sam@toyland.com'
FROM Customers
INNER JOIN Orders ON Orders.cust_id = Customers.cust_id
WHERE order_num;
利用DELETE删除数据
- 从表中删除特定的行
DELETE FROM Customers WHERE cust_id = 1000000006;
- 从表中删除所有行
删除所有的行就把
WHERE
子句删除。
除非打算把更新和删除应用到每一行,否则语句中必须加上WHERE
子句,来控制执行在某一行。
备份数据
利用SELECT
语句来新建一个备份表。
SELECT * INTO COSTCOPY
FROM Customers;
新建一个备份表名为COSTCOPY
,内容来自Customers
。