`

原创:oracle DML介绍与使用<八>

阅读更多
    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
分享到:
评论
1 楼 Doublecqw 2011-04-18  

相关推荐

    原创:oracle:sql介绍及SQL基本查询 <四>

    Oracle SQL是数据库管理中最常用的语言之一,用于在Oracle数据库中执行数据操作、查询、更新和管理。本篇文章将深入探讨SQL的基本概念以及SQL基础查询,旨在帮助初学者理解和掌握SQL的核心功能。 首先,SQL...

    精通Oracle.10g.PLSQL编程

    使用SQL语句&lt;br&gt;4.1 使用基本查询&lt;br&gt;4.1.1 简单查询语句&lt;br&gt;4.1.2 使用WHERE子句&lt;br&gt;4.1.3 使用ORDERBY子句&lt;br&gt;4.2 使用DML语句&lt;br&gt;4.2.1 插入数据&lt;br&gt;4.2.2 更新数据&lt;br&gt;4.2.3 删除数据&lt;br&gt;4.3 ...

    Oracle练习-有答案<全套>

    本资源"Oracle练习-有答案&lt;全套&gt;"提供了一个全面的学习和自我检测平台,包含500多道精心设计的题目,涵盖了Oracle数据库的各个方面。这些题目旨在帮助用户深入理解和掌握Oracle的相关知识,提升数据库管理、SQL查询...

    oracle学习笔记

    =、&lt;&gt;、!&gt;、!&lt;` - **范围**:`BETWEEN AND、NOT BETWEEN AND` - **集合**:`IN、NOT IN` - **字符匹配**:`LIKE、NOT LIKE` - **空值**:`IS NULL、IS NOT NULL` - **逻辑运算符**:`AND、OR、NOT` #### 六、聚集...

    Oracle Olap开发备忘录

    9i低版本需要注意&lt;br&gt;&lt;br&gt;oracle.express.mdm.MdmMetadataProvider与&lt;br&gt;&lt;br&gt;oracle.olapi.metadata.mdm.MdmMetadataProvider之间的转换,可使用&lt;br&gt;&lt;br&gt;oracle.express.mdm.MdmMetadataProvider....

    javaweb-mysql day19每日作业卷答案1

    - 使用 IP 地址登录,命令为 `mysql --host=&lt;IP&gt; --user=&lt;username&gt; --password=&lt;password&gt;`,例如 `mysql --host=127.0.0.1 --user=root --password=root`。 3. MySQL 图形化工具安装与使用: - SQLyog 是一款...

    SQL编程实用大全(精华版).part3

    &lt;br&gt;技巧6 理解表名 &lt;br&gt;技巧7 理解列名 &lt;br&gt;技巧8 理解视图 &lt;br&gt;技巧9 理解架构 &lt;br&gt;技巧10 理解域 &lt;br&gt;技巧11 理解约束 &lt;br&gt;技巧12 理解数据定义语言(DDL) &lt;br&gt;技巧13 理解数据操纵语言(DML) &lt;br&gt;技巧14 理解数据...

    Eclipse是如何连接Oracle数据库的

    对于Oracle,URL通常采用`jdbc:oracle:thin:@&lt;host&gt;:&lt;port&gt;:&lt;service_name&gt;`的形式。其中,`&lt;host&gt;`为数据库服务器地址,`&lt;port&gt;`为监听端口(默认为1521),`&lt;service_name&gt;`为服务名。例如: ```java Connection ...

    oracle常用命令-一完整的电子商务网案例

    - **创建函数**:`CREATE OR REPLACE FUNCTION &lt;函数名&gt;(&lt;参数列表&gt;) RETURN &lt;返回类型&gt; AS &lt;声明区&gt; BEGIN &lt;执行区&gt; END;` - 示例:`CREATE OR REPLACE FUNCTION get_order_count(status IN VARCHAR2) RETURN ...

    万能数据库查询分析器《DB 查询分析器》 1.0

    &lt;br&gt; &lt;br&gt; 《DB 查询分析器》,基于Windows系统操作系统,实现了如下的功能:&lt;br&gt; &lt;br&gt; 1、对数据库事务的支持。允许用户自己来管理用户会话中的事务,这在数据库维护时(如进行表数据修改、删除时)显得非常重要,...

    DBD::Oracle

    DBD::Oracle 是一个Perl模块,它允许Perl程序员与Oracle数据库进行交互。在Perl的世界里,DBD(Database Driver)是一系列接口驱动程序,它们作为DBI(Database Independent Interface,数据库独立接口)的一部分...

    jdbc连接实例(sqlserver 2000/2005、 oracle 10g)

    databaseName=&lt;数据库名&gt;`,Oracle的URL可能是`jdbc:oracle:thin:@&lt;主机&gt;:&lt;端口&gt;:&lt;服务名&gt;`。 3. **创建Statement或PreparedStatement对象**:这两个对象用于执行SQL查询。Statement适合简单的静态SQL语句,而...

    oracle 12c client 64位

    - Easy Connect:Oracle 12c引入了Easy Connect命名方法,简化了连接字符串的构造,如`&lt;username&gt;/&lt;password&gt;@&lt;hostname&gt;:&lt;port&gt;/&lt;service_name&gt;`。 - Connection Pooling:客户端支持连接池功能,有效管理多个...

    Oracle DML触发器在数据库编程中的应用.pdf

    本文将对 Oracle DML 触发器的工作原理、类型、使用方法等进行详细的介绍,并提供了实践中的应用示例。 1. Oracle DML 触发器的工作原理 Oracle DML 触发器是一种特殊类型的存储过程,它可以自动执行 SQL 和 PL/...

    关系数据库标准语言SQL.doc

    - **插入数据**:`INSERT INTO &lt;关系名&gt; [(column_list)] VALUES (data_values)`,向表中插入新记录,确保值的类型与列相匹配。 - **删除数据**:`DELETE FROM &lt;表名&gt; [WHERE &lt;搜索条件&gt;]`,根据条件删除表中的...

    JDBC连接oracle数据库测试

    Oracle的URL格式一般为"jdbc:oracle:thin:@&lt;hostname&gt;:&lt;port&gt;:&lt;service_name&gt;"。 3. 创建Statement或PreparedStatement对象:这两个接口用于执行SQL语句,Statement适用于简单查询,PreparedStatement则支持预编译的...

    oracleDML触发器.pptx

    本篇将详细介绍Oracle DML触发器的相关知识。 1. **触发器概述** - 触发器是一种在数据库级别定义的存储过程,它会在特定的数据库事件发生时自动执行,无需显式调用。 - 触发器由四部分组成:触发器名称、触发...

    数据库-DML语句详解.pdf

    UPDATE &lt;表名&gt; SET &lt;列名&gt; = &lt;表达式&gt; [, &lt;列名&gt; = &lt;表达式&gt;]… [WHERE &lt;条件&gt;] ``` 例如,修改学生信息: ``` update student set sage=22 where sno='08001'; ``` 也可以使用子查询来更新数据,例如: ``` ...

    oracle操作数据-DML语句.pptx

    oracle操作数据-DML语句.pptx

Global site tag (gtag.js) - Google Analytics