Oracle数据库常用的语句
Oracle数据库的入门
Oracle的简介:
Oracle数据库基于客户端/服务器技术
数据库服务器对数据表进行最佳管理,处理多个客户端的同一数据的并发访问。全面地保持完整性,并控制数据库访问权限等安全性要求
Oracle数据库的主要特点:
支持多用户、大事务量的事务处理
数据安全性和完整性控制
支持分布式数据处理
可移植性
数据库的逻辑结构是从逻辑角度分析数据库的组成。
Oracle的逻辑组件包括:
数据库 ----->表空间----->段----->区----->数据块
段
段是构成表空间的逻辑存储结构,端游一组区组成。
按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。
区
区为段分配空间,它由连续的数据块组成。
当段中的所有空间已完成是使用时,系统自动为该段分配一个新区
去不能跨数据文件存在,只能存在于一个数据文件中。
数据块
数据块是Oracle服务器所能分配、读取或写入的最小存储单元。
Oracle服务器一数据块为单位管理数据文件的存储空间
模式
模式是对用户所创建的数据库对象的总称。
模式对象包括表、视图、索引、同义词、序列、过程和程序包等。
Oracle默认用户
sqlplus scott/tiger; -- scott用户登录
Conn system/manager; --system用户重新登陆
Conn /as sysdba; -- sys用户重新登陆
alter user scott account unlock; --将scott用户解锁
** Scott用户默认能访问的表emp**
select * from emp;
set linesize 150; 设置每行字符数
set pagesize 10; 设置每页显示10行的数据
desc emp;查看表emp的结构
show user; 查看当前用户
Conn system/tigter; system用户重新登陆
Conn /as sysdba; sys用户重新登陆
表空间操作
-- 切用户,scott无创建表空间的权限
conn /as sysdba;
-- 创建表空间
create tablespace 表空间名称 datafile '表空间地址' size 50M autoextend on;
create tablespace super datafile 'D:\work\Oracle work\super.dbf' size 50M autoextend on;
-- 修改表空间的名称
Alter tablespace 旧表空间名称 Rrname to 新表空间名称
-- 扩展表空间,添加数据文件
Alter tablespace 表空间名称 add datafile '表空间地址' size 50M;
-- 查看当前数据库的自由表空间
select * from dba_free_space;
-- 查看当前用户的自由表空间
select * from user_free_space;
-- 允许表空间的数据文件自动扩展
Alter database datafile '表空间地址' Autoextend on next 10M maxsize 20M;
-- 使表空间脱机,脱机后则改表空间不可用,在系统表user_free_space 和 dba_free_space
Alter tablespace 表空间名称 offline;
-- 使用表空间
Alter tablespace 表空间名称 online;
-- 删除表空间
Drop tablespace 表空间名称;-- 表空间中无对象
创建新用户
CREATE USER 用户名 IDENTIFIEDBY 密码(以字母开头) [DEFAULT TABLESPACE 缺省表空间名称(默认访问的表空间)] [TEMPORARY TABLESPACE 临时表空间名称];
授予权限
-- 授予权限qGRANT命令可用于为用户分配权限或角色GRANTCONNECTTO用户名;CONNECT角色允许用户连接至数据库,并创建数据库对象
GRANT CONNECT TO 用户名;
-- RESOURCE角色允许用户使用资源的权限,例如创建表、查询数据.....
GRANT RESOURCE TO 用户名;
-- 赋予用户创建表空间的权限
grant create tablespace to 用户名;
-- 允许用户查询TEST表的记录
GRANT SELECT ONTEST TO TOM;
-- 允许用户更新TEST表中的记录
GRANT UPDATE ONTEST TO TOM;
-- 允许用户插入、删除、更新和查询TEST表中的记录
GRANT ALL ON TEST TO TOM;
-- TOM访问SYSTEM(用户)模式下的某表
SELECT * FROM SYSTEM.表名;
-- TOM访问SYSDBA(用户)模式下的某表
SELECT * FROM SYS.表名;
数据控制语言
REVOKE 系统权限 FROM 用户名;
或
REVOKE 系统权限 ON 对象名 FROM 用户名;
更改和删除用户
-- ALTER USER 命令可用于更改口令
-- 修改 用户密码
ALTER USER 用户名 IDENTIFIED BY 新密码;
-- DROPUSER命令用于删除用户
-- 当用户下有表或其它对象时,需要添加cascade关键字,级联删除对象 。删除用户
DROP USER 用户名 [cascade];