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公司,在...