Oracle中DML数据操作语言(七)

本文详细介绍了Oracle数据库中的DML(数据操作语言),包括如何使用INSERT语句插入数据、UPDATE语句更新数据以及DELETE语句删除数据。通过具体实例展示了每种操作的基本语法和注意事项。

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

OracleDML数据操作语言(七)

DML(Data Manipulation Language – 数据操作语言) 可以在下列条件下执行:

1、向表中插入数据

2、修改现存数据

3、删除现存数据

 

1、插入语句

使用 INSERT 语句向表中插入数据。

INSERT INTO   table [(column [, column...])]

VALUES             (value [, value...]);

使用这种语法一次只能向表中插入一条数据

//users表中插入一条完整的记录

 

 

 

commit;

 

 

注意:oracle数据库在DOS命令中执行插入,修改等操作时,必须手动完成提交。否则不会(正真)插入成功。

 

 

在插入完整的记录是users()中的表对应的字段可以省略不写.但一定要与数据库中表的结构对应才行。

//users表中插入一条非完整的记录

 

 

insert into users(username,password) values('zxf','123');

//注意:在插入部分子段的时候,必须满足的表的约束条件,否则会出现如下异常信息。

 

 

insert into users(username,password) values('mj','123')

RA-01400: 无法将 NULL 插入 ("RED"."USERS"."NAME") 

insert into users(username,password,name) values('mj','123','马杰');

 

 

1 row inserted

 

commit;

  //

必须手动提交

 

 

Commit complete

以上简单总结如下:

为每一列添加一个新值。

按列的默认顺序列出各个列的值。

INSERT 子句中随意列出列名和他们的值。

字符和日期型数据应包含在单引号中

 

补充知识点:

隐式方式: 在列名表中省略该列的值

insert into users(username,password,name) values('xiaofei','123','小飞');

 

 

 

 

显示方式: VALUES 子句中指定空值。

 

insert into users  values('test','123','test',null,null); 

 常见面试题:

 

 

//备份一张表

 create table usess as select * from users;

 

//清空表中的记录

SQL>

 create table usess as select * from users;

 

用插入语句把users表中记录插入到usess

 insert into usess(username,password,name,address,zip) select username,password,name,address,zip from users;
 commit;

 

注意:

l        不必书写 VALUES 子句。

l        子查询中的值列表应于 INSERT 子句中的列名对应

 

 

2、更新数据

采用update语法进行更新数据:

语法如下:

  UPDATE                 table

  SET                column = value [, column = value, ...]

  [WHERE               condition];

备注:一次可以更新多条记录

//更新数据:更新users 重新设置了passwrod 条件是唯一(主键是唯一)的条件。

 

update users set password='123' where username='xiaofei';
commit;

 

注意:当更新多个字段时,可以采用逗号进行区分.举例如下: 

update users set password='1234' , name='张小飞'  where username='rrmy';

 

SQL> commit;

备注:如果省略WHERE子句,则表中的所有数据都将被更新

update users set password='redarmy' , name='张小飞'  ;

 

 

6 rows updated

SQL> commit;

补充:在update语句中使用子查询

//更新huxz的邮编与用户liucy的邮编一致

update users set zip=(select zip from users where username='liucy') where username='huxz';

 ;

 

//备注:在更新数据的时候 where条件中也可以使用子查询。

 

3、删除数据

    在表中如果某些数据不在需要就可以使用delete语句进行删除,并释放该数据所占用的存储空间删除语法如下:

DELETE [FROM]         table

[WHERE    condition];

备注:delete语句只是从表中删除数据,不会删除表结构.删除表结构采用drop语句。

注意:删除表中的数据时,一定要考虑表的约束(否则会出现一些异常信息)

//清空表  delete from 表名 ||delete 表名 

//删除数据 where条件与更新一致,必须保证唯一性(主键是唯一)条件 

update users set zip=(select zip from users where username='liucy') where username='huxz';

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值