您的位置:首页 > 博客中心 > 数据库 >

Oracle代码

时间:2022-03-14 03:08

select * from dual;
create tablespace test_sapce datafile ‘E:\YC59\space\AAAA‘ size 10M;
alter tablespace test_sapce add datafile ‘E:\YC59\space\AAAA_1‘ size 10M;
drop tablespace test_sapce including contents and datafiles;

/*****************用户管理*************************/
/*
     创建用户的语法:
     create user 用户名 identified by 密码 default tablespace 表空间名称 
*/
create user gerry identified by a123 default tablespace test_sapce;
create user zhangsan identified by a123 default tablespace test_sapce;

/*
     给用户授权:grant 权限名称 to 用户名
*/
-- 给gerry用户授予登录的权限
grant create session to gerry;
-- 给gerry用户授予resource角色
grant resource to gerry;
-- 给gerry用户授予查询scott用户emp表的操作
grant select,update,delete,insert on scott.emp to gerry;

/*
      创建角色
*/
create role pro_role;
drop role pro_role;

/*
       给角色授权
*/
grant resource to pro_role;
grant create session to pro_role;
grant select on scott.emp to pro_role;

/*
      把创建的角色赋予用户gerry,zhangsan
*/
grant pro_role to gerry;
grant pro_role to zhangsan;

/*
     回收权限
     revoke 权限名称/ 角色名称 from 用户
*/
revoke select on scott.emp from gerry;
revoke resource from gerry;
revoke create session from gerry;
revoke pro_role from gerry;

/*
       修改用户的密码,锁定用户,解锁用户
*/
alter user gerry identified by gerry;

-- 锁定用户
alter user gerry account lock;
-- 解锁用户
alter user gerry account unlock;

/*
      删除用户
*/
drop user zhangsan cascade;

建表约束:

-- 查询当前用户使用的默认表空间
select * from user_users;

-- 创建学生表
create table Student1
(
       stuId int primary key,
       stuName varchar2(20) not null,
       stuSex char(2) not null,
       stuAge integer not null
) tablespace test_sapce; -- 指定表存放的表空间

create table studentType
(
       type_Id int primary key,
       stuId int not null
) tablespace test_sapce; -- 指定表存放的表空间

/*
  约束类型:
  唯一约束:unique
  检查约束:check
  默认约束:defalut
  主键约束:primary key
  外键约束:foreign key
*/

--- 给student表的stuName字段添加唯一约束
alter table student1
 add constraint UQ_STUNAME unique(stuName);
-- 检查唯一约束
insert into Student1 values(1001,‘张三‘,‘男‘,10);
insert into Student1 values(1002,‘张三‘,‘男‘,10);

-- 给stuAge添加检查约束
alter table student1
 add constraint CK_AGE check(stuAge>0 and stuAge<200);
insert into Student1 values(1002,‘张三‘,‘男‘,1010);

-- 给stuSex添加默认约束
alter table student1 modify(stuSex char(2) default ‘女‘);
insert into Student1(stuId,Stuname,Stuage) values(1002,‘张三‘,100);

-- 给studetnType表创建外键约束
alter table studentType
      add constraint FK_STUID foreign key(stuId) references Student1(stuId);
      
insert into studentType values(1001,10002);

select * from student1;
select * from studentTYpe;

--- 给student1表添加一个QQ字段
alter table student1 add(qq number(11) not null);


/*
  添加数据的语法:insert into 表名<字段1,字段2..... 字段n> values(值1,值2,..... 值n)
  修改数据的语法:update 表名 set 字段1=值1,字段2=值2 ..... 字段n = 值n where 条件【修改的条件】
  删除数据的语法:delete from 表名 where[删除的条件]
  查询数据语法: select 筛选的字段 from 表名 where [筛选的条件]
*/

创建序列

/*
      序列:
      create sequence 序列名称
      start with 初始值
      increment by 递增值
      minvalue 最小值【初始值不能小于最小值】
      maxvalue 最大值
      cycle/cache 缓存数;
**/

create sequence testInfo_seq
       start with 10001
       increment by 1
       minvalue 1
       maxvalue 999999
       cache 20;
-- 查询当前序列的值
select testInfo_seq.Currval from dual;-- 必须使用一次序列该语句才有效
-- 使用当前序列
select testInfo_seq.Nextval from dual;
-- 使用创建的序列
insert into testInfo(testId,Testname,Testdesc,Testsex) 
       values (testInfo_seq.Nextval,‘测试11‘,‘测网速‘,‘男‘);
commit;
-- 删除序列
drop sequence testInfo_seq;

创建视图:

/*
       创建视图:
       create <or replace> view 视图名称
       as
              查询语句;
       视图只能用来做查询不能编辑
*/

--select testId 编号,testName 测试名称,testDesc 描述,testPass 密码,testSex 性别 from testInfo;
create or replace view queryTestInfo
       as
       select testId 编号,testName 测试名称,testDesc 描述,testPass 密码,testSex 性别 from testInfo;
-- 使用视图
select * from queryTestInfo;

-- 删除视图
drop view queryTestInfo;

同义词:

/*
     同义词:
     create or replace [public] synonym 同义词名 for 表名
**/
-- 创建私有同义词
create or replace synonym u for testInfo;
select * from u;
-- 创建公有的同义词
create or replace public synonym u1 for testInfo;
select * from u1;-- 其他用户要使用创建的公有同义词必须拥有该表的查询权限
grant select on testInfo to scott;

 

表空间管理:

/*
  创建表空间
  语法:
  表空间:create tablespace 表空间名称 datafile 物理文件存放路径 size 文件大小以M为单位
  临时表空间:
  create temporary tablespace 表空间名称 tempfile 物理文件存放路径 size 文件大小以M为单位
*/ 

create tablespace test_space datafile ‘E:\YC59\Oracle\space\test_space‘ size 10m;
create temporary tablespace temp_space tempfile ‘E:\YC59\Oracle\space\temp_space‘ size 10m;

-- 修改表空间
alter tablespace test_space add datafile ‘E:\YC59\Oracle\space\test_space_1‘ size 10m;

-- 修改数据库的默认表空间
--alter database default tablespace test_space;
alter database default tablespace system;
-- 查询数据库的默认表空间
select * from database_properties where property_name = ‘DEFAULT_PERMANENT_TABLESPACE‘;

-- 删除表空间
drop tablespace test_space including contents and datafiles;

安全管理:

-- 查询当前数据库的控制文件
select * from v$controlfile;
-- 查询当前数据库对应的数据文件操作记录
select type record_size,records_total,records_used from
       V$controlfile_Record_Section
       where type=‘DATAFILE‘;
-- 查询当前用户的表空间信息[必须以dba身份登录]
select * from dba_data_files;
-- 查询当前用户可以访问的所有基表
select * from cat;


用户管理:

 

本类排行

今日推荐

热门手游