-
基本的查詢語句截圖
查看全部 -
非空約束--只能在列級設置,不能在表級設置
主鍵約束--每張表只能有一個,有的可以由多個字段構成;
外鍵約束--2張表之間關系的
唯一約束
檢查約束
更改約束名稱:
數據字典 user_constraints
rename constraint old_name to new_name;
刪除約束:
alter table table_name
modify column_name datatype NULL;
disable|enable constraint constraint_name;
drop constraint constraint_name;
drop primary_key;
查看全部 -
通過數據字典查看檢查約束名稱
select constraint_name,constraint_type,status from user_constraints
where table_name='USERINFO_C3';
alter table userinfo_c3
disable constraint CK_SALARY_NEW;
select constraint_name,constraint_type,status from user_constraints
where table_name='USERINFO_C3';
constraint_type C check 檢查約束
alter table userinfo_c3
drop constraint CK_SALARY_NEW;
查看全部 -
在修改表時候添加檢查約束
create table userinfo_c3
(id varchar2(10) primary key,
username varchar2(20),
salary number(5,0));
alter table userinfo_c3
add constraint ck_salary_new check(salary>0);
查看全部 -
檢查約束可以有多個
create table userinfo_c
(id varchar2(10) primary key,
username varchar2(20),
salary number(5,0) check(salary > 0));
insert into userinfo_c values(1,'aaaa',-20);
表集的檢查約束多數check開頭
create table userinfo_c1
(id varchar2(10) primary key,
salary number(5,0),
constraint ck_salary check(salary>0));
查看全部 -
第二章數據表空間、、。
查看全部 -
select constraint_name,constraint_type,status from user_constraints
where table_name='USERINFO_U2';
constraint_type U 唯一約束
alter table userinfo_u2
disable constraint UNI_USERNAME_NEW;
select constraint_name,constraint_type,status from user_constraints
where table_name='USERINFO_U2';
alter table userinfo_u2
drop constraint UNI_USERNAME_NEW;
查看全部 -
在修改表時添加唯一約束
add constraint constraint_name unique(column_name);
create table userinfo_u2
(id varchar2(10) primary key,
username varchar2(20));
alter table userinfo_u2
add constraint uni_username_new unique(username);
查看全部 -
唯一約束和主鍵約束的區(qū)別:
1.主鍵字段值必須是非空的
唯一約束允許有一個空值
2.主鍵一個表只能有一個
? 唯一約束可以有多個
在創(chuàng)建表的時候加上唯一約束
在列級設置唯一約束
create table userinfo_u
(id varchar2(10) primary key,
username varchar2(20) unique,
userpwd varchar2(20));
在表級設置唯一約束
create table userinfo_u1
(id varchar2(10) primary key,
username varchar2(20),
constraint un_username unique(username));
唯一約束,約束名稱多以un_開頭
查看全部 -
1.禁用外鍵
disable|enable constraint constarint_name
select constraint_name,constraint_type,status from user_constraints where table_name='USERINFO_F4';
constraint_type P主鍵約束 R外鍵約束
alter table userinfo_f4
disable constraint FK_TYPEID_ALTER;
2.徹底刪除外鍵
drop constraint constraint_name;
alter table userinfo_f4
drop constraint FK_TYPEID_ALTER;
查看全部 -
create table userinfo_f4
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10));
alter table userinfo_f4
add constraint fk_typeid_alter foreign key(typeid_new)references typeinfo(typeid);
查看全部 -
創(chuàng)建表時設置外鍵約束
查看全部 -
外鍵約束哪個表是從表,哪個是主表references 字段應用。
主表的字段必須是主鍵
設置外鍵主從表中的字段必須是相同的字段類型的。
在向設置了外鍵約束的表輸入值的時候,該內容主表必須是存在的,或者是null
查看全部 -
主鍵約束
確保表當中每一行數據的唯一性
1.非空 2.唯一
一個表只能有一個主鍵約束
一個主鍵約束可以由多個字段構成;
設置了主鍵約束,自動是非空約束;
create table userinfo_p1
(id number(6,0),
username varchar2(20),
userpwd varchar2(20),
constraint pk_id_username primary key(id,username));
desc user_constraints;
user_constraints 數據字典,如果忘記了約束的名稱,可以由此查看
select constraint_name from user_constraints where table_name='USERINFO_P1';
查看全部 -
create table userinfo_f2
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10),
constraint fk_typeid_new foreign key(typeid_new)references typeinfo(typeid));
使用接連刪除創(chuàng)建的外鍵約束
create table userinfo_f3
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10),
constraint fk_typeid_new1 foreign key(typeid_new)references typeinfo(typeid) on delete cascade);
查看全部 -
I.在創(chuàng)建表時設置外鍵約束
主表
create table typeinfo
(typeid varchar2(10) primary key,
typename varchar2(20));
從表
create table userinfo_f
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10) references typeinfo(typeid));
insert into typeinfo values(1,1);
insert into userinfo_f(id,typeid_new) values(1,2);---2插入不了
insert into userinfo_f(id,typeid_new) values(1,null);
null 是可以插入的;
II.在修改表時添加外鍵約束
III.刪除外鍵約束
查看全部 -
修改表時添加主鍵的約束
add constraint constraint_name primary key(column_name1,....);
alter talbe userinfo
add constraint pk_id primary key (id);
select constraint_name from user_constrains where table_name='USERINFO';
更改約束的名稱
rename constraint old_name to new_name;
---不僅僅可以修改主鍵的約束,也可以修改任何約束的名稱;
alter table userinfo
rename constraint pk_id to new_pk_id;
select constraint_name from user_constraints where table_name = 'USERINF';
刪除主鍵的約束
disable|enable constraint constraint_name;
disable 禁用當前的約束;
alter table userinfo
disable constraint new_pk_id;
select constaint_name,status from user_constraints where table_name = 'USERINFO';
status字段查看是否被禁用的約束
刪除約束
drop constraint constraint_name;
drop constraint new_pk_id;
select constraint_name,status from user_constraints where table_name='USERINFO';
drop primary key[caseade] ;----刪除主鍵約束
cascade 如果主鍵有外鍵約束用到
alter table userinfo_p
drop primary key;
desc userinfo_p;---- not null 已經沒有了;
查看全部 -
非空約束---字段不可為空
在創(chuàng)建表時設置非空約束
create table table_name(
? ? ? ?column_name datetype NOT NULL,..... );
? ? NOT NULL 非空
? ?create table userinfo_1
(id number(6,0),
username varchar2(20) not null,
userpwd varchar2(20) not null);
desc userinfo_1;
如果不給username插入值會出錯,如果有默認值則為默認值;
2.在修改表時添加非空約束
alter table table_name
modify column_name datatype NOT NULL;
alter table userinfo modify username varchar2(20) not null;
如果表中含有空值字段,不可執(zhí)行not null
3.在修改表時去除非空約束
alter table table_name modify column_name datetype NULL;
alter table userinfo
modify username varchar2(20) null;
desc userinfo;
查看全部
舉報