原创:oracle DML介绍与使用(八)
2011-04-29 08:59
417 查看
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...]); 使用这种语法一次只能向表中插入一条数据 //向users表中插入一条完整的记录 SQL> insert into users(username,password,name,address,zip) values('rrmy','1234','红军','北京',100089); 备注:如果是字符串加’’ 如果是数字可与加’’也可以不加===>一般不加 SQL> commit; 注意:oracle数据库在DOS命令中执行插入,修改等操作时,必须手动完成提交。否则不会(正真)插入成功。 在插入完整的记录是users()中的表对应的字段可以省略不写.但一定要与数据库中表的结构对应才行。 //向users表中插入一条非完整的记录 SQL> insert into users(username,password) values('mj','123'); //注意:在插入部分子段的时候,必须满足的表的约束条件,否则会出现如下异常信息。 insert into users(username,password) values('mj','123') RA-01400: 无法将 NULL 插入 ("RED"."USERS"."NAME") SQL> insert into users(username,password,name) values('mj','123','马杰'); 1 row inserted SQL> commit; //必须手动提交 Commit complete 以上简单总结如下: 为每一列添加一个新值。 按列的默认顺序列出各个列的值。 在 INSERT 子句中随意列出列名和他们的值。 字符和日期型数据应包含在单引号中。 补充知识点: 隐式方式: 在列名表中省略该列的值 SQL> insert into users(username,password,name) values('mj','123','马杰'); 显示方式: 在VALUES 子句中指定空值。 SQL> insert into users values('test','123','test',null,null); 常见面试题: //备份一张表 SQL> create table usess as select * from users; //清空表中的记录 SQL> delete from usess; //使用插入语句把users表中记录插入到usess中 SQL> insert into usess(username,password,name,address,zip) select username,password,name,address,zip from users; SQL> commit 注意: 不必书写 VALUES 子句。 子查询中的值列表应于 INSERT 子句中的列名对应 2、更新数据 采用update语法进行更新数据: 语法如下: UPDATE table SET column = value [, column = value, ...] [WHERE condition]; 备注:一次可以更新多条记录 //更新数据:更新users表 重新设置了passwrod 条件是唯一(主键是唯一)的条件。 SQL> update users set password='redarmy' where username='redarmy'; SQL> commit 注意:当更新多个字段时,可以采用逗号进行区分.举例如下: SQL> update users set password='redarmy' , name='陈红军' where username='rrmy'; SQL> commit 备注:如果省略WHERE子句,则表中的所有数据都将被更新 SQL> update users set password='redarmy' , name='陈红军'; 6 rows updated SQL> commit; Commit complete SQL> select * from users; USERNAME PASSWORD NAME ADDRESS ZIP -------------------- -------------------- -------------------- -------------------- ------- huxz redarmy 陈红军 北苑家园 100012 liucy redarmy 陈红军 清华园 100084 redarmy redarmy 陈红军 北京 100089 rrmy redarmy 陈红军 北京 100089 mj redarmy 陈红军 test redarmy 陈红军 6 rows selected 补充:在update语句中使用子查询 //更新huxz的邮编与用户liucy的邮编一致 SQL> 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条件与更新一致,必须保证唯一性(主键是唯一)条件 SQL> delete from users where username='test'; 以上内容版权归redarmy_chen所有,如有转载请附带出处,如有疑问请发送邮件至redarmy_chen@qq.com
相关文章推荐
- 原创:oracle DML介绍与使用<八>
- 【原创】使用SqlServer的DTS进行Oracle数据导入的注意事项
- Oracle 12c Windows安装、介绍及简单使用(图文)
- [原创]数据库视图介绍和使用
- 【Python Oracle】使用cx_Oracle 连接oracle的简单介绍
- LINUX下重量级的命令strace使用介绍(原创)
- Oracle创建自增字段--ORACLE SEQUENCE的简单使用介绍
- Oracle 分析函数使用介绍
- Oracle 数据库的 dml 误操作使用闪回解决
- discuz X2转帖工具、采集工具 使用介绍(原创)
- oracle中动态SQL使用详细介绍
- ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 - [Oracle SQL]
- nullnullOracle 审计audit 的技巧使用,追踪oracle后台数据库的DML动作
- ORACLE基本命令使用介绍
- oracle中动态SQL使用详细介绍
- 原创:oracle:sql介绍及SQL基本查询 <四>
- oracle中截断表的使用介绍
- ORACLE基本命令使用介绍
- Oracle正则表达式使用介绍
- 【原创】oracle中CAST函数使用简介