雖然神奇但還是要理解的Oracle資料庫 基本語句

2021-08-09 08:01:32 字數 3244 閱讀 4552

(正在學習,理解較淺,若有錯誤,歡迎指正)

1.表空間

建立永久表空間

create tablespace 表空間名 datafile 『***x.dbf』(表空間的路徑及檔案格式) size xx(表空間大小,如 10m );

建立臨時表空間

createtemporarytablespace 表空間名 datafile 『***x.dbf』(表空間的路徑及檔案格式) size xx(表空間大小,如 10m );

刪除表空間:

(刪除空表空間,不包含物理檔案) drop tablespace 表空間名

(刪除非空表空間,不包含物理檔案) drop tablespace 表空間名 including contents

(刪除空表空間,包含物理檔案) drop tablespace 表空間名 including datafiles;

(刪除非空表空間,包含物理檔案) drop tablespace 表空間名 including contents and datafiles;

(刪除其他表空間表字段關聯到本空間內錶的字段)drop tablespace 表空間名 including contents and datafiles cascacde constrints;

2.使用者

建立使用者

create user 使用者名稱 identified by 密碼;

刪除使用者

(刪除空使用者)drop user 使用者名稱

(刪除非空使用者)drop user 使用者名稱 cascade;

3.許可權

許可權可以單獨寫給某個使用者。

一般新使用者,需要connect,resource 許可權。

sql: grant connect,resource to 使用者名稱;

也可以將許可權寫個角色,再將角色給某個使用者。

4.表

建立表

create table 表名(字段 字段型別,…,字段 字段型別);

查詢表內容

select * from 表名;(查詢該錶下所有資料)

查詢表結構

desc/describe 表名;

修改表名

rename 表名 to 新錶名;

刪除表(表和資料全部刪除)

drop table 表名;

刪除表 (只刪除表中資料)

truncate table 表名;

修改表字段(對錶的操作貌似都以alter開頭)

(新增字段,新增的字段只能新增到字段末尾)alter table 表名 add 字段 字段型別;

(刪除字段)alter table 表名 drop column 字段;

(修改欄位名)alter table 表名 rename column 欄位名 to 新欄位名:

(修改字段型別)alter table 表名 modify 字段 字段型別;

5.資料

新增資料

insert into 表名(字段,…,字段) values(字段值,…,字段值);

刪除資料

(刪除該錶下,某字段中某個值的資料)delete from 表名 where 字段=字段值;

查詢資料

(查詢乙個表中所有資料或者某幾個欄位的所有資料)select */欄位1,…,欄位n from 表名;

更新資料

(更新某字段下所有資料)update 表名 set 字段 = 字段值;

(更新某字段下符合條件的資料) update 表名 set 字段 = 字段值 where 條件;

設定某字段的預設值

方式一:建表時create table 表名(字段 字段型別 default 預設值);

方式二:修改表alter table 表名 modify 字段 default 預設值;

6.約束

非空約束(該字段的值不能為空)

方式一:建表時 create table 表名(字段 字段值 not null);

方式二:修改表 alter table 表名 modify 字段 not null;

唯一約束(該字段下的所有值唯一不重複)

方式一:建表時 create table 表名(字段 字段值,…,字段 字段值,constraint 約束名 unique(字段/多個以逗號隔開的字段));

方式二:修改表 alter table 表名 add constraint 約束名(字段/多個以逗號隔開的字段);

主鍵約束

方式一:建表時(約束名不明確) create table 表名(字段 字段型別 primary key,字段 字段型別…);

方式二:建表時(約束名明確)create table 表名(字段 字段型別,…,constraint 約束名 primary key );

方式三:修改表 alter table 表名 add constraint 約束名 primary key(主鍵字段);

外來鍵約束

方式一:建表時(約束名不明確) create table 表名(字段 字段型別 references 主表 (字段),…);

方式二:建表示(約束名明確) create table 表名(字段 字段型別,…,字段 字段型別,constraint 約束名 foreign key(從表字段) references 主表名(字段));

方式三:修改表 alter table 表名 add constraint 約束名 foreign key(從表字段) reference 主表(字段);

檢查約束

方式一:建表時(約束名不確定)create table 表名(欄位名 字段型別 check(條件));

方式二:建表時(約束名確定)create table 表名(欄位名 字段型別 ,constraint 約束名 check(條件));

方式三:修改表 alter table 表名 add constraint 約束名 check(條件);

修改約束名

alter table 表名 rename constraint 約束名 to 新約束名;

禁用約束

alter table 表名 disable constraint 約束名;

刪除約束

alter table 表名 drop constraint 約束名;

oracle資料庫例項,資料庫的理解

資料庫就是乙個相片底片 例項就是相紙 乙個底片可以衝多個相紙,但一張相紙最多衝乙個底片。tom的乙個解釋 資料庫 database 物理作業系統檔案或磁碟 disk 的集合。使用oracle 10g 的自動儲存管理 automatic storage management,asm 或raw 分割槽時...

oracle資料庫例項,資料庫的理解

資料庫就是乙個相片底片 例項就是相紙 乙個底片可以衝多個相紙,但一張相紙最多衝乙個底片。tom的乙個解釋 資料庫 database 物理作業系統檔案或磁碟 disk 的集合。使用oracle 10g 的自動儲存管理 automatic storage management,asm 或raw 分割槽時...

監聽 監測oracle資料庫執行的SQL語句

select a.sid,a.serial a.status,a.username,哪個使用者執行的sql d.spid 程序號,b.sql text sql內容,a.machine 計算機名稱,a.module 執行方式,to char cast c.sofar totalwork 100 as ...