create table preson( --创建preson表
id number(18),
name varchar2(100),
sex varchar2(10),
age number(3)
)
select * from preson;

create table person_1( --创建person_1表
id number(18),
name varchar2(100),
sex varchar2(10),
age number(3)
)
drop table person_1

alter table preson add(phone number(11),address varchar2(200)); --在表preson中添加两列和对应的类型长度
select * from preson;

alter table preson modify(address varchar2(1500)); --修改长度
alter table preson rename column address to address_new; --修改address列名
alter table preson drop column address_new; --删除address_new列
alter table preson drop (age,phone); --删除age、phone两列
/*drop table preson;*/ --删除preson表

--约束:为了数据的实体完整性、参照完整性,避免脏数据
--主键约束 primary key
--外键约束 foreign key
--非空约束 not null
--唯一约束 unique
--检查约束 check

create table phone( --建一个父表
id number(7),
phonenum number(11),
primary key(id), --主键
unique(phonenum)); --唯一

select * from phone;

create table student1( --子表,表级别约束
id number(9),
name varchar2(30),
sex varchar2(3),
phone number(11),
primary key(id), --主键
check(sex in('m','f')), --检查
foreign key(phone) references phone(phonenum) --外键、key(子表列) references 父表(父表列)
);
insert into phone values(1,13500010001); --主表增加数据
insert into student1 values(1,'zhangsan','m','13500010001');--子表增加数据
select * from phone;
select * from student1;
delete from student1; --删除子表1
delete from phone; --删除主表

create table student2( --子表2,列级别约束
id number(9) primary key,
name varchar2(30) not null,
sex varchar2(3) check(sex in('m','f')),
phone number(11) references phone(phonenum)
);
select * from student2;

create table student3( --子表3,加约束名
id number(9) constraints id_pk primary key, --约束名为 列_pk
name varchar2(30) constraints name_nn not null,
sex varchar2(3) constraints sex_ck check(sex in('m','f')),
phone number(11) constraints phone_phonenum_fk references phone(phonenum) --约束名为 父表_父列_fk
);
select * from student3;

select * from user_constraints; --查看所有的约束
select * from user_constraints where table_name = 'STUDENT3';
select * from user_constraints where table_name in('STUDENT2','STUDENT3');

create table student4( --子表4
id number(9),
name varchar2(30),
sex varchar2(3),
phone number(11)
);
alter table student4 add /*constraint pk_id*/ primary key(id); --增加约束(约束名)
alter table student4 modify name constraint nn_name not null;--非空约束-非空
alter table student4 modify name constraint nn_name null; --非空约束-空
alter table student4 add constraint uk_name unique(name); --唯一约束
alter table student4 add constraint ck_sex check(sex in('m','f')); --检查约束-sex
alter table student4 add age number(3) constraint ck_age check(age between 0 to 150);--增加age列\检查约束-age
alter table student4 add constraint fk_student4_phone foreign key(phone) reference phone(phonenum);
--外表约束,使用-表约束
alter table 表名 drop constraint 约束名; --删除约束名,要以个个删

select * from user_users;
select * from all_user;

create tablespace space1 --建表空间
datefile 'D:\oracledate\space1.dbf' --储存路径
size 100m autoextend on next 10m maxsize 200m --大小为100m,可变大小10m-200m
extent management local; --本地现存管理地

create temporary tablespace space1_temp --建临时表空间
tempfile 'D:\oracledate\space1_temp.dbf'
size 100m autoextend on next 10m maxsize 200m
extent management local;

create table t1(
id number(7));
tablespace space1;

select * from user_tables where table_name = 'T1';
alter table t1 move tablespace space1; --把表t1移动到space1表空间
create table t1(id number(7));
select * from user_tables where table_name in('T1','T2');--查看表所在的表空间

drop tablespace space1
including contents and datefiles
cascade contraints; --(有的电脑需要去)表关联
--在管理员用户里删除space1表空间的所有文件夹和数据

drop tablespace space1_temp
including contents and datefiles;
--在管理员用户里删除临时space1_temp表空间的所有文件夹和数据

create view V_emp --创建视图(要管理员给权限)
as
select /*sc.score,sc.cno*/* from sc;
drop view V_emp; --删除视图

create index first_name_idx on emp2(first_name);
--创建索引,索引名为first_name_idx,表名(列名)

select * from user_indxes where table_name = 'emp2';
drop index first_name_idx; --删除名为first_name_idx的索引

create table emp4( --建表emp4
id number(10),
userid varchar2(30)
);

create sequence emp4_seq --创建序列,序列名为emp4_seq
increment by 1 --步长为1
start with 1 --开始值为1
maxvalue 9999999 --最大值为9999999
minvalue 1 --最小值为1
nocycle --不循环 (cycle循环,到最大值后开始循环)
nocache; --不缓存 (cache n产生n个值放在缓存中,可以提高性能,不加cache时默认值为20)

select * from user_sequences;
select * from emp4;

select emp4_seq.currval from emp4;
insert into emp4 values(emp4_seq.nextval,'zhangsan');
--调用nextval,序号加1。在emp4插入数据。‘ ’中超过字段,ID也会加一

select seq_s_emp_id.currval from s_emp;
insert into s_emp(id,last_name) values(seq_s_emp_id.nextval,'wangwau');
drop sequence emp4_seq;--删除

--使用sequence:通过nextval和currval进行调用
--1.nextval:每次获得不同的sequence值,每调用一次,序列号+1
--2.currval:获得当前指向的sequence值

 

create table preson( --创建preson表
id number(18),
name varchar2(100),
sex varchar2(10),
age number(3)
)
select * from preson;

create table person_1( --创建person_1表
id number(18),
name varchar2(100),
sex varchar2(10),
age number(3)
)
drop table person_1

alter table preson add(phone number(11),address varchar2(200)); --在表preson中添加两列和对应的类型长度
select * from preson;

alter table preson modify(address varchar2(1500));  --修改长度
alter table preson rename column address to address_new; --修改address列名
alter table preson drop column address_new; --删除address_new列
alter table preson drop (age,phone);  --删除age、phone两列
/*drop table preson;*/ --删除preson表

--约束:为了数据的实体完整性、参照完整性,避免脏数据
--主键约束 primary key
--外键约束 foreign key
--非空约束 not null
--唯一约束 unique
--检查约束 check

create table phone(  --建一个父表
id number(7),       
phonenum number(11),
primary key(id),    --主键
unique(phonenum));  --唯一

select * from phone;

create table student1(   --子表,表级别约束
id number(9),
name varchar2(30),
sex varchar2(3),
phone number(11),
primary key(id),            --主键
check(sex in('m','f')),     --检查
foreign key(phone) references phone(phonenum) --外键、key(子表列) references 父表(父表列)
);
insert into phone values(1,13500010001); --主表增加数据
insert into student1 values(1,'zhangsan','m','13500010001');--子表增加数据
select * from phone;
select * from student1;
delete from student1;  --删除子表1
delete from phone;     --删除主表

create table student2(  --子表2,列级别约束
id number(9) primary key,
name varchar2(30) not null,
sex varchar2(3) check(sex in('m','f')),
phone number(11) references phone(phonenum)
);
select * from student2;

create table student3(  --子表3,加约束名
id number(9) constraints id_pk primary key,  --约束名为 列_pk
name varchar2(30) constraints name_nn not null,
sex varchar2(3) constraints sex_ck check(sex in('m','f')),
phone number(11) constraints phone_phonenum_fk references phone(phonenum)  --约束名为 父表_父列_fk
);
select * from student3;

select * from user_constraints;  --查看所有的约束
select * from user_constraints where table_name = 'STUDENT3';
select * from user_constraints where table_name in('STUDENT2','STUDENT3');

create table student4(  --子表4
id number(9),
name varchar2(30),
sex varchar2(3),
phone number(11)
);
alter table student4 add /*constraint pk_id*/ primary key(id); --增加约束(约束名)
alter table student4 modify name constraint nn_name not null;--非空约束-非空
alter table student4 modify name constraint nn_name null;    --非空约束-空
alter table student4 add constraint uk_name unique(name);    --唯一约束
alter table student4 add constraint ck_sex check(sex in('m','f'));   --检查约束-sex
alter table student4 add age number(3) constraint ck_age check(age between 0 to 150);--增加age列\检查约束-age
alter table student4 add constraint fk_student4_phone foreign key(phone) reference phone(phonenum);
--外表约束,使用-表约束
alter table 表名 drop constraint 约束名; --删除约束名,要以个个删

select * from user_users;
select * from all_user;

create tablespace space1    --建表空间
datefile 'D:\oracledate\space1.dbf'    --储存路径
size 100m autoextend on next 10m maxsize 200m    --大小为100m,可变大小10m-200m
extent management local;  --本地现存管理地

create temporary tablespace space1_temp  --建临时表空间
tempfile 'D:\oracledate\space1_temp.dbf'
size 100m autoextend on next 10m maxsize 200m
extent management local;

create table t1(
id number(7));
tablespace space1;

select * from user_tables where table_name = 'T1';
alter table t1 move tablespace space1; --把表t1移动到space1表空间
create table t1(id number(7));     
select * from user_tables where table_name in('T1','T2');--查看表所在的表空间

drop tablespace space1
including contents and datefiles 
cascade contraints; --(有的电脑需要去)表关联
--在管理员用户里删除space1表空间的所有文件夹和数据

drop tablespace space1_temp
including contents and datefiles;
--在管理员用户里删除临时space1_temp表空间的所有文件夹和数据

create view V_emp  --创建视图(要管理员给权限)
as
select /*sc.score,sc.cno*/* from  sc;
drop view V_emp;  --删除视图

create index first_name_idx on emp2(first_name);
--创建索引,索引名为first_name_idx,表名(列名)

select * from user_indxes where table_name = 'emp2';
drop index first_name_idx; --删除名为first_name_idx的索引

create table emp4( --建表emp4
id number(10),
userid varchar2(30)
);

create sequence emp4_seq   --创建序列,序列名为emp4_seq
increment by 1             --步长为1
start with 1               --开始值为1
maxvalue 9999999           --最大值为9999999
minvalue 1                 --最小值为1
nocycle         --不循环  (cycle循环,到最大值后开始循环)
nocache;        --不缓存  (cache n产生n个值放在缓存中,可以提高性能,不加cache时默认值为20)

select * from user_sequences;
select * from emp4;

select emp4_seq.currval from emp4;
insert into emp4 values(emp4_seq.nextval,'zhangsan');
--调用nextval,序号加1。在emp4插入数据。‘ ’中超过字段,ID也会加一

select seq_s_emp_id.currval from s_emp;
insert into s_emp(id,last_name) values(seq_s_emp_id.nextval,'wangwau');
drop sequence emp4_seq;--删除

--使用sequence:通过nextval和currval进行调用
--1.nextval:每次获得不同的sequence值,每调用一次,序列号+1
--2.currval:获得当前指向的sequence值

  

存笔记

 

posted on 2022-02-16 22:35  三天乐趣  阅读(47)  评论(0编辑  收藏  举报