Oracle基礎——學習筆記

一【用戶】sys\system\sysman\scottsql

一、查看數據庫全部用戶(dba_users數據字典):數據庫

select username from dba_users;express

二、查看當前用戶:spa

show user;設計

三、啓用(解鎖)數據庫用戶:orm

alter user username account unlock;事務

 

二【表空間】字符串

數據庫與表空間的關係:一個數據庫能夠有一個或多個表空間;it

表空間與數據文件的關係:一個表空間對應一個數據文件;io

永久表空間:主要用於存放表、視圖、存儲過程;

臨時表空間:主要用於存放一些數據庫操做當中中間執行的過程,當執行完成以後存放的內容會自動被釋放掉,不進行永久性保存;

UNDO表空間:主要用於保存事務所修改數據的舊值,也就是說被修改以前的數據;

一、查看用戶的表空間(dba_tablespaces和user_tablespaces、dba_users和user_users數據字典):

select tablespace_name from dba_tablespaces;

select tablespace_name from user_tablespaces;

select username,default_tablespace,temporary_tablespace from dba_users;

select username,default_tablespace,temporary_tablespace from user_users;

二、設置用戶的默認或臨時表空間:

alter user username defalut|temporary tablespace tablespace_name;

三、建立表空間:

create [temporary] tablespace tablespace_name tempfile|datafile 'xx.dbf' size xx;

四、查看錶空間對應數據文件的路徑(dba_data_files和dba_temp_files數據字典):

select tablespace_name,file_name from dba_data_files;

select tablespace_name,file_name from dba_temp_files;

五、修改表空間的狀態:

(聯機或脫機)

alter tablespace tablespace_name online|offline;

(只讀或可讀寫)

alter tablespace tablespace_name read only|read write;

六、修改表空間的數據文件:

(增長數據文件)

alter tablespace tablespace_name add datafile 'xx.dbf' size xx;

(刪除數據文件)

alter tablespace tablespace_name drop datafile 'xx.dbf';

七、刪除表空間:

drop tablespace tablespace_name [including contents]--包括數據文件一併刪除

 

三【認識表】

一、——基本存儲單位;二維結構;行和列;

約定: 

1)、每一列數據必須具有相同的數據類型;

2)、類名惟一;

3)、每一行數據的惟一性;

二、數據類型——字符型、數值型、日期型、其餘類型

字符型——char(n)[n最大值爲2000]、nchar(n)[n最大值爲1000]

        ——varchar2(n)、nvarchar2(n)

數值型——number(p,s)[p爲有效數字,s爲小數點後的位數]

        ——float(n)

日期型——date[表示範圍:公元前4712年1月1號到公元9999年12月31號,可精確到秒]

        ——timestamp[可精確到毫秒]

其餘類型——blob[可存放4GB的數據,以二進制形式來存放]

           ——clob[可存放4GB的數據,以字符串形式來存放]

一、建立表:

create table table_name(

column_name datatype,

……

);

二、修改表:

(添加字段)

alter table table_name add column_name datatype;

(更改字段數據類型)

alter table table_name modify column_name datatype;

(刪除字段)

alter table table_name drop column column_name;

(修改字段名)

alter table table_name rename column old_column_name to new_column_name;

(修改表名)

rename table_name to new_table_name;

三、刪除表:

truncate table tablename;--不刪除表,只清空table_name表中的數據,速度快

drop table table_name;--刪除表

 

四【操做數據】

一、插入數據:

insert into table_name (column1,column2,...) values(value1,value2,...);

二、給字段添加默認值:

create table table_name(column1 datatype default sysdate,column2 datatype,...);

alter table table_name modify column_name default sysdate;

三、複製數據:

create table table_name1 as select column1,column2,... from table_name2;

insert into table_name1 [(column1,...)] select column1,... from table_name2;

四、修改數據:

update table_name set column1=value1,... [where conditions];

五、刪除數據:

delete from table_name [where conditions];

truncate table table_name;

 

五【約束】

做用:定義規則;確保完整性;

一、非空約束

1)、添加非空約束:

create table table_name(column_name datatype not null,...);

alter table table_name modify column_name datatype not null;

2)、刪除非空約束:

alter table table_name modify column_name datatype null;

二、主鍵約束[一張表只能設計一個主鍵約束;主鍵約束能夠由多個字段構成(聯合主鍵或複合主鍵)]

1)、添加主鍵約束:

create table table_name (column_name datatype primary key,...);

create table table_name (column_name1 datatype,column_name2 datatype,...,

constraint constraint_name primary key(column_name1,column_name2,...));--建立聯合主鍵

2)、修改表添加主鍵約束:

alter table table_name add constraint constarint_name primary key (column1,column2,...);

3)、重命名主鍵約束:

rename constraint old_constraint_name to new_constraint_name;

4)、啓用|禁用主鍵約束:

alter table table_name disable|enable constraint constraint_name;

5)、刪除主鍵約束:

alter table table_name drop constraint constraint_name;

alter table table_name drop primary key [CASCADE];

三、外鍵約束

1)、添加外鍵約束:

create table table1 (column_name datatype references table2(column_name),...);

[table2的column_name需爲主鍵且主外鍵的數據類型必須相同,外鍵的值要麼包含於主表主鍵的值,要麼爲null]

create table table1 (column_name datatype,...,

constraint constraint_name foreight key (column_name) references table2(column_name) [on delete CASCADE]);

2)、修改表添加外鍵約束:

alter table table1 add constraint contraint_name foreight key(column_name) references table2(column_name) [on delete CASCADE];

3)、啓用|禁用外鍵約束:

alter table table_name disable|enable constraint constraint_name;

4)、刪除外鍵約束

alter table table_name drop constraint constraint_name;

四、惟一約束

1)、添加惟一約束:

create table table_name (column_name datatype UNIQUE,...);

create table table_name (column_name datatype,...,

constraint constraint_name UNIQUE(column_name));

2)、修改表添加惟一約束:

alter table table_name add constraint constraint_name UNIQUE(column_name);

3)、啓用|禁用惟一約束:

alter table table_name disable|enable constraint constraint_name;

4)、刪除惟一約束

alter table table_name drop constraint constraint_name;

五、檢查約束

1)、添加檢查約束:

create table table_name (column_name datatype check(expressions),...);

create table table_name (column_name datatype,...,

constraint constraint_name check(expressions));

2)、修改表添加檢查約束:

alter table table_name add constraint constraint_name check(expressions);

3)、啓用|禁用檢查約束:

alter table table_name disable|enable constraint constraint_name;

4)刪除檢查約束:

alter table table_name drop constraint constraint_name;

 

六【數據查詢】

一、基本查詢數據:

select [distinct] column_name1,... from table_name [where conditions];

二、在sqlplus中設置格式:

col column_name heading new_name;

col column_name format dataformat;

col column_name clear;--格式清除

相關文章
相關標籤/搜索