1. 程式人生 > >(ORACLE)PL/SQL 表的相關操作

(ORACLE)PL/SQL 表的相關操作

資料表的相關操作

建立表

create table 表名
(欄位1 資料型別,
欄位2 資料型別);

create table student
(name varchar2(20),
stuId number(3),
add varchar2(50));

修改表

新增一個欄位

alter table 表名 add
(欄位名 資料型別);

alter table student add
(classId number(2));

查看錶

desc 表名

修改欄位的資料長度

alter table 表名

modify
(欄位名 新修改的資料長度);

alter table student modify
(name varchar(30));

修改欄位資料的長度,如果該欄位內無任何資料,則修改成功
如果欄位內已經有資料並且輸出長度超過設定的長度,則無法更改

修改欄位的資料型別(該欄位內不能有資料,如果修改同類型時精度必須高於原資料型別

alter table 表名 modify
(欄位名 新資料型別);

alter table >alter table student modify
(add char(50));

修改欄位名

alter table 表名 rename column 原欄位 to 新欄位;

alter table student rename column name to stuname;

刪除欄位

alter table 表名 drop column 欄位;

alter table student drop column name;

修改表的名字

rename 表名 to 新表名;

rename student to stu;

刪除表

drop table 表名

;

drop table student;

對所有欄位插入值

insert into 表名 values (對應欄位對值用逗號分隔);

insert into student values (‘小王’,12,‘北京’);

日期格式設定

Oracle中預設對日期格式是’DD-MON-YY’ DD是 日子(天) MON是 月份 YY是2位的年 如‘09-6月-99’ 就是 1999年 6月 9日

修改日期的預設格式

alter session set nls_date_format = ‘yyyy-mm-dd’;

修改以後就可以用我們熟悉的格式新增日期型別了

insert into student values (‘小王’,12,‘北京’,1998-02-02’);

對null值的操作

對如下學生表 欄位birthday插入值為null,如何查詢birthday值為null或不為null的行

insert into student (name,age,add,birthday) values (‘小明’,12,‘北京’,null);

查詢student表下birthday欄位值為null的行

select * from student where birthday is null;

查詢student表下birthday欄位為非null的行

select * from student where birthday is not null;

修改一個欄位的值

update 表名 set 欄位名 = 新值 where 欄位名 = 原值;

修改多個欄位

update 表名 set 欄位1 = 新值,欄位2 = 新值 where 欄位 = 原值

刪除資料

delete from 表名

刪除所有資料,表結構還在,寫日誌,可以恢復,刪除速度慢
刪除之前需要先使用命令 savepoint a設定回滾點 然後再使用命令rollback to a 回滾操作恢復資料 ’a‘ 為回滾點,名字可以自己命名。

drop table 表名;

刪除表和資料結構

delete from 表名 where 欄位名 = ;

刪除表中的某一條資料

truncate table 表名;

刪除表中的資料,表結構還在,不寫日誌,無法找回被刪除的資料,刪除速度快