Oracle数据库的增删改操作介绍

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 前面的博文介绍了Oracle的简单查询操作,博客地址:http://blog.csdn.net/weixin_36380516/article/details/65935879 这里再对Oracle的更新操作即Oracle的增删改操作进行简单的介绍 首先要掌握对表结构的基本操作。 增加字段: alter table 表名 add(字段名 字段类型和长度) alter table

前面的博文介绍了Oracle的简单查询操作,博客地址:http://blog.csdn.net/weixin_36380516/article/details/65935879

这里再对Oracle的更新操作即Oracle的增删改操作进行简单的介绍

首先要掌握对表结构的基本操作。

增加字段:
alter table 表名 add(字段名 字段类型和长度)

alter table table_name add(one_column varchar2(10));

一次增加多个字段的话,每个字段直接以,分开。

例如:

alter table table_name add(one_column varchar2(10),two_column varchar2(5),....);

删除字段:
alter table 表名 drop(字段名)

alter table table_name drop(one_column); 
一次删除多个字段,要在括号中,每个字段以,分开。

例如:

alter table table_name drop(one_column,two_column,...)

修改字段名:

alter table 表名 rename column 旧字段名 to 新字段名

alter table table_name rename column old_column to new_column;

修改字段类型或者长度:

alter table 表名 modify 字段名 字段类型 (字段长度)

alter table table_name modify column_name varchar (10);

查看表结构:

desc 表名;

对表中数据的操作是重点。

新建一个test表,以此表为例,进行更新操作

create table test( 

id number, 

name varchar2(20), 

age number(2) 

);

插入数据操作:

1,insert  into 表名 values (所有列的值);

2,insert  into 表名 (列) values(对应列的值); 

insert into test values(1,'熊九天',20); 
insert into test(name,age) values('大熊',20); 
两种插入操作中,推荐使用第二种。

删除数据操作:

delete  from 表名 where 条件

delete from test where id = 1;
删除所有数据:

delete from test
delete方法删除数据,删除的时候会记录日志,commit之前,被删除的数据是可以恢复的,由于删除之前要进行日志的记录,所以这种删除速度较慢。

truncate table 表名;

truncate删除方式不会记录日志,属于永久删除,数据不能恢复,删除速度会很快。这种删除不会影响表的结构。

drop table 表名;

删除所有数据,连同表的结构,一并删除,数据无法恢复,也不会记录日志,删除速度很快。

修改数据操作:

update 表set 列 = 新的值[where 条件] ;

更新满足条件的记录。

update test set name='熊九天2号' where name='熊九天'


Oracle数据库中主要几种数据类型我们应该掌握:

varchar2(n):表示定义的是字符串,n表示的是字符串的最大长度

number(n):表示定义为整数,其中n表示的是整数的最大长度

number(n,m):表示最长有n位,小数为最长可以为m位,整数为最长可以有n-m位。

date:表示的是日期时间的数据类型

clob:表示的是大文本字段,最多可以保存4G大小的文字信息

blob:表示的是二进制数据,可以保存文本、文档、音乐、图片、视频等等,最多也是4G的大小


oracle 数据库 数据表的5个约束类型:

1,主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。
主键约束= 唯一约束+非空约束,在创建数据表的时候可以通过primary key进行设置。

2,外键约束:用来约束两个表中列之间的关系。

语法格式:

CONSTRAINT constraint_name    FOREIGN KEY    (column_name)
    REFERENCE  table_name (column_name)
    ON   DELETE    CASCADE
[语法说明:]
CONSTRAINT:创建约束的关键字
FOREIGN KEY:外键约束的关键字
REFERENCE:引用外表的关键词
table_name:需要引用的外表,column_name表示该表的列。
举例:创建BOOKINFO表,带一个外键约束,约束名称为"FK_PUBLISH"。相关列为publish,该外键和PUBLISHINFO表中的publishid列相关联。

create table bookinfo
(
    bookid int,
    bookname char,
    publish varchar2(20),
    pubdate    varchar2(20),
    price    decimal,
    author    char,
    store    int,
    reader     int,
    remarks    varchar2(50),
    constraint fk_publish foreign key(publish) references publishinfo(publishid) on delete cascade
);
3,唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。

语法格式:

 CONSTRAINT constraint_name UNIQUE(column_name)
 【语法说明】
  UNIQUE:唯一约束的关键词
  column_name:唯一约束的名称。

举例:创建BOOKINFO表时,为图书名称(BOOKNAME)列添加唯一约束
create table bookinfo
(
    bookid int,
    bookname char,
    publish    varchar2(20),
    pubdate    varchar2(20),
    price decimal,
    author    char,
    store    varchar2(1),
    reader int,
    remarks varchar2(50),
    CONSTRAINT UN_BOOKNAME UNIQUE (bookname)
);

4,检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。

语法格式:

CONSTRAINT constraint_name CHECK(condition)
[语法说明:]
CONSTRAINT:关键词
constraint_name:约束名称
condition:约束条件
举例:创建BOOKINFO表时,给图书价格加上一个检查约束,要求图书价格在10元到100元之间。
CREATE TABLE BOOKINFO
(
    BOOKID INT,
    BOOKNAME CAHR,
    PUBLISH VARCHAR2(20),
    PUBDATE VARCHAR2(20),
    PRICE    DECIMAL,
    AUTHOR    CHAR,
    STORE    VARCHAR2(1),
    READER INT,
    REMARKS VARCHAR2(50),
    CONSTRAINT    CK_PRICE    CHECK(PRICE>=10 AND PRICE <= 100)
);

5,非空约束:约束该列一定要输入值。

非空约束的概念就是指一个字段上的内容不能为null,如果要制定非空约束,只需要在创建表的时候加上 not null。

举例:在创建BOOKINFO表时,给图书名称加上一个非空约束。

CREATE TABLE BOOKINFO
(
BOOKID INT NOT NULL,
BOOKNAME CHAR NOT NULL,
PUBLISH VARCHAR2(20),
PUBDATE VARCHAR2(20),
PRICE DECIMAL,
AUTHOR CHAR,
STORE VARCHAR2(1),
READER INT,
REMAERKS VARCHAR2(50)
);

这下,我们对表结构的操作,以及对表中数据的操作有了一个大概的认识,同时也了解了Oracle中的几种主要数据类型和五种约束类型。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
11天前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
27 3
|
24天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
24天前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
90 2
|
6天前
|
存储 Oracle 关系型数据库
【数据库-Oracle】《Oracle 数据库探秘:基础知识点全攻略》
《Oracle 数据库探秘:基础知识点全攻略》深入介绍 Oracle 数据库的基础知识点,包括数据类型、表结构、查询语句等。通过详细讲解、代码示例和流程图,帮助读者快速掌握 Oracle 数据库的基本操作,为数据库开发和管理打下坚实基础。
18 0
|
7天前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,
|
Oracle 关系型数据库
Oracle操作总结
聚合函数: count sum max min avg count返回的结果集中行的数目 sum max min avg顾名思义。但是要注意聚合函数强调的是"结果集中……",强调了 现在进行的操作对象是结果集 注意NULL不参与聚合函数的预算,要想其参加运算那么要将其转换为非空的值 分组: 在一个查询中需要进行多次统计就需要就必须使用分组 where是分组前过滤,过滤的是原始数据。
841 0
|
2月前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
|
2月前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
1月前
|
Oracle 安全 关系型数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法探讨
删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法(不考虑全库备份和利用归档日志)。

推荐镜像

更多