Oracle数据库基本操作
PL/SQL工具提示
在工具中,进行查询,如果不选中就进行执行操纵,会将整个脚本执行!这样是很危险的!所以,一定的选中
一、创建表空间
表空间,Oracle数据库的逻辑单元。
1). 数据库、表空间、用户、表的关系
- 一个数据库下可以建立多个表空间;
- 一个表空间可以与多个数据文件(物理结构)关联;
- 一个表空间可建立多个用户;
- 一个用户下可以建立多个表(用户是管理表的基本单位);
2). 创建表空间的语法
-- 创建表空间
create tablespace itheima -- 表空间名称
datafile 'c:\itheima.dbf' -- 表空间对应的数据文件,要以.dbf命名
size 100m -- 初始大小
autoextend on
next 10m; -- 达到初始大小后的自动增长步长
-- 删除表空间语法
drop tablespace itheima;
二、创建用户
1). 创建用户的语法
Oracle数据库与其他数据库产品的区别在于,表和其他数据库对象都是存储在用户下的。
-- 创建用户 用户名与表空间没有任何冲突
create user itheima -- 用户名
identified by itheima -- 用户名密码
default tablespace itheima -- 所属的表空间
2). 给用户授权
-
Oracle数据库中常用角色
- connect : 连接角色
- resource: 开发者角色
- dba: 超级管理员角色
-
为用户授权语法
-- 给itheima用户授予dba角色,以便学习使用;
grant dba to itheima;
- PLSQL中切换用户
- Session --> Log off --> Log on
3). 三种用户权限详解
1. CONNECTION 角色:
是授权最终用户的典型权限最基本的权限
- ALTER SESSION --修改会话
- CREATE CLUSTER --建立聚簇
- CREATE DATABASE LINK --建立数据库链接
- CREATE SEQUENCE --建立序列
- CREATE SESSION --建立会话
- CREATE SYNONYM --建立同义词
- CREATE VIEW --建立视图
2. RESOURCE 角色
授予开发人员的角色
- CREATE CLUSTER --建立聚簇
- CREATE PROCEDURE --建立过程
- CREATE SEQUENCE --建立序列
- CREATE TABLE --建表
- CREATE TRIGGER --建立触发器
- CREATE TYPE --建立类型
3. DBA 角色
拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构,并且系统权限也需要DBA授出,且DBA用户可以操作全体用户的任意表,包括删除;DBA权限同样需要被赋予,赋予的方式是进入system下,给指定的用户赋予dba权限,否则无法正常登陆!
三、Oracle常用数据类型介绍
数据类型 | 描述 |
---|---|
varchar | 字符串(被淘汰) |
varchar2 | 字符串(推荐、常用) |
NUMBER | NUMBER(n)表示一个整数,长度为n;NUMBER(m,n)表示一个小数,总长度为m,小数位数是n,整数位数是m-n |
DATA | 日期 |
CLOB | 大对象,大数据文本类型,可存4G |
BLOB | 大对象,二进制数据,可存4G |
四、 PLSQL客户端工具中文乱码问题的解决
- 查看服务器端编码
select userenv('language') from dual;
-- 我实际查到的结果为: AMERICAN_AMERICA.ZHS16GBK
- 执行语句
select * from V$NLS_PARAMETERS
查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。如果不是,需要设置环境变量.否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码.
3.设置环境变量
计算机->属性->高级系统设置->环境变量->新建
设置变量名: NLS_LANG
变量值:第1步查到的值,我的是: AMERICAN_AMERICA.ZHS16GBK
- 重新启动PLSQL,插入数据正常
网友评论