文章目錄
一、插入數據
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;