oracle学习(一)
用户与表空间
- 用户
- 登录SQL Plus
- 系统用户
- sys、system 权限:sys>system
- sysman:用于操作企业管理器,也是管理员级别的用户
- scott:scott默认密码是tiger
权限:sys>system>sysman>scott
- 使用系统用户登录
使用system用户登录
[username/password] [@server] [as sysdba|sysoper]
例:sys/oracle @orcl as sysdba
@orcl是服务名
- 查看登录用户
- show user命令
- dba_users数据字典:数据字典是数据库提供的表,用于查看数据库的信息。
查看dba_users表结构:desc dba_users
- 启用scott用户
- 启用用户的语句
alter user username account
unlock (解锁的意思)
- 使用scott用户登录SQL Plus
connect scott/tiger (默认密码:tiger)
- 表空间
- 表空间概述
- 理解表空间
数据库与表空间:表空间是数据库的逻辑存储空间。一个数据库可以由多个表空间来构成。
表空间与数据文件:表空间是由一个或多个数据文件来构成的。
- 表空间的分类
- 永久表空间
主要用于存储数据库中要永久化存储的对象,比如:表、视图、存储过程等。
- 临时表空间
主要用于存放数据库操作中中间执行的过程,当执行结束后,存放的内容就会被自动释放掉。
- UNDO表空间
主要用于保存事务所修改数据的旧值,也就是被修改之前的数据
- 查看用户的表空间
- dba_tablespaces、user_tablespaces数据字典
第一个数据字典针对系统管理员级的用户,第二个数据字典针对普通用户来查看的字典。
- dba_users、user_users数据字典
- 设置用户的默认或临时表空间
alter user username
default | temporary
tablespace tablespace_name
- 创建、删除、修改表空间
- 创建表空
create [temporary] tablespace
tablespace_name
tempfile | datafile
' xx.dbf ' size xx
- 修改表空间
- 修改表空间的状态
- 设置联机或脱机状态
- 修改表空间的状态
- 修改表空间
alter tablespace tablespace_name
online | offline
- 设置只读或可读写状态
alter tablespace tablespace_name
read only | read write
- 修改数据文件
- 增加数据文件
- 修改数据文件
alter tablespace tablespace_name
add datafile
' xx.dbf ' size xx;
- 删除数据文件
alter tablespace tablesapce_name
drop datafile
' filename.dbf ';
(不能删除表空间中第一个数据文件,如果要删除就要把整个表空间删除掉)
- 删除表空间
drop tablespace
tablespace_name
[including contents] (同时删除数据文件)
- 操作表
- 认识表
- 基本存储单位
- 二维结构
- 行和列
- 约定
- 每一列数据必须具有相同数据类型
- 列名唯一
- 每一行数据的唯一性
- 数据类型
- 字符型
- 认识表
char(n)、nchar(n)
定长(浪费空间)
varchar2(n)、nvarchar2(n)
根据输入的长度分配空间(节省空间)
nchar(n)和 nvarchar2(n):根据Unicode格式存储数据,更适合存储中文数据
- 数值型
number(p,s)
p:有效数字
s:小数点后的位数
例:number(5,2)
有效数字5位,保留2位小数,如123.45
float(n)
- 日期型
DATE
表示范围:公元前4712年1月1日到公元9999年12月31日
TIMESTAMP:可以精确到秒
- 其他类型
BLOB:存放以二进制形式存放的数据,可以存放4GB的数据
CLOB:存放以字符串形式存放的数据,可以存放4GB的数据
- 管理表
- 创建表
- 管理表
基本语法
create table table_name
(
column_name datatype,..........
)
- 修改表
- 添加字段
- 修改表
alter table table_name
add
column_name datatype;
- 更改字段数据类型
alter table table_name
modify
column_name datatype;
- 删除字段
alter table table_name
drop column
column_name;
- 修改字段名
alter table table_name
reaname column
column_name
to
new_column_name;
- 修改表名
rename
table_name
to
new_table_name;
- 删除表
- TRUNCATE TABLE table_name
- 删除表
删除表中的全部数据,并不将表删除掉
- DROP TABLE table_name
删除整个表结构,同时表数据也就删除了