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 SQL是数据库管理中最常用的语言之一,用于在Oracle数据库中执行数据操作、查询、更新和管理。本篇文章将深入探讨SQL的基本概念以及SQL基础查询,旨在帮助初学者理解和掌握SQL的核心功能。 首先,SQL...
使用SQL语句<br>4.1 使用基本查询<br>4.1.1 简单查询语句<br>4.1.2 使用WHERE子句<br>4.1.3 使用ORDERBY子句<br>4.2 使用DML语句<br>4.2.1 插入数据<br>4.2.2 更新数据<br>4.2.3 删除数据<br>4.3 ...
本资源"Oracle练习-有答案<全套>"提供了一个全面的学习和自我检测平台,包含500多道精心设计的题目,涵盖了Oracle数据库的各个方面。这些题目旨在帮助用户深入理解和掌握Oracle的相关知识,提升数据库管理、SQL查询...
=、<>、!>、!<` - **范围**:`BETWEEN AND、NOT BETWEEN AND` - **集合**:`IN、NOT IN` - **字符匹配**:`LIKE、NOT LIKE` - **空值**:`IS NULL、IS NOT NULL` - **逻辑运算符**:`AND、OR、NOT` #### 六、聚集...
9i低版本需要注意<br><br>oracle.express.mdm.MdmMetadataProvider与<br><br>oracle.olapi.metadata.mdm.MdmMetadataProvider之间的转换,可使用<br><br>oracle.express.mdm.MdmMetadataProvider....
- 使用 IP 地址登录,命令为 `mysql --host=<IP> --user=<username> --password=<password>`,例如 `mysql --host=127.0.0.1 --user=root --password=root`。 3. MySQL 图形化工具安装与使用: - SQLyog 是一款...
<br>技巧6 理解表名 <br>技巧7 理解列名 <br>技巧8 理解视图 <br>技巧9 理解架构 <br>技巧10 理解域 <br>技巧11 理解约束 <br>技巧12 理解数据定义语言(DDL) <br>技巧13 理解数据操纵语言(DML) <br>技巧14 理解数据...
对于Oracle,URL通常采用`jdbc:oracle:thin:@<host>:<port>:<service_name>`的形式。其中,`<host>`为数据库服务器地址,`<port>`为监听端口(默认为1521),`<service_name>`为服务名。例如: ```java Connection ...
- **创建函数**:`CREATE OR REPLACE FUNCTION <函数名>(<参数列表>) RETURN <返回类型> AS <声明区> BEGIN <执行区> END;` - 示例:`CREATE OR REPLACE FUNCTION get_order_count(status IN VARCHAR2) RETURN ...
<br> <br> 《DB 查询分析器》,基于Windows系统操作系统,实现了如下的功能:<br> <br> 1、对数据库事务的支持。允许用户自己来管理用户会话中的事务,这在数据库维护时(如进行表数据修改、删除时)显得非常重要,...
DBD::Oracle 是一个Perl模块,它允许Perl程序员与Oracle数据库进行交互。在Perl的世界里,DBD(Database Driver)是一系列接口驱动程序,它们作为DBI(Database Independent Interface,数据库独立接口)的一部分...
databaseName=<数据库名>`,Oracle的URL可能是`jdbc:oracle:thin:@<主机>:<端口>:<服务名>`。 3. **创建Statement或PreparedStatement对象**:这两个对象用于执行SQL查询。Statement适合简单的静态SQL语句,而...
- Easy Connect:Oracle 12c引入了Easy Connect命名方法,简化了连接字符串的构造,如`<username>/<password>@<hostname>:<port>/<service_name>`。 - Connection Pooling:客户端支持连接池功能,有效管理多个...
本文将对 Oracle DML 触发器的工作原理、类型、使用方法等进行详细的介绍,并提供了实践中的应用示例。 1. Oracle DML 触发器的工作原理 Oracle DML 触发器是一种特殊类型的存储过程,它可以自动执行 SQL 和 PL/...
- **插入数据**:`INSERT INTO <关系名> [(column_list)] VALUES (data_values)`,向表中插入新记录,确保值的类型与列相匹配。 - **删除数据**:`DELETE FROM <表名> [WHERE <搜索条件>]`,根据条件删除表中的...
Oracle的URL格式一般为"jdbc:oracle:thin:@<hostname>:<port>:<service_name>"。 3. 创建Statement或PreparedStatement对象:这两个接口用于执行SQL语句,Statement适用于简单查询,PreparedStatement则支持预编译的...
本篇将详细介绍Oracle DML触发器的相关知识。 1. **触发器概述** - 触发器是一种在数据库级别定义的存储过程,它会在特定的数据库事件发生时自动执行,无需显式调用。 - 触发器由四部分组成:触发器名称、触发...
UPDATE <表名> SET <列名> = <表达式> [, <列名> = <表达式>]… [WHERE <条件>] ``` 例如,修改学生信息: ``` update student set sage=22 where sno='08001'; ``` 也可以使用子查询来更新数据,例如: ``` ...
oracle操作数据-DML语句.pptx