毫无疑问,SELECT是SQL中使用得最多的语句,但是还有其他三种对数据进行操作的语句,分别是插入,更新和删除,他们的相应操作都十分的简单,只需要简单的例子便可理解。
1.插入数据
插入一个完整的行:
INSERT INTO customers VALUES(
xiexunchao,19,shantou,NULL
);
这是最简单的插入语句的使用方法,就是将要插入的行的所有属性值都列出来放在VALUES引导的括号中,实现行的插入。注意每个列都必须提供一个值,如果没有值,应该使用NULL。
这种语法很简单,但是并不安全,因为它高度依赖于表中列定义的次序,并且还依赖于其次序应该容易获得。编写INSERT语句更安全(繁琐)的方式:
SELECT INTO customers (name,age,address,job) VALUES (xiexunchao,19,shantou,NULL);
这个语句得到的结果和上个语句是一样的,不过在插入的过程中先指明了插入的列,这样就避免了因为不清楚表中的列的顺序而造成的插入错误。而且这种方式列出来的列不一定要与表中的列的顺序一致。
插入多个行:
INSERT INTO customers (name,age,address,job)
VALUES (xiexunchao,19,shantou,NULL),
(sjas,24,shenzhen,nurse);
即VALUES后面可以跟多个行,实现一次性插入多个行。
插入检索出的数据
INSERT INTO cunstomers (name,age,address,job)
SELECT name,age,address,job FROM users;
即是将从users表中查询到的结果插入到customers鼻表中。
2.更新数据
更新一行:
UPDATE customers SET eamil = '[email protected]',name = 'ABC' WHERE id = 10005;
实现了将id是10005的用户的name更新为ABC与email更新为[email protected]的操作。
注意在更新语句中使用WHERE语句限定条件,不然很容易将所有的行的内容都更新了。
要删除某一行的某一个属性值,可以将它设置为NULL:
UPDATE customers SET eamil = NULL WHERE id = 10005;
即实现了将id为10005的行的email属性清空。
3.删除数据
删除操作十分简单:
DELETE FROM customers WHERE id = 10005;
注意的是DELETE语句可以删除表中的一行甚至表中的所有行,但是他不能删除表本身。
如果要删除表中的所有行,更加推荐使用TRUNCATE TABLE语句,它比使用DELETE语句删除所有行速度更快,本质上他是删除整个表之后再创建一个新的表。