9、操作数据库

Posted by CodingWithAlice on July 11, 2022

9、操作数据库

阅读书籍《SQL必知必会(第4版)》笔记

1、INSERT - 插入行

将行插入到数据库表中(插入完整的行、插入行中的一部分、插入查询结果)

  • 插入整行:必须按序声明列的值
INSERT INTO Customers(cust_id,
                      cust_name,
                      cust_eamil,
                      cust_address,
                      cust_contact)
VALUES('1000001',
      'Alice Qiu',
      '@qq.com',
      'SH',
      NULL)
  • 插入行中一部分:省略的列一定要满足 ①该列允许 NULL 值 或 ②在表定义中有默认值
  • 插入查询结果:INSERT SELECT,不一定要求列名匹配上 - 插入的时候,使用的是列的位置
INSERT INTO Customers(cust_id,
                      cust_name,
                      cust_eamil,
                      cust_address,
                      cust_contact)
SELECT cust_id,
	cust_name,
	cust_eamil,
	cust_address,
	cust_contact
FROM CustNew
  • 插入整个表:如果将一个表完全拷贝至另一个表,使用 SELECT INTO
SELECT *
INTO CustCopy
FROM Customers

2、UPDATE - 更新的是列

UPDATE Customers
SET cust_email = '@qq.com'
WHERE cust_id = '100001'; # 如果没有 WHERE 指定行, UPDATE 会更新所有行

3、DELETE - 删除整行

DELETE FROM Customers
WHERE cust_id = '100001';

4、直接创建表(很少使用,一般交互式创建)

CREATE TABLE Products
(
	prod_id	CHAR(10)	NOT	NULL,
    prod_name	CHAR(254)	NOT NULL	DEFAULT ALICE,
    prod_desc	VARCHAR(1000)	NULL, # 默认设置
)

5、ALTER 更改表结构

ALTER TABLE Vendors
ADD vend_phone CHAR(20);