oracle 學習筆記1

2021-08-20 09:20:34 字數 1929 閱讀 3306

1、oracle常見約束

primary key: 主鍵

foreigh key:外來鍵

check:檢查

unique:唯一

not null:非空

default:預設

2、概念

主鍵:表中能夠用於唯一標識某行資料的某一列或多列的組合,通過主鍵在表中能找到唯一的一條記錄,主鍵預設具有唯一非空的特性。

外來鍵:表中某行資料的取值受自身表或者其他表的某列取值的限制,也就是說此列取值只能來自於某列的取值,則此列稱為外來鍵列。

3、刪除資料庫中的資料有幾種語法?delete、truncate的區別?

使用範圍:

truncate:刪除表中所有資料

delete:刪除表中所有資料(加條件則刪除部分資料)

自動增加的序列:

truncate:從建表時的初始值開始

delete:在原有的值基礎上增加

效能:truncate:效率高,不寫日誌,不留痕跡

delete:效率略低,寫日誌,可以回滾,可以撤銷

4、複製表

1)複製一張空表,表結構跟t_student完全一致(備份表事先必須存在)

create table 備份表名 as select * from 源表 where 條件;

create table t_student_bk as select * from t_student where 1=1;

2)備份表事先可以不存在

insert into t_student_bk3 select s_id,'問題小生','男',23,s_hobby from t_student;

5、更新約束

語法:(約束的新增和刪除)

alter table table_name add constraint constraint_name

alter table table_name drop constraint constraint_name;

-- 給選定的列設定為非空(當設定not null後,insert和update時此列必須指定值,除非此列有預設值)

alter table t_teacher modify s_sname varchar2(30) not null;(若已存在s_sname為空的字段,則更改約束失敗)

update t_teacher set s_sname='未命名' where s_sname is null;(將為空的都改為「未命名」,那就變成非空了)

alter table t_teacher modify s_sname varchar2(30) not null;

-- 給選定的列設定為空

alter table t_teacher modify s_sname varchar2(30) null;

-- 設定唯一性

alter table t_teacher add constraint uq_teacher_id unique(s_id);

-- check檢查約束

alter table t_teacher add constraint ck_teacher_age check(s_age>=22 and s_age<=60);

-- 增加外來鍵

級聯刪除主鍵資料,當刪除主鍵資料時,同時刪除引用資料

alter table t_teacher add constraint fk_teacher_dpid foreign key(department_id) references t_department(d_id) on delete cascade;

當主表資料刪除時,從表(子表)外來鍵列的值設定為null

alter table t_teacher add constraint fk_teacher_dpid foreign key(department_id) references t_department(d_id) on delete set null;

oracle學習筆記1

oracle安裝會自動的生成sys 使用者 和 system使用者 1 sys使用者是 超級使用者,具有最高許可權,具有sysdba角色,有create database 的許可權,預設密碼manager 2 system使用者是 管理操作員,許可權也非常大,具有sysoper角色,沒有create...

Oracle 學習筆記1

建立表空間 create tablespace 空間名稱 建立使用者 create user 使用者名稱 identified by 密碼 授權 grant dba to 使用者名稱 dmp檔案匯出 1 將資料庫test完全匯出,使用者名稱system 密碼manager,例項名test 匯出到d ...

oracle 學習筆記 1

第一天 1.為什麼要學oracle 2.介紹oracle 和 oracle 公司的背景 3.oracle的安裝,啟動和解除安裝 4.oracle開發工具介紹 5.sql plus的常用命令 6.oracle使用者的管理 效能優越 市面上的主流資料庫 mysql 開發者為 瑞典 mysqlab公司,在...