Oracle數(shù)據(jù)庫(kù)基本操作
PL/SQL工具提示
在工具中,進(jìn)行查詢,如果不選中就進(jìn)行執(zhí)行操縱,會(huì)將整個(gè)腳本執(zhí)行!這樣是很危險(xiǎn)的!所以,一定的選中
一、創(chuàng)建表空間
表空間,Oracle數(shù)據(jù)庫(kù)的邏輯單元。
1). 數(shù)據(jù)庫(kù)、表空間、用戶、表的關(guān)系
- 一個(gè)數(shù)據(jù)庫(kù)下可以建立多個(gè)表空間;
- 一個(gè)表空間可以與多個(gè)數(shù)據(jù)文件(物理結(jié)構(gòu))關(guān)聯(lián);
- 一個(gè)表空間可建立多個(gè)用戶;
- 一個(gè)用戶下可以建立多個(gè)表(用戶是管理表的基本單位);
2). 創(chuàng)建表空間的語(yǔ)法
-- 創(chuàng)建表空間
create tablespace itheima -- 表空間名稱
datafile 'c:\itheima.dbf' -- 表空間對(duì)應(yīng)的數(shù)據(jù)文件,要以.dbf命名
size 100m -- 初始大小
autoextend on
next 10m; -- 達(dá)到初始大小后的自動(dòng)增長(zhǎng)步長(zhǎng)
-- 刪除表空間語(yǔ)法
drop tablespace itheima;
二、創(chuàng)建用戶
1). 創(chuàng)建用戶的語(yǔ)法
Oracle數(shù)據(jù)庫(kù)與其他數(shù)據(jù)庫(kù)產(chǎn)品的區(qū)別在于,表和其他數(shù)據(jù)庫(kù)對(duì)象都是存儲(chǔ)在用戶下的。
-- 創(chuàng)建用戶 用戶名與表空間沒有任何沖突
create user itheima -- 用戶名
identified by itheima -- 用戶名密碼
default tablespace itheima -- 所屬的表空間
2). 給用戶授權(quán)
-
Oracle數(shù)據(jù)庫(kù)中常用角色
- connect : 連接角色
- resource: 開發(fā)者角色
- dba: 超級(jí)管理員角色
為用戶授權(quán)語(yǔ)法
-- 給itheima用戶授予dba角色,以便學(xué)習(xí)使用;
grant dba to itheima;
- PLSQL中切換用戶
- Session --> Log off --> Log on
3). 三種用戶權(quán)限詳解
1. CONNECTION 角色:
是授權(quán)最終用戶的典型權(quán)限最基本的權(quán)限
- ALTER SESSION --修改會(huì)話
- CREATE CLUSTER --建立聚簇
- CREATE DATABASE LINK --建立數(shù)據(jù)庫(kù)鏈接
- CREATE SEQUENCE --建立序列
- CREATE SESSION --建立會(huì)話
- CREATE SYNONYM --建立同義詞
- CREATE VIEW --建立視圖
2. RESOURCE 角色
授予開發(fā)人員的角色
- CREATE CLUSTER --建立聚簇
- CREATE PROCEDURE --建立過程
- CREATE SEQUENCE --建立序列
- CREATE TABLE --建表
- CREATE TRIGGER --建立觸發(fā)器
- CREATE TYPE --建立類型
3. DBA 角色
擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫(kù)結(jié)構(gòu),并且系統(tǒng)權(quán)限也需要DBA授出,且DBA用戶可以操作全體用戶的任意表,包括刪除;DBA權(quán)限同樣需要被賦予,賦予的方式是進(jìn)入system下,給指定的用戶賦予dba權(quán)限,否則無(wú)法正常登陸!
三、Oracle常用數(shù)據(jù)類型介紹
| 數(shù)據(jù)類型 | 描述 |
|---|---|
| varchar | 字符串(被淘汰) |
| varchar2 | 字符串(推薦、常用) |
| NUMBER | NUMBER(n)表示一個(gè)整數(shù),長(zhǎng)度為n;NUMBER(m,n)表示一個(gè)小數(shù),總長(zhǎng)度為m,小數(shù)位數(shù)是n,整數(shù)位數(shù)是m-n |
| DATA | 日期 |
| CLOB | 大對(duì)象,大數(shù)據(jù)文本類型,可存4G |
| BLOB | 大對(duì)象,二進(jìn)制數(shù)據(jù),可存4G |
四、 PLSQL客戶端工具中文亂碼問題的解決
- 查看服務(wù)器端編碼
select userenv('language') from dual;
-- 我實(shí)際查到的結(jié)果為: AMERICAN_AMERICA.ZHS16GBK
- 執(zhí)行語(yǔ)句
select * from V$NLS_PARAMETERS
查看第一行中PARAMETER項(xiàng)中為NLS_LANGUAGE 對(duì)應(yīng)的VALUE項(xiàng)中是否和第一步得到的值一樣。如果不是,需要設(shè)置環(huán)境變量.否則PLSQL客戶端使用的編碼和服務(wù)器端編碼不一致,插入中文時(shí)就會(huì)出現(xiàn)亂碼.
3.設(shè)置環(huán)境變量
計(jì)算機(jī)->屬性->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量->新建
設(shè)置變量名: NLS_LANG
變量值:第1步查到的值,我的是: AMERICAN_AMERICA.ZHS16GBK
- 重新啟動(dòng)PLSQL,插入數(shù)據(jù)正常