DML(Data Manipulation Language)
数据操纵语言 DML 利用 INSERT、SELECT、UPDATE 及 DELETE 等语句来操作数据库对象所包含的数据。
INSERT 语句 INSERT 语句用来在数据表或视图中插入一行数据。例如,如果要在Customer_Data 数据表中新增一个客户,可使用类似以下的 INSERT 语句:
INSERT INTO Customer_Data
(customer_id,first_name,last_name,phone)
VALUES (777,'Frankie','Stein','4895873900')
请注意 SQL 语句中第二行的数据列名称列表,列表上数据行名称的次序决定了数据数值将被放在哪个数据列。举例来说,第一个数据数值将被放在列表列出的第一个数据列customer_id、第二个数据数值放在第二个数据列 ,依此类推。由于我们在建立数据表时,定义数据行填入数值的次序与现在相同,因此我们不必特意指定列名称。我们可以用以下的 INSERT 语句代替:
INSERT INTO Customer_Data
VALUES (777,'Frankie','Stein','4895873900')
注意
如果使用这种形式的 INSERT 语句,但被插入的数值次序上与建立数据表不同时,数值将被放入错误的数据列。如果数据的类型与定义不符,则会收到一个错误讯息。
UPDATE 语句
UPDATE 语句用来更新或修改一行或多行中的值。例如,一位名称为 Frankie Stein 的客户想要在记录中改变他的姓氏为 Franklin,可使用以下 UPDATE 陈述式:
UPDATE Customer_Data
SET first_name = ‘Franklin’
WHERE last_name = ‘Stein’ and customer_id= 777
我们在 WHERE 子句中加入 customer_id 的项目来确定其他名称不为 Stein 的客户不会被影响——---只有customer_id为777的客户,姓氏会有所改变。
--------------------------------------------------------------------------------
说明
当您使用 UPDATE 语句时,要确定在 WHERE 子句提供充分的筛选条件,如此才不会不经意地改变了一些不该改变的数据。
--------------------------------------------------------------------------------
DELETE 语句
DELETE 语句用来删除数据表中一行或多行的数据,您也可以删除资料表中的所有数据行。要从 Customer_Data 数据表中删除所有的行,您可以利用下列语句:
DELETE FROM Customer_Data
或
DELETE Customer_Data
数据表名称前的 FROM 关键字在 DELETE 语句中是选择性的。除此之外,这两个语句完全相同。
要从 Customer_Data 数据表中删除 customer_id 数据行的值小于100的行,可利用下语句:
DELETE FROM Customer_Data
WHERE customer_id < 100
现在我们已经快速浏览了 SQL 提供的 DDL 与 DML 语句,接著,下面将介绍 DCL。
DCL
DCL,即Data Control Language,
数据控制语言。
DCL用于控制对数据库对象操作的权限,它使用
GRANT和
REVOKE语句对用户或用户组授予或回收数据库对象的
权限。
--------------------------------------------------------------------------------
SELECT 语句
SELECT 语句用来检索数据表中的数据,而哪些数据被检索由列出的数据行与语句中的 WHERE 子句决定。例如,要从之前建立的 Customer_Data数据表中检索 customer_id 以及 first_name 数据行的数据,并且只想取出每行中 first_name 数据值为 Frankie 的数据,那麼可以利用以下的 SELECT 语句:
SELECT customer_id,first_name FROM Customer_Data
WHERE first_name = ‘Frankie’
如果有一行符合 SELECT 语句中的标准,则结果将显示如下:
customer_id first_name
------------- ------------
777 Frankie