文章目录
一、插入数据
INSERT
语法的基本结构如下:
INSERT INTO <table_name > (column_name 1, column_name 2…, column_name n)
VALUES(values 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;