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值
存笔记