oracle

本文详细介绍了Oracle数据库的基本操作,包括用户管理、权限分配、表空间创建、数据表的创建、修改与删除,以及数据操作和查询。还涵盖了约束类型、数据操作、分组查询和视图的使用,是Oracle数据库管理的实用教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库发展和类型

 

数据库目录结构

 

Oracle 数据库的一些基本操作

创建用户

create user 用户名 identified by 密码;

给用户修改密码

alter user 用户名 identified by 新密码;

修改自己的密码

password 用户名;

删除用户

drop user 用户名 [cascade]可选参数 cascade

在删除用户时,注意: 如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数 cascade; Cascade 有级联的作用

l 给用户赋权限

grant 权限/角色 to 用户名;

收回用户权限

revoke 权限/角色 from 用户名;

系统权限:是数据库管理相关的权限:create session(登录权限)、create table(创建表权限)、create index(创建索引权限)、create view(创建视图权限)、create sequence(创建序列权限)、create trriger(创建触发器权限)

connnect 角色:是授予用户的最基本的权利,能够连接到 oralce 数据库中,并在对其他用户的表有访问权限时,做 SELECT、UPDATE、INSERTT 等操作。Create session--建立会话;Alter session--修改会话;Create view--建立视图。Create sequence--建立序列等权限

resource 角色:具有创建表、序列、视图等权限。Create table--建表;Create trigger-- 建立促发器;Create procedure--建立过程;Create sequence—建立序列;Create type--建立类型等权限;

dba 角色:是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。

表空间:

创建表空间必须使用 system 用户创建

create tablespace hpu56(表空间名)

datafile 'E:\datebase\hpu6.DBF' //指定指向的数据文件路径

size 5m      //初始化表空间大小为 5m

autoextend on next 2m      //自动扩展,每次扩展 2m

maxsize unlimited;         // unlimited最大扩展量没有限制,100M最大扩展到100M

创建用户指定默认表空间

create user 用户名 identified by 密码 default tablespace 表空间名;

修改用户默认表空间:

alter user 用户名 default tablespace 表空间名;

查看表空间:

select * from v$tablespace;

查看用户默认表空间:

select username,default_tablespace from dba_users where username='SCOTT';

创建表:

create table 表的名称(字段名称 1 数据类型, 字段名称 2  数据类型);

create table 表的名称 as select 字段名称 1, 字段名称 2... from表的名称 ;

修改表

alter table 语句添加、修改或删除列的语法

添加列

alter table 表的名称 add(字段名称1 数据类型, 字段名称2  数据类型...);

alter table 表的名称 add 字段名称 数据类型;

修改列

alter table 表名 modify(字段名称1 数据类型, 字段名称2  数据类型...);

alter table 表名 modify字段名称 数据类型;

删除列

alter table 表名 drop(字段名称1 , 字段名称2,...);

alter table 表名 drop 字段名称;

修改表的名称

rename 表名 to 新表名;

修改列名

alter table 表名 rename column 旧列名 to 新列名;

查看表结构

desc 表名;

约束

约束分为: 非空(NOT NULL)约束、 唯一(UNIQUE)约束、主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束、条件(CHECK)约束,约束存在表user_constraints中。

非空(NOT NULL)

添加非空

create table 表名称 (字段名称1 数据类型,字段名称2 数据类型 not null);

alter table  表名 modify 字段名 not null;

删除非空

alter table  表名 modify 字段名   null;

唯一(UNIQUE)

添加修改唯一

create table 表名称 (字段名称1 数据类型,字段名称2 数据类型 unique);

alter table 表名 add constraint 约束名 unique (字段名称1,字段名称2);

删除唯一

alter table  表名 drop constratint 约束名称;

注意:oracle 中 unique 可以为 null,而且允许多行为 null

主键(PRIMARY KEY)

添加修改主键

create table 表名称 (字段名称1 数据类型,字段名称2 数据类型 primary key);

create table 表名称 (字段名称1 数据类型,字段名称2 数据类型 , constraint 约束名primary key (字段名称1,字段名称2));

alter table 表名 add constraint 约束名 primary key (字段名称1,字段名称2);

删除主键

alter table  表名 drop primary key cascade;

这是因为如果在两张表存在主从关系,那么在删除主要的主键约束时, 必需带上 cascade 选项

注意:每个表只能有且有一个主键约束。

特别说明 primary key 与 unique 的区别:

1、一张表可以有多个 unique(唯一)约束;

2、一张表只能有一个主键;

3、设置为主键的列不能有 null 值;

外键(FOREIGN KEY)

外键(FOREIGN KEY)约束:用来维护从表(Child Table)和主表(Parent Table)之间的引用完整性.能够维护数据库的数据一致性,数据的完整性。防止错误的垃圾数据入库;  

用于定义主表和从表之间的关系,外键约束要定义在从表上,主表则必需具有主键约束或是 unique 约束,当定义外键约束后,要求外键列数据必需在主表的主键列存在或是为 null

添加修改主键

create table 表名称 (字段名称1 数据类型,字段名称2 数据类型 references 主表名称(字段名) );

create table 表名称 (字段名称1 数据类型,字段名称2 数据类型 , constraint 约束名 foreign key (字段名称) references主表名称(字段名)));

alter table 表名 add constraint 约束名  foreign key(字段名称)  references 主表名称(字段名);

删除主键

alter table  表名 drop constratint 约束名称;

特别说明:froeign key 外键的细节

1、外键指向主键列;

2、外键可以指向 unique 列;

3、建表时先建主表,再建从表;删除表先删从表,再删主表。

4、外键列属性值要与主键或 unique 列属性值的类型保持一致

5、外键列的值,必需在主键列中存在。但外键列的值允许为 null

条件(CHECK)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值