DML(Data Manipulation Language)数据操纵语言,SQL的分类之一,此外还有DDL(Data Definition Language)数据定义语言和DCL(Data Control Language)数据控制语言。DML包括:INSERT、UPDATE、DELETE。注意,select语句属于DQL(Data Query Language)。
DML(Data Manipulation Language – 数据操作语言) 可以在下列条件下执行:
• 向表中插入数据
• 修改现存数据
• 删除现存数据
1、插入语句
使用 INSERT 语句向表中插入数据。
INSERT INTO table [(column [, column...])]
VALUES (value [, value...]);
//备份一张表
create table emps as select * from emp;
//插入数据
insert into emps values(7935,'redarmy','TEACHER',null,to_date('1998-10-10','yyyy-mm-dd'),10000,1000,40);
insert into emps(empno,ename) values(7936,'马林');
insert into emps(empno,ename,hiredate) values(7936,'林冲','10-10月 -11');
insert into emps values(7937,'去你妹',null,null,null,null,null,null);
insert into emps(empno,ename,hiredate) values(&empno,'&ename',&hiredate);
输入 empno 的值: 7937
输入 ename 的值: 庞丽
输入 hiredate 的值: sysdate
insert into emps select * from emp where empno=7369;
更新
采用update语法进行更新数据:
语法如下:
UPDATE table
SET column = value [, column = value, ...]
[WHERE condition];
备注:一次可以更新多条记录
update emps set job='student' where empno=7937;
//更新全部
update emps set job='student';
update emps set job =
(select job from emps where empno=7935),
sal=
(select sal from emps where empno=7935)
where empno=7936;
删除数据
在表中如果某些数据不在需要就可以使用delete语句进行删除,并释放该数据所占用的存储空间删除语法如下:
DELETE [FROM] table
[WHERE condition];
备注:delete语句只是从表中删除数据,不会删除表结构.删除表结构采用drop语句。
注意:删除表中的数据时,一定要考虑表的约束(否则会出现一些异常信息)
//清空表 delete from 表名 ||delete 表名
//删除数据 where条件与更新一致,必须保证唯一性(主键是唯一)条件
delete from emps where empno=7937;
//删除所有行
delect emps;
Truncate也可以删除表
Truncate table emps;//表被截断
Delect 会产生碎片, truncate不会
Truncate不能执行恢复,delect可以
性能: truncate好
Truncate不能回滚