(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 表名;
刪除表中的資料,表結構還在,不寫日誌,無法找回被刪除的資料,刪除速度快