Oracle之数据增删改查

数据操作语言用于插入、删除、修改、检索数据。
数据操作语言包括INSERT、DELETE、UPDATE、SELECT。

插入数据

INSERT INTO 表名(列名1,列名2...) VALUES (值1,值2....)

INSERT INTO 表名 VALUES (值1,值2....)

注:

  1. 在表名后面可以不添加列名,此时输入的值为该表的所有列,列名顺序为定义表时的先后顺序。且输入时要注意值的数量和顺序要和列的数量和顺序相一致。

  2. 每次插入的时候要匹配位数和顺序

  3. 每个数据值的数据类型、精度和小数位数必须与相应的列匹配

  4. 如果设计表的时候就指定了某列不允许为空,则必须插入数据

  5. 插入的数据项,要求必须符合检查约束的要求

  6. 如果缺省值得列,可以用DEFAULT关键字来代替插入的数值

insert into select_tab(stuno,stuname) values (1,'马云');

insert into select_tab(stuno) values (2);

insert into select_tab values (3,'马云3');

在Oracle之中可以插入多行数据可以通过insert into 将select获取的值传递给表。

insert into <表名>(列名)

select <列名>

from <源表名>

insert into select_tab1(stuno,stuname) select stuno,stuname from select_tab;

在插入多行数据的时候可以使用一个特殊的表dual表,来插入数据,此时插入的数据不是从表里面输入而是直接在代码中手动输入的值。

注:Dual是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中。

insert into <表名>(列名)

select <列名> from dual UNION ALL

...

select <列名> from dual;

在两个select中间有两种选择一个是union all和union,其中UNION对两个结果集进行并集操作,不包括重复行,同时进行默认规则排序。UNION ALL对两个结果进行并集操作,包括重复行,不进行排序。

insert into select_tab1(stuno,stuname)

select 4,'马云4' from dual

union all

select 5,'马云5' from dual;

删除数据

delete from 表名 where 条件

在删除数据的时候,不可能对所有的数据进行操作,我们需要对所有数据进行筛选,筛选出最符合的那一条数据,使用的where,当然还有其他语言,在此就不介绍了。

delete from select_tab1 where stuno=7;

更改数据

update 表名 set 列名1=值 列名2=值 .... where 条件

注:添加了where是对某个条件操作,不添加则是操作整列。

update select_tab1 stuname='change' where stuno=6;

查询数据

Oracle的基础部分难点与重点是查询数据,此处只是一个简单的查询介绍。

select 列名 from 表名 where 条件

注:当列名处为*表示显示该表所有信息。添加了where是对某个条件操作,不添加则是操作整列。

select * from select_tab1;

(1)赋值

在更改表的时候我们有时需要一列值赋予一个值。

update select_tab1 set stuname='马云云';

(2)Dual

dual是一个很奇特的表,其是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中。

select '1' from dual;                    输出1

select sysdate from dual;           访问当前时间

select 1*2 from dual;                  输出算数结果

posted @ 2022-02-17 22:56  Hnoss  阅读(309)  评论(0编辑  收藏  举报