Oracle12c 与 Oracle11g 创建用户时有差别。Oracle12C默认为 CDB模式 这时创建用户的时候需要加上 c## 开头;例如:c##MLQ。

--说明
--需求:创建表空间(MLQ1_hr) 和 临时表空间(MLQ1_TEMP)、创建新用户 c##MLQ1 为其分配指定的表空间和临时表空间
--为用户分配基本权限、为用户创建表结构、添加数据。

--可能出现的问题
--Oracle12c 默认的表空间为:USERS,
--01、没有在创建用户的时候同时指定表空间,单独执行为用户分配表空间的时候可能会更改不成功。
--02、在对某张表添加数据的时候,可能会出现对指定的表空间无权限操作:错误编码:ORA-01950,这个时候重新分配一下表空间即可(6)

1)创建一个数据库临时表空间

CREATE TEMPORARY TABLESPACE MLQ1_TEMP
TEMPFILE 'E:\Oracle\OracleTablespaces\MLQ1\TEMP.DBF'
SIZE 50M
AUTOEXTEND ON
NEXT 50 MAXSIZE 100M
EXTENT MANAGEMENT LOCAL;

2)创建一个自动增长的表空间

CREATE tablespace MLQ1_hr
LOGGING Datafile
'E:\Oracle\OracleTablespaces\MLQ1\MLQ1_hr01.dbf' size 60M Autoextend on
NEXT 50 MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;

3)创建用户并指定表空间

create user c##MLQ1 identified by root
default tablespace MLQ1_hr
temporary tablespace MLQ1_TEMP;

4)删除用户

drop user c##MLQ1 cascade;

无法删除用户时:查看当前用户连接状态

select saddr,sid,serial#,paddr,username,status from v$session where username is not null

结束指定的用户连接

alter system kill session'(sid),(serial#)';

5)给用户授权

--connect role(连接角色)

  --临时用户,特指不需要建表的用户,通常只赋予他们connect role.

  --connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。

  --拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)

  --和其他 数据的链(link)

--resource role(资源角色)

  --更可靠和正式的数据库用户可以授予resource role。

  --resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

--dba role(数据库管理员角色)

  --dba role拥有所有的系统权限

  --包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有

grant resource,connect to c##MLQ1

grant resource to c##MLQ1

撤销授权:

revoke connect, resource from c##MLQ1

创建、授权、删除角色:

除了前面讲到的三种系统角色----connect、resource和dba,用户还可以在oracle创建自己的role。

用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有create role系统权限。

1》创建角色
  语法: create role 角色名;
  例子: create role testRole;
2》授权角色
  语法: grant select on class to 角色名;
  列子: grant select on class to testRole;
  注:现在,拥有testRole角色的所有用户都具有对class表的select查询权限 3》删除角色
  语法: drop role 角色名;
  例子: drop role testRole;
  注:与testRole角色相关的权限将从数据库全部删除

6)为用户分配重新分配数据库表空间

alter user c##MLQ1 quota unlimited on MLQ1_hr;

alter user c##MLQ1 QUOTA unlimited ON MLQ1_hr TEMPORARY TABLESPACE MLQ1_TEMP;

7)删除表空间

DROP TABLESPACE MLQ1_hr INCLUDING CONTENTS;

drop tablespace MLQ1_hr including contents and datafiles cascade constraints

8)在c##MLQ1用户下创建表结构

--创建表emp--
create table emp(
empno number primary key not null,
empname nvarchar2(32) not null,
deptno number not null
);
--创建表dept--
create table dept(
deptno number primary key not null,
deptname nvarchar2(32) not null
); insert into EMP values('2018001','MLQ',1);

9)删除表空间下所有的表

SELECT 'DROP TABLE ' || TABLE_NAME || ' CASCADE CONSTRAINTS' V_NAME
FROM DBA_TABLES
WHERE TABLESPACE_NAME = 'USERS';

10):查询当前用户所在的表空间

select username,default_tablespace from user_users;

11):查看所有存在的表空间(查询到的数据可能没有全部展开,点击向下的绿箭头)

select * from dba_tablespaces

12):查看所有用户

select * from all_users;

13):查看用户具有怎样的角色

select * from dba_role_privs where grantee='C##MLQ1';

14):查看oracle中所有的角色

select * from dba_roles;

1):Oracle的创建表和创建约束的Sql语句— —

Oracle数据库中的约束有五种约束,分别是:

实体完整性:主键约束、唯一性约束(可以为空)

域完整性:check 检查约束

引用完整性:Foreign KEY 外键约束

默认约束(默认值)

SQL语句创建约束需要一个关键字:Costraint

模拟两张表:

---1、创建模拟的数据表 ---
--1.1.创建学生表Student
create table Student(
StuId NUMBER NOT NULL, --学生ID
StuName VARCHAR2(10) NOT NULL, --名称
Gender VARCHAR2(10)NOT NULL, -- 性别
Age NUMBER(2) NOT NULL, -- 年龄
JoinDate DATE NULL, --入学时间
ClassId NUMBER NOT NULL, --班级ID
Address VARCHAR2(50) NULL --家庭住址
);
--1.2、创建班级表StuClass
create table StuClass(
classId NUMBER not null, -- 班级ID
ClassName varchar2(20) not null, --班级名称
Notes varchar2(50) null default'班级信息', --备注,默认班级信息
);

创建数据表约束:

  --2.1)创建主键约束--
alter table Student add constraint PK_Student_StuId primary key(StuId);
alter table StuClass add constraint PK_StuClass_ClassId primary key(ClassId); --2.2) 创建检查约束--
alter table Student add constraint CK_Student_Gender check(gender='男' or gender='女');
alter table Student add constraint CK_Student_Age check(Age>=0 and Age<=100); --2.3)创建唯一约束--
alter table Student add constraint UQ_Student_StuName unique(StuName); --2.4)创建默认约束--
--alter table Student add constraint DF_Student_Address default('地址不详');
alter table Student Modify Address varchar(50) default '地址不详';
alter table Student Modify JoinDate Date default sysdate; --2.5)创建外键约束--
alter table Student add constraint FK_Student_StuCLass_ClassId foreign key(ClassId) references StuClass(ClassId);

注意:创建表还是约束,与SQL Server基本相同,注意:在Oracle中default是一个值,而SQL Server中default是一个约束,因此Oracle的default设置可以在建表的时候创建或者通过Modify函数创建

添加模拟数据:

  --3.1)添加班级信息
insert into StuClass(ClassId,Classname) values(1,'一班');
insert into StuClass(ClassId,Classname) values(2,'二班');
insert into StuClass(ClassId,Classname) values(3,'三班');
--3.2)添加学生信息
insert into Student(StuId,Stuname,Gender,Age,ClassId)
  values(1,'关羽','男',17,1);
insert into Student(StuId,Stuname,Gender,Age,ClassId)
  values(2,'张飞','男',16,2);
insert into Student(StuId,Stuname,Gender,Age,ClassId)
  values(3,'刘备','男',18,3);

查询模拟数据:

select * from Student;
select * from StuClass;

查询结果:

验证数据表约束:验证Student表的StuName是否唯一(唯一约束)

--插入相同名称--
insert into Student(StuId,Stuname,Gender,Age,ClassId) values(5,'关羽','男',18,1);

验证Student表Gender的检查约束:

  --添加性别为未知的数据--
insert into Student(StuId,Stuname,Gender,Age,ClassId) values(4,'曹操','未知',18,1);

其他的验证就不一样了,这里不在多多演示。

Face your past without regret. Handle your present with confidence.Prepare for future without fear. keep the faith and drop the fear.

面对过去无怨无悔,把握现在充满信心,备战未来无所畏惧。保持信念,克服恐惧!一点一滴的积累,一点一滴的沉淀,学技术需要不断的积淀!

分享知识-快乐自己:Oracle基本语法(创建:表空间、用户、授权、约束等)使用指南的更多相关文章

  1. Oracle数据库之创建表空间与用户

    Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,data ...

  2. oracle数据库如何创建表空间,临时表空间

    目标 1.创建表空间 lxy 2.创建临时表空间tmp_lxy create tablespace lxy datafile '/u01/app/oracle/oradata/LXY/lxy.dbf' ...

  3. Oracle sql语句创建表空间、数据库、用户及授权

    --创建表空间和数据库文件及默认表空间大小 create tablespace TableSpace_Test datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\O ...

  4. oracle创建数据库表空间 用户 授权 导入 导出数据库

    windows下可以使用向导一步一步创建数据库,注意编码. windows连接到某一个数据库实例(不然会默认到一个实例下面):set ORACLE_SID=TEST --登录开始创建表空间及可以操作的 ...

  5. oracle用命令创建表空间、用户,并为用户授权、收回权限。

    oracle中如何删除用户? Oracle中使用DROP USER来删除用户,如果使用DROP USER CASCADE那么用户的对象也同时被删除掉.为了达到删除用户的效果而又不影响对用户下的对象的使 ...

  6. Oracle数据库不能创建表空间及表中文乱码问题

    1.不能创建表空间问题 datafile为表空间的存放位置,没有将表空间存放路径指定为orcl数据库时,创建表空间出错如下 查看自己的Oracle安装位置,我的Oracle10g安装在虚拟XP系统中, ...

  7. oracle一个创建用户、创建表空间、授权、建表的完整过程

    1.首先我们可以用scott用户以sysdba的身份登录oracle. conn scott/tiger as sysdba 2.然后我就可以来创建用户了. create user zzg ident ...

  8. oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期

    首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$   ...

  9. Oracle创建 表空间 用户 给用户授权命令

    //创建表空间 create tablespace ACHARTSdatafile 'D:\oradata\orcl\ACHARTS01.DBF' size 800mautoextend on nex ...

  10. oracle创建用户、创建表空间、授权、建表

    2.然后我就可以来创建用户了. create user zzg identified by zzg123; 3.创建好用户我们接着就可以修改用户的密码. alter user zzg identifi ...

随机推荐

  1. C# MVC VS WebAPI

    获取路径: MVC:Server.MapPath("/Templates/vshop/default.json") WebAPI:System.Web.Hosting.Hostin ...

  2. hdu1081 最大子矩阵

    最大子矩阵自然直在最大连续子序列的升级版  只是其原理都是用到了动态规划思想     仅仅是矩阵用到了枚举 +合并       把非常多列看成是一列的和 #include<stdio.h> ...

  3. 分布式搜索elasticsearch 环境搭建

    1.elasticsearch安装 elasticsearch的安装超级easy,解压即用(要事先安装好java环境). 到官网 http://www.elasticsearch.org下载最新版的 ...

  4. thymeleaf模版的使用

    thymeleaf,我个人认为是个比较好的模板,性能也比一般的,比如freemaker的要高,而且把将美工和程序员能够结合起来,美工能够在浏览器中查看静态效果,程序员可以在应用服务器查看带数据的效果. ...

  5. php html_entity_decode使用总结

    在处理网页字符串的时候,尤其是做爬虫类的应用时,经常会涉及到要处理的字符串中包含html标签,现在对这类字符串的处理做一个小的总结: 有时候获取到的字符串中有html标签,在入库的时候出于安全的考虑通 ...

  6. 知识复习(LDT+TSS+GATE+INTERRUPT)

    [1]README 1.0)由于实现进程的切换任务,其功能涉及到 LDT + TSS +GATE + INTERRUPT:下面我们对这些内容进行复习: 1.1) source code from or ...

  7. IIS7.5 配置ASP+ACCESS使用环境(转)

    Win7默认不安装IIS7.5. 安装的步骤为:开始-控制面板-程序-打开或关闭Windows功能-Internet信息服务.IIS7.5安装时需要注意的是,如果需要ASP.ASP.NET等的支持,是 ...

  8. python使用模板手记

    1.首先是$符号 在webpy中,模板html里面可以写python代码,但要用$开始.但如果网页代码本来就有$符号(javascript或者正则表达式),我们需要对其进行转意.用$$代替$ 给jqu ...

  9. 五个知识体系之-SQL学习-第四天

    5. MySQL常用函数 5.1字符串函数 concat(s1,s2....,s3)合并字符串,如果参数有null,则返回null: CONCAT_WS(SEP,s1,s2…,sn) 合并字符串,并且 ...

  10. 【BZOJ3291】Alice与能源计划 二分图最大匹配

    [BZOJ3291]Alice与能源计划 Description 在梦境中,Alice来到了火星.不知为何,转眼间Alice被任命为火星能源部长,并立刻面临着一个严峻的考验. 为了方便,我们可以将火星 ...