Oracle数据库----表中数据的操作(插入、更新、删除数据)

一、插入数据

INSERT语法的基本结构如下:

INSERT INTO <table_name > (column_name 1, column_name 2, column_name n) 
VALUESvalues 1, values 2,, values n) 

其中,column_name 1, column_name 2…, column_name n必须是指定表名中定义的列,而且必须和VALUES子句中的值values 1, values 2,, values n一一对应,且数据类型相同。

如:向表Sys_User中插入数据

insert into Sys_User (UserID, UserName, UserType, UserPwd, Remark )
values('1', 'Admin', '1', 'Admin', null);

在这里插入图片描述

向表的所有列添加数据时,也可省略INSERT INTO子句后的列表清单,但需要注意的是,必须根据表中定义的列的顺序,为所有列提供数据

如:向表Sys_User中插入数据

insert into Sys_User VALUES('2','Zhang', '2', 'Zhang', null);

在这里插入图片描述

插入多行数据的简单方法:

1、将表一的全部数据添加到表二中

使用SELECT语句查询出的结果代替VALUES子句。这种方法的语法结构如下:

INSERT INTO <table_2> (column_name 1, column_name 2, column_name n) 
SELECT column_name[,…n]
FROM table_1
WHERE search_conditions 

如:向Courses表中添加数据,创建“Courses”表的一个副本Courses1,将Courses表的全部数据添加到Courses1表中。

insert into Courses values('0001','大学语文',4);
insert into Courses values('0002','高等数学',4);
insert into Courses values('0003','计算机基础',4);
insert into Courses values('0004','数据库概论',4);

在这里插入图片描述

创建副本Courses1,只复制Courses的结构
create table Courses1 as select * from Courses where 1=0;

在这里插入图片描述

将Courses表中的数据拷贝到Courses1中
insert into Courses1 
select Course_ID, Cname, Credits FROM Courses;

在这里插入图片描述

创建副本的同时复制结构和数据
Create table Courses2
as SELECT * from Courses;

在这里插入图片描述

2、一次性向单个或多个表中插入不同的数据

先创建两个表:

CREATE TABLE Course
(Course_ID Varchar2(4),
Cname Varchar2(20),
Credits NUMBER(1) );
CREATE TABLE Sys_Use
(UserID Number Primary Key,
UserName Varchar2(20) NOT NULL,
UserType Number(1),
UserPwd Varchar2(40),
Remark Varchar2(200)
);

在这里插入图片描述

然后向不同的表中输入带清单和不带清单的多行不同数据数据

insert all
	into Sys_Use (UserID, UserName, UserType, UserPwd, Remark )
values('1', 'Admin', '1', 'Admin', null)
	into Sys_Use VALUES('2','Zhang', '2', 'Zhang', null)
	into Sys_Use VALUES('3','Chen', '3', 'Chen', null)
	into Course values('0001','大学语文',4)
	into Course values('0002','高等数学',4)
	into Course values('0003','计算机基础',4)
	into Course values('0004','数据库概论',4)
select * from dual;

在这里插入图片描述


二、更新数据

使用UPDATE命令修改表中的数据

UPDATE <table_name > SET column_name 1=values 1,column_name 2=values 2,,column_name n=values n
   WHERE search_conditions

如果不带WHERE子句,则表中的所有行都将被更新

将Course表中大学语文的学分改为3
update Courses set Credits=3 where Cname='大学语文';

在这里插入图片描述


三、删除数据

使用DELETE命令删除表中的数据

 DELETE FROM table_name [WHERE search_conditions]

如果省略了WHERE search_conditions子句,就表示删除数据表中全部的数据;如果加上了 [WHERE search_conditions]子句就可以根据条件删除表中的数据。

删除Courses1表中所有的数据。
delete from Courses1;

在这里插入图片描述

删除Courses表中学分为3的记录
delete from Courses where Credits=3;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hyh17808770899/article/details/106478455