-
在修改表时添加唯一约束
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 un_username_new unique(username);
查看全部 -
唯一约束
唯一约束与主键约束的区别:
主键:字段必须是非空的,每张表中只有一个;
唯一约束允许有一个空值,每张表中可以有多个
1)在创建表时设置唯一约束
列级:CREATE TABLE table_name (column_name datatype UNIQUE,...)
例:
create table userinfo_u
(
id varchar2(10) primary key,
username varchar2(20) unique,
userpwd varchar2(20)
);
表级:
CONSTRAINT constraint_name UNIQUE(column_name)
例:
create table userinfo_u1
(
id varchar2(10) primary key,
username varchar2(20),
constraint un_username unique(username)
);
2)在修改表时添加唯一约束
3)删除唯一约束
查看全部 -
在修改表时添加外键约束
ADD CONSTRAINT containt_name FOREIGN KEY(column_name) REFERENCS table_name(column_name) [ON DELETE CASCADE]
例:
创建一个表
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) on delete cascade;
查看全部 -
2)在创建表时设置外键约束(表级)
CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES table_name(column_name)[ON DELETE CASCADE]
例:
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)
);
// 级联删除:
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
);
查看全部 -
外键约束
1)在创建表时设置外键约束
列级创建
CREATE TABLE table1(cloumn_name datatype REFERENCES table)
例:
创建主表
create table typeinfo
(
typeid varchar(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)
);
插入数据验证从表引用主表的字段值是不是源值或null
主表插入数据:insert into typeinfo(typeid,typename) values(1,1);
表级创建
2)在修改表时添加外键约束
3)删除外键约束
查看全部 -
在修改表时添加主键约束
alter table userinfo add constraint pk_id primary key(id);
desc user_contraints;
// 查看主键名称
select constaint_name from user_constaints where table_name='USERINFO';
3、更改约束的名称
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='USERINFO';
4、删除主键约束
1)禁用和启用主键约束
DISABLE|ENABLE CONSTRAINT constraint_name
例:
alter table userinfo disable constraint new_pk_id;
// 查看主键约束的状态
select constraint_name,status from user_cnstraints where table_name='USERINFO';
2)删除主键约束
DROP CONSTRAINT constraint_name
例:
alter table userinfo drop constraint new_pk_id;
// 查看主键约束
select constrint_name from user_constraints where table_name='USERINFO';
3)DROP PRIMARY KEY[CASCADE]
// 查看表结构信息
desc userinfo_p;
例:
alter table userinfo_p drop primary key;
// 查看主键约束
desc userinfo_p;
查看全部 -
0719查看全部
-
主键约束
作用:确保表当中数据的唯一性 非空 唯一
一张表只能设计一个主键约束
主键约束可以由多个字段构成(联合主键或复合主键)
1)在创建表时设置主键约束
CREATE TABLE table_name
(
column_name datatype PRIMARY KEY,...
)
例:
create table userinfo_2
(
id number(6,0) primary key not null,
username varchar2(20),
userpwd varchar2(20)
);
// 查看表结构
desc userinfo_2;
第二种 在创建表时设置主键约束的方法(联合主键或复合主键)
CONSTRAINT constraint_name PRIMARY KEY(column_name1,...)
例:
create table userinfo_11
(
id number(6.0),
username varchar2(20),
userpwd varchar2(20),
constraint pk_id_username primary key(id,username)
) ;
// 查看表结构
desc userinfo_11;
忘记约束名称,可以在user_constraint字典中查看。
desc user_constraint;
// 查看约束名称
select constraint_name from user_constraints where table_name='USERINFO_11';
2)在修改表时添加主键约束
3)更改约束的名称
4)删除主键约束
查看全部 -
非空约束
1)创建表时设置非空约束
CREATE TABLE table_name (
column_nam datatype NOT NULL,...
)
例:设置用户名和密码非空
create table userinfo_1
(
id number(6,0),
username varchar2(20) not null,
userpwd varchar2(20) not null
);
desc userinfo_1; // 查看表结构信息
设置了非空,插入数据时要特别注意:非空字段插入时,不能为空。
2)需改表时添加非空约束
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
在修改时设置非空约束时需注意,表中一定不能有数据。也就是在修改时添加非空约束的条件为表必须是没有数据的空表。
alter table userinfo modify username varchar2(20) not null;
desc userinfo;// 查看表结构信息
3)修改表时去除非空约束
ALTER TABLE table_name MODIFY column_name datatype NULL;
例:
alter table userinfo modify username varchar2(20) null;
// 查看表结构
desc userinfo;
查看全部 -
删除数据
DELETE语句
DELETE FROM table_name (删除表中全部数据) (truncate 语句效率高) WHERE conditions
1)无条件删除
重新创建一张表用作删除数据用
create table testdel as select * from userinfo;
select * from testdel;
delete from testdel;
2)有条件删除
select username from userinfo;
delete from userinfo where username='yyy';
select usename from usernfo;
查看全部 -
修改数据
UPDATE语句
1) 无条件修改
upate userinfo set userpwd='123456';
1)有条件修改
update userinfo set userpwd='111',email='111@126.com' where username='xxx';
查看全部 -
复制表
1)在建表时复制
CREATE TABLE table_new AS SELECT column1,...|* FROM table_old
例: 所有字段: create table userinfo_new as select * from userinfo;
部分字段:create table userinfo_new1 as select id,username from userinfo;
2)在添加时复制
INSERT INTO table_new [(column1,...)] SELECT column1,...|* FROM table_old
例: insert into userinfo_new select * from userinfo;
insert into userinfo_new (id,username) select id,username from userinfo;
查看全部 -
如何查看用户的表空间
1)dba_tablespaces
2)user_tablespaces
3)dba_users
4)user_users
desc dba_tablespaces;
select tablesplace_name from dba_tablespaces;
查看全部 -
查看表空间和临时表空间
select default_tablesapce,temporary_tablespace from dba_users where username='SYSTEM';
更改默认表空间
alter user system
default tablespace system;
查看全部 -
desc dba_tablespaces
select tablespace_name from dba_tablespaces;
desc user_tablespaces
select tablespace_name from user_tablespaces;
查看全部
举报