Oracle之数据增、删、改、查
数据操作语言用于插入、删除、修改、检索数据。
数据操作语言包括INSERT、DELETE、UPDATE、SELECT。
插入数据
INSERT INTO 表名(列名1,列名2...) VALUES (值1,值2....)
INSERT INTO 表名 VALUES (值1,值2....)
注:在表名后面可以不添加列名,此时输入的值为该表的所有列,列名顺序为定义表时的先后顺序。且输入时要注意值的数量和顺序要和列的数量和顺序相一致。
每次插入的时候要匹配位数和顺序
每个数据值的数据类型、精度和小数位数必须与相应的列匹配
如果设计表的时候就指定了某列不允许为空,则必须插入数据
插入的数据项,要求必须符合检查约束的要求
如果缺省值得列,可以用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获取的值传递给表。
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; 输出算数结果