我所知道的数据库8-DML语言
DML语言又称数据操纵语言,主要关键字有三个:INSERT,UPDATE,DELETE。DML语句是一种事务语句,表示执行该类语句时,会锁定所操作的表。该类语句最终的结束是要用户来输入两个命令来结束的:commit 提交、确认,rollback 回滚、取消。
INSERT:插入,用来新增记录。常用的语法有两种:
1.INSERT INTO 表名 VALUES(value1,value2...valueN);
这里需要注意的是,value的数量、类型、长度、顺序都必须和表的字段保持一致。例如:
INSERT INTO CLASS VALUES('1','张三');--向班级表中插入一条学号为1姓名是张三的记录。
2.INSERT INTO 表名(COLUMN1,COLUMN2...COLUMNn) VALUES(value1,value2...valueN);
该语法中,value和COLUMN是按顺序对应,保证出现的COLUMN和value的数量、类型、长度一致。例如:
INSERT INTO CLASS(ID) VALUES('2');--向班级表中插入一条学号为2的记录。
其实在平时工作中,需要单独插入数据的情况并不是很多,但在存储过程中INSERT是最常用的,当然,常用的还有MERGE,该语法比INSERT稍难,后续再会写入的。如果需要修改少量数据,可以用FOR UPDATE,例如:
SELECT * FROM CLASS FOR UPDATE;
UPDATE:更新。语法格式:
UPDATE 表名 SET COLUMN=NEWVALUE WHERE 条件;
需要注意的是,如果不加where条件,update影响的是整列数据,where条件正是用来限定行。例如:
UPDATE CLASS SET NAME = '李四' WHERE ID=2;--将学号为2的姓名更新为李四。
DELETE:删除记录。语法格式:
DELETE FROM 表名 WHERE 条件;
如果没有加where条件,则删除表中所有数据,该表变成一张空表。
PS:
TRUNCATE:是DDL语言的一个关键字,用来删除整张表的数据。语法格式;
TRUNCATE TABLE 表名;
与DELETE FROM 表名;不同的是,delete删除可以ROLLBACK回滚撤销,TRUNCATE无法回滚撤销。