目录
一、插入数据(INSERT)
数据插入方式
(1)插入完整的行
INSERT INTO Customers
VALUES(1000000006, 'Toy Land','123 Any Street',
'New York','NY','11111','USA',NULL,NULL)
更安全的INSERT语句:
优点是即使表的结构改变,这条INSERT 语句仍然能正确工作
INSERT INTO Customers(cust_id,cust_name, cust_address,
cust_city,cust_state, cust_zip,
cust_country,cust_contact,cust_email)
VALUES(1000000007,'Toy Land','123 Any Street',
'New York','NY', '11111','USA',NULL,NULL);
(2)插入行的一部分
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');
前面的例子中,没有给
cust_contact
和
cust_email
这两列提供值。
因此这里的
INSERT语句省略了这两列及其对应的值。
补充:
省略的列必须满足以下某个条件:
该列定义为允许
NULL
值(无值或空值);
在表定义中给出默认值。这表示如果不给出值,将使用默认值。
(3)插入某些查询的结果
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;
分析:
使用 INSERT SELECT 从 CustNew 中将所有数据导入Customers。SELECT 语句从 CustNew 检索出要插入的值。SELECT 中列出的每一列对应于 Customers 表名后所跟的每一列。
(4)从其他表复制数据
INSERT INTO Customers name, email)
SELECT name, email FROM users;
二、更新数据(UPDATE)
1、UPDATE 语句的组成部分
(1)要更新的表;
(2)列名和它们的新值;
(3)
确定要更新哪些行的过滤条件。
2、数据更新方式
(1)更新表中的特定行
UPDATE Customers
SET cust_email = 'kim@thetoystore.com'
WHERE cust_id = 1000000005;
UPDATE Customers
SET cust_contact = 'Sam Roberts',
cust_email = 'sam@toyland.com'
WHERE cust_id = 1000000006;
(2)更新表中的所有行
没有
WHERE子句,DBMS
将会用这个电子邮件地址更新
Customers 表中的所有行,
必须谨慎使用 WHERE 子句。
(3)使用子查询更新
UPDATE employees
SET salary = (SELECT AVG(salary) FROM employees)
WHERE department = '市场部';
3、使用UPDATE语句删除某个列的值
customers表的字段及内容如下:
cust_id 为1000000006 的 cust_email 为 aaa@test
UPDATE Customers
SET cust_email = NULL
WHERE cust_id = 1000000006;
上述语句运行后的结果是:
cust_id 为1000000006 的 cust_email 为 NULL

三、删除数据(DELETE)
数据删除方式
(1)从表中删除特定的行
DELETE FROM Customers
WHERE cust_id = 1000000006;
(2)从表中删除所有行
如果省略 WHERE 子句,它将删除表中每个顾客。删除操作不可逆,需谨慎执行。
(3)快速清空表(保留表结构)
使用 TRUNCATE
(4)删除整个表(包括结构和数据)
使用 DROP
补充:
在
UPDATE
或
DELETE
语句使用
WHERE
子句前,应该先用
SELECT
进行测试,保证它过滤的是正确的记录,以防编写的 WHERE
子句不正确。