数据库-插入、更新和删除

插入、更新、删除和备份数据

我们一起学习一下更改表中内容的方法。

利用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

Posts in this Series