你的位置:首页 > 数据库

[数据库]Oracle数据库学习第一天


crud 增删改查 create read update delete
1--oracle数据库的安装
系统默认创建两个用户 sys和system 密码自定义
超级管理员:sys
管理员:system
密码:5615
2--启动数据库的服务
service
listener


3--访问数据库
使用oracle自带的客户端工具sqlplus(前提条件:在path中添加D:\oracle\app\oracle\product\11.2.0\server\bin)
wind+R键 打开运行窗口
输入:sqlplus 回车
提示要求输入用户名和密码
sys和密码 不能直接登录数据库
system和密码 可以直接登录数据库 说明:这种方式只能以普通用户身份登录
如果要以sys登录数据库
wind+R键 输入 sqlplus sys/5615 as sysdba; 回车
查看当前用户的登录名
show user; 回车

4--启动与关闭数据库
关闭数据库:
shutdown immediate;
启动数据库:
startup open;
sys可以启动和关闭数据库
system 没有这个权限

5--数据库用户的操作
sys创建用户:
create user owen identified by 123;
用户创建之后默认情况是被锁住的,并且是没有分配角色的,需要对用户解锁
alter user owen account unlock;
sys为用户分配角色
grant connect to owen;
此时就可以使用owen用户登录数据库,但是只有登录的权限
conn owen/123;
sys为用户分配resource角色
grant resource to owen;
这时就可以在当前owen用户下进行对象操作
create table owen_record (login_time varchar(19));
如果需要将某个用户变为超级管理员
grant sysdba to owen;
删除用户
drop user owen;
删除用户(将用户所创建的所有对象全部删除)
drop user owen cascade;
从owen用户身上回收sysdba角色
revoke sysdba from owen;
查询当前用户角色下的所有表名称
select table_name from user_tables;

------------------------------------------------------------------------------------------------------------------------------

表空间 table space
是oracle数据库中最大的逻辑结构
从逻辑上,oracle数据库是由若干个表空间组成的
表空间与数据库的物理结构上有着十分密切的关系,他与磁盘上若干个数据文件相对应
从物理上说数据库的数据被存放在数据文件中,从逻辑上说数据是被存放在表空间中
一个数据文件只能属于一个表空间,一个表空间可以有多个数据文件
oracle数据把方案对象(表、索引、视图、序列)逻辑的存储在表空间中

|--表空间1
|--表空间2
|--表空间3
|--数据文件1
|--数据文件2
|--磁盘1
|--数据文件3
|--磁盘2
|--数据文件4
|--磁盘2


创建临时表空间
create temporary tablespace ------创建表空间文件的关键字
owen_temp ------表空间名称
tempfile 'D:\oracle\user\owen_temp.dbf' ------该路径一定真实存在
size 100m ------初始大小
autoextend on ------开启自动扩展
next 10m maxsize 1000m ------每次扩展的大小和最大空间

创建数据表空间文件语句
create tablespace
owen_data
datafile 'D:\oracle\user\owen_data.dbf'
size 500m
autoextend on
next 20m maxsize 2000m

创建用户并指定表空间
create user owen identified by 123
default tablespace owen_data
temporary tablespace owen_temp;

给该用户解锁
alter user owen account unlock;

给用户授权
grant connect,resource to owen;

以dba角色查询指定用户的表空间(username必须大写,必须使用单引号)
select user_id,username,default_tablespace from dba_users where username = 'OWEN';

查询所有表空间的信息
select tablespace_name,status,allocation_type from dba_tablespaces;

修改表空间名称
alter tablespace owen_data rename to new_owen_data;

删除表空间,仅删除表空间的记录
drop tablespace owen_data;

删除表空间及表空间文件
drop tablespace owen_data including contents and datafiles;

实体(表、索引、视图、序列)权限有哪些?
select,update,insert,alter,index,delete,all(all包括所有权限)

sys创建了一张表 t_test
sys给用户lp授予了select t_test表的权限
grant select on t_test to lp;

conn lp/1;
查询该表
select * from sys.t_test;

给用户授予这张表所有操作的权限
grant all on t_test to lp;

添加记录
insert into sys.t_test(name) values ('owen');