Oracle DML语言

本文详细介绍了数据库操作语言(DML)的基本概念与使用方法,包括数据的插入(insert)、更新(update)及删除(delete),并提供了具体的语法示例,帮助读者掌握DML的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DML语句

DML :数据库操作语言(插入、删除、修改数据)

创建表-----------http://blog.youkuaiyun.com/qq_18733135/article/details/77487719

添加数据:insert
单行插入:
语法1: insert  into 表名(字段1,....,字段n) values(值1,...,值n)
注意:表名后跟着的字段列表必须是表结构中存在的字段,values 后面跟着的值列表必须与字段列表一一对应。
例:
insert into t_student(sid,sname,ssex,sage,saddress) values(2,'张三','男',18,'上海');
所有的DML操作执行后都需要提交或者回滚才可以改变数据库中的内容。
若是没有提交或者未回滚,这些操作是可以后悔,修改的内容存在于内存中。
语法二:insert into 表名 values(值列表);

insert into t_class values(1,'Java01班');
commit;
这个语法主要针对表机构字段比较少的情况,省略了表名后面的字段列表,
那么值列表就默认跟表机构中的字段的顺序一致,所有的字段都插入了数据

insert into t_student(sid,sname,ssex,sage,saddress,sbirth)
values(4,'李四','男',22,'深圳',to_date('2017-01-15','yyyy-mm-dd'));
commit;
每一次插入数据,系统都会自动检查主键是否唯一。

序列:作用就是用来管理表中的主键的。
命名规范:seq+表名
nextval 获取序列的下一个数字
currval 获取序列的当前数字。
多行插入
insert into t_student(sid,sname,ssex,sage,saddress,sbirth)
values(seq_t_student.nextval,'李四','男',22,'深圳',to_date('2017-01-15','yyyy-mm-dd'));
commit;
修改语句(update):
update 表名 set 字段名1=值1,...,字段名n = 值n  where 条件
修改多个字段是,每个字段之间用英文逗号隔开。
如果没有where 修改的是所有的数据。
案例1:更新学生表中所有的数据,地址改为成都。
update t_student set saddress = '成都'  ;
commit;
当修改所有数据时,会有提示是否删除所有数据

案例2:更新学生表中的sid为3的学生的地址为杭州
update t_student set saddress ='杭州' where sid = 3;
commit;
案例三:
update t_student set sage = 21 where sage is not null;
commit;


删除数据:
语法:delete from 表名 where 条件

delete from t_student where sid = 11;

快速删除数据
truncate
truncate  table 表名;   不需要提交      DDL语言  也没有提示就把所有数据全部删除。

truncate table t_student_copy2;


delete 和 truncate 的区别:
truncate是DDL语言 没有提交和回滚,
delete 是DML语言。是需要提交和回滚的。有提示
delete 删除的数据保存在内存中,可以恢复,
truncate删除的数据时不可以恢复的。

truncate删除数据效率高
若是要删除大量数据,truncate执行速度比delete快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值