1. 程式人生 > >oracle資料庫逐步學習總結【基礎二】

oracle資料庫逐步學習總結【基礎二】

 

原創作品,轉載請在文字開頭明顯位置註明出處:https://www.cnblogs.com/sunshine5683/p/10067872.html

接著上一篇,繼續總結!

 

五、oracle表管理

首先,在開頭說一下sys使用者和system使用者的區別:sys使用者是超級管理員,許可權最大,system是系統管理員,許可權次之,一般在管理系統時使用system足以。

 

1、命名規則:

1> 表名必須以字母開頭

2> 長度不能超過30字元

3> 不能使用oracle的保留字

4>只能使用A-Z、a-z、0-9、$、#等

 

2、資料型別:

char:固定大小,佔記憶體,比如char(10)中存放兩個字元,那麼其餘的8個字元就用空字元佔用,也在佔記憶體

varchar2:可變大小,佔空間小,查詢速度相對char慢,比如存放兩個字元,其餘的位置不佔用,也就是隻要不超過定義的範圍,實際用多少佔多少,最大4000個字元

number:可以表示小數,也可以表示整數,大小在-10的38次方到10的38次方

number(3,2):表示一個數有3位有效數字,其中小數位佔兩位,即-9.99----9.99

number(5):表示一個五位整數,即-99999---99999

date:時分秒

blob:二進位制資料,可以存放圖片、聲音,最大4G

 

3、建表

新建一張表,語句:

給一個表增加一個欄位

修改欄位的長度:

alter table student modify(xm varchar2(30));

 

刪除一個欄位:

alter table student drop column sal;   該操作風險,注意慎用

 

修改表名字

rename student to stu;

 

刪除表

drop table student;

 

查詢表;

select * from student;

 

新增資料:

insert into student values('A001','黎明','男','01-05月-2018','3.03',12); 注意日期格式,預設日月年

修改日期預設格式:

alter session set nls_date_format='yyyy-mm-dd';

這時候insert into student values('A001','黎明','男','01-05月-2018','3.03',12); 語句就會報錯,必須改為

insert into student values('A001','黎明','男','2018-05-01','3.03',12); 

 

插入部分欄位:

insert into student (xh,xm,sex) values ('A002','jonn','男')

 

插入空值:

insert into student (xh,xm,sex,birthday) values('A003','marry','男',null);

此時要查詢出生日期為null的欄位:

select * from student where birthday is null;

查詢出生日期不為空的欄位:

select * from student where birthday is not null;

 

修改欄位值

update student set sal = sal/2 where sex='男';

 

修改多欄位:

update student set sal=sal/2,classId=4 where sex='男';

 

刪除資料

delete from student ;  //刪除了所有的記錄,表結構儲存,進行了寫日誌,可以快速回復

恢復:在刪除之前建立回滾點:savepoint xx;

然後刪除資料

然後:rollback回滾,資料恢復完成,但是再刪除後還未commit的時候起作用,一旦commit了,就無效了,如下過程

 

 六、oracle的表查詢(下次繼續總結....)