网站首页 > 技术文章 正文
存储在系统中的数据是数据库管理系统(DBMS)的核心,数据库被设计用来管理数据的存储、访问和维护数据的完整性。Oracle中提供了功能丰富的数据库管理语句,包括有效的向数据库中插入数据的INSERT语句,更新数据的UPDATE语句,以及当数据不再使用时删除数据的DELETE语句。
1.插入数据
Oracle中使用INSERT语句向数据表中插入新的数据记录。可以插入的方式有:插入完整的记录、插入记录的一部分、插入多条记录、插入另一个查询的结果。
1.1为表的所有字段插入数据
使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。基本语法格式为:
INSERT INTO table_name (column_list) VALUES (value_list);
注意,使用该语句时字段列和数据值的数量必须相同。
向表中所有字段插入值的方法有两种:一种是指定所有字段名,另一种是完全不指定字段名。
使用INSERT插入数据时,允许列名称列表column_list为空,此时,值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。
1.2为表的指定字段插入数据
为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
INSERT INTO table_name (字段1,字段3,字段5) VALUES (值1,值3,值5);
注意:要保证每个插入值的类型和对应列的数据类型匹配,如果类型不同,将无法插入,并且Oracle 会产生错误。
1.3同时插入多条记录
使用多个INSERT语句可以向数据表中插入多条记录。
INSERT INTO table_name (字段1,字段2,字段3)
VALUES (值1,值2,值3);
INSERT INTO table_name (字段1,字段2,字段3)
VALUES (值4,值5,值6);
INSERT INTO table_name (字段1,字段2,字段3)
VALUES (值7,值8,值9);
同时插入多条数据:
INSERT INTO table_name (字段1,字段2,字段3)
SELECT 值1,值2,值3 FROM dual
union all
SELECT 值4,值5,值6 FROM dual;
一个同时插入多行记录的INSERT语句可以等同于多个单行插入的INSERT语句,但是多行的INSERT语句在处理过程中,效率更高。因为Oracle执行单条INSERT语句插入多行数据,比使用多条INSERT语句快。所以在插入多条记录时,最好选择使用单条INSERT语句的方式插入。
1.4将查询结果插入到表中
INSERT INTO table_namel (column_list1)
SELECT (column_list2) FROM table_name2 WHERE (condition)
table namel 指定待插入数据的表;column listl指定待插入表中要插入数据的那些列;table_name2指定插入数据是从哪个表中查询出来的:column_list2指定数据来源表的查询列,该列表必须和column_list1列表中的字段个数相同,数据类型相同;condition指定SELECT语句的查询条件。
2.更新数据
Oracle中使用UPDATE语句更新表中的记录,可以更新特定的行或者同时更新所有的行。基本语法结构如下:
UPDATE table_name
SET column_namel = valuel,column_name2=value2,...,column_namen=valuen
WHERE (condition);
column namel,column name2,...,column namen 为指定更新的字段的名称;valuel,value2,...,valuen为相对应的指定字段的更新值;condition 指定更新的记录需要满足的条件。更新多个列时,每个“列-值”对之间用逗号隔开,最后一列之后不需要逗号。
保证UPDATE以WHERE子句结束,通过WHERE子句指定被更新的记录所需要满足的条件,如果忽略WHERE子句,Oracle将更新表中所有的行。
3.删除数据
从数据表中删除数据使用DELETE语句,DELETE语句允许WHERE子句指定删除条件。DELETE 语句基本语法格式如下:
DELETE FROM table name [WHERE <condition>];
table name指定要执行删除操作的表;“[WHERE <condition>]”为可选参数,指定删除条件,如果没有WHERE子句,DELETE语句将删除表中的所有记录。
如果想删除表中的所有记录,还可以使用TRUNCATE TABLE语句,TRUNCATE将直接删除原来的表并重新创建一个表,其语法结构为 TRUNCATE TABLE table_name。TRUNCATE直接删除表而不是删除记录,因此执行速度比 DELETE快。
猜你喜欢
- 2024-10-15 oracle数据库的导入导出 oracle数据库数据导入
- 2024-10-15 oracle数据库delete删除操作可以恢复吗
- 2024-10-15 oracle数据库实例名变更流程 oracle数据库实例名修改
- 2024-10-15 工作必备!oracle常用命令总结 oracle19c常用命令
- 2024-10-15 Oracle管理日志文件 oracle系统日志在哪个文件夹
- 2024-10-15 Linux Oracle下sqlplus无法使用退格删除和历史记录解决小技巧
- 2024-10-15 Oracle管理日志文件详解 oracle日志文件怎么看
- 2024-10-15 当你不小心删了Oracle数据库控制文件时该怎么办?
- 2024-10-15 数据删除——ApachDoris 数据删除是什么意思
- 2024-10-15 「Oracle」 ORA-12705(字符集问题)
你 发表评论:
欢迎- 05-10如何优化数据库和前端之间的交互?
- 05-10前端代码优化小秘籍(前端优化24条建议)
- 05-10VS Code当中的15个神仙插件,值得收藏
- 05-10如何自己开发一个Google浏览器插件?
- 05-10前端流行框架Vue3教程:14. 组件传递Props效验
- 05-10吃了一年的SU,最好用的插件都在这了
- 05-10前端必看!这款神器让网站界面告别千篇一律
- 05-10程序员请收好:10个非常有用的 Visual Studio Code 插件
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)